matlab中FFT函数的疑问

在信号的频域转化时y=fft(x,n);plot(f,abs(y));其中N的取值怎么取?一般取512吗?还有f的具体含义以及它的取值问题,谢谢啦~... 在信号的频域转化时
y=fft(x,n);
plot(f,abs(y));
其中N的取值怎么取?一般取512吗?
还有f的具体含义以及它的取值问题,谢谢啦~
展开
 我来答
hbchifan
2012-05-11 · TA获得超过333个赞
知道答主
回答量:26
采纳率:0%
帮助的人:38.5万
展开全部
n要取最接近数据长度的2的整数次方,命令是2^nextpow2(N),其中N是实际数据长度,因为这样的n可以使fft更快。比如,N=1021,执行n=2^nextpow2(N)后,n=2^10=1024。而你说的512也是这个道理。
f为表示频率的横轴,它的长度必须和abs(y)的长度相等,它们都是在图形上显示的长度。比如,f显示n的一半,abs(y)也要取n的一半:plot(f(1:n/2),Y(1:n/2)),其中Y=abs(y)。
注意:做fft的数据长度是整个的数据长度,plot显示的长度可以任取。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式