matlab怎么让fft变换结果不是复数?
rt,本人菜鸟一只,因为处理数据需要用到fft变换。对需要处理的数据直接用fft(x);结果全部是复数。。。怎么让它正常一点.....
rt,本人菜鸟一只,因为处理数据需要用到fft变换。
对需要处理的数据直接用fft(x);结果全部是复数。。。怎么让它正常一点.. 展开
对需要处理的数据直接用fft(x);结果全部是复数。。。怎么让它正常一点.. 展开
2个回答
展开全部
楼上的回答用real是可以得到实数,但是也失去了变换后的虚数部分,这样变化后包含的信息在real后也就丢失了。傅里叶变换的本质是从时域到频域的一个变换,而频域的信息是在实部与虚部两者之间的,丢掉了一部分不如不变换,无法达到最终变换的目的。。
正确的处理方法是弄懂实部与虚部所代表的含义,可以看看欧拉公式,如果看实用的话,这个复指数的[(实部)^2+(虚部)^2]^(1/2)位该频率点对应的频谱幅值,该点所对应的频率为f=(K-1)Fs/N,其中N为采样点数,Fs为采样频率,这在你的程序中应该是有的,否则你怎么变换呢?
正确的处理方法是弄懂实部与虚部所代表的含义,可以看看欧拉公式,如果看实用的话,这个复指数的[(实部)^2+(虚部)^2]^(1/2)位该频率点对应的频谱幅值,该点所对应的频率为f=(K-1)Fs/N,其中N为采样点数,Fs为采样频率,这在你的程序中应该是有的,否则你怎么变换呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询