呈中心对称的一组数据进行fft变换后的结果为什么是复数

学习 时间:2026-04-02 06:17:57 阅读:1810
呈中心对称的一组数据进行fft变换后的结果为什么是复数在matlab中我对一组长度为n的数据求了自相关函数,得出呈中心对称的2n-1个数据,再进行fft变换,得出的结果为什么还是复数?

最佳回答

开朗的项链

甜美的发带

2026-04-02 06:17:57

我明白你的意思,你的意思是说,根据傅里叶变换的性质,偶函数的傅里叶变换应该是只有实部的,但是 fft 出来的结果却还有虚数。对吧?其实,fft 函数认为你给入的信号时从0时刻开始的。那么我们来想想你的输入是不是“偶函数”,你直接将自相关函数放进去,肯定不是“偶函数”,你需要将对称轴放到0上。而你现在是将尾部的一个数放到0位置,这就会有时移,在频域上表现出的就是乘以相位因子,变成了复数。比如,你要是对[1 2 3 2 1]做傅里叶变换,那就是复数;实际你应该对[3 2 1 1 2]进行FFT。你可以试一下。 再问: 太感谢了!我明白了!我还有一个问题:自相关函数的傅里叶变换是功率谱密度,如果我用风速做自相关再进行快速傅里叶变换,得到的功率谱密度单位是什么,我看到网上好多程序,求出功率谱密度后再取对数乘以10,为什么呢? 再答: 这个我不太清楚,功率谱密度应该是功率/频率的单位。 求出功率谱密度后再取对数乘以10是换算成dB。

最新回答共有2条回答

  • 聪明的麦片
    回复
    2026-04-02 06:17:57

    我明白你的意思,你的意思是说,根据傅里叶变换的性质,偶函数的傅里叶变换应该是只有实部的,但是 fft 出来的结果却还有虚数。对吧?其实,fft 函数认为你给入的信号时从0时刻开始的。那么我们来想想你的输入是不是“偶函数”,你直接将自相关函数放进去,肯定不是“偶函数”,你需要将对称轴放到0上。而你现在是将尾部的一个数放到0位置,这就会有时移,在频域上表现出的就是乘以相位因子,变成了复数。比如,你要是对[1 2 3 2 1]做傅里叶变换,那就是复数;实际你应该对[3 2 1 1 2]进行FFT。你可以试一下。 再问: 太感谢了!我明白了!我还有一个问题:自相关函数的傅里叶变换是功率谱密度,如果我用风速做自相关再进行快速傅里叶变换,得到的功率谱密度单位是什么,我看到网上好多程序,求出功率谱密度后再取对数乘以10,为什么呢? 再答: 这个我不太清楚,功率谱密度应该是功率/频率的单位。 求出功率谱密度后再取对数乘以10是换算成dB。

上一篇 根据如图所示的程序计算,若输入x的值为3,则输入y的值为?

下一篇 some tea【 】 in the glass 中间【】 写be动词