作业帮 > 综合 > 作业

matlab中离散信号的FFT的输出可以是缺省的,输出FFT的点数就是数据的长度,如果写fft(x,N),

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 19:45:06
matlab中离散信号的FFT的输出可以是缺省的,输出FFT的点数就是数据的长度,如果写fft(x,N),
如果N大于x或小于x的长度都是可以的,请问程序是怎样做到这样的?
大于x的长度时就在x原数据后面补零,而补零不影响信号的分辨率,只是将频谱平滑处理,因为时域补零相当于频域插值;大于x的长度时就直接截取x数据中相应长度的元素.
再问: 小于x的长度的长度是怎样处理的呢?比如单个频率的正弦信号,我们知道其FFT几乎是只有两个点有值,小于x的长度是完全可以的,小于x的长度是怎样做到的呢??O(∩_∩)O谢谢!
再答: FFT只是个工具,至于要做几个点的FFT是由你来决定的。当N小于X的真实长度时结果并不一定保证正确。你的意思是不是为什么小于X的真实长度时FFT的结果仍然正确?这个一般在满足Nyquist采样定律的条件下采够一个周期的点数后都会给出正确的结果的。点数太少则FFT不一定能给出正确的结果。