4

请参阅 和 的fftshift描述ifftshift。我想了解如何在 Matlabfft中调用上述两个函数。fftn

假设我的信号具有一定的频率成分;现在,频率数组通常可以存储为:

f = (-N/2:N/2-1)*df;

f = (1:N)*(df/2);

f = [(0:N/2-1) (-N/2:-1)];

对于前面提到的 3 个研究案例,fft最好fftshift的调用方式是什么?ifftshift

调用命令序列或错误命令对信号的标准偏差有什么影响?

4

2 回答 2

7

的结果fft是(用你的符号表示) indices (0:N-1)fftshift只需将其转换为[(N/2:N-1) (0:(N/2-1))]. * ifftshift只是恢复原始索引。

由于这只是对样本重新排序,因此对标准偏差没有任何影响。


* 请注意,由于周期性,samplek等价于 samplek+Nk-N等。

于 2013-02-26T22:05:52.867 回答
0

Matlab 文档简直就是在扼杀它。但实验表明

ifftshift([1 2 3 4 5])

答案=

 3     4     5     1     2

fftshift([1 2 3 4 5])

答案=

 4     5     1     2     3

它只是在神奇的 DFT 位置 [N/2] 周围交换。在 matlab 中实现的 FFT 使用通常的索引 (0:N-1)。据我了解,如果您的设置是不在 (0:N-1) 中的离散函数,则这是准备输入 DFT 的额外功能...

于 2015-11-16T21:57:28.300 回答