记录一下matlab
中的fftshift
的c语言实现思路(不一定是最好的方法,仅供参考),有时间了复现一下,下面是一个矩阵经过fftshift
后的结果
它可以理解为先对每一行进行fftshift
,然后对每一列进行fftshift
,首先对每一行fftshift
结果为:
注:对一个一维数组进行fftshift,如果元素为偶数个则顺序对调即可,如果为奇数则将中间元素取主,然后后面元素顺序向前移动一位,然后顺序对调,最后将中间元素补到最后的位置即可。
4 5 1 2 3
9 10 6 7 8
14 15 11 12 13
19 20 16 17 18
24 25 21 22 23
接着对每一列进行fftshift
结果如下。
17 20 16 17 18
24 25 21 22 23
4 5 1 2 3
9 10 6 7 8
14 15 11 12 13