作业帮 > 综合 > 作业

matlab中FFT函数的疑问

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/02 18:43:54
matlab中FFT函数的疑问
在信号的频域转化时
y=fft(x,n);
plot(f,abs(y));
其中N的取值怎么取?一般取512吗?
还有f的具体含义以及它的取值问题,
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显示的长度可以任取.