FFT点数补零对结果的影响

Posted 者乎之类的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FFT点数补零对结果的影响相关的知识,希望对你有一定的参考价值。

增加点数可提高分辨率(比如之前3Mhz与3.05MHz的频率分辨不出来,增加点数可分辨出来),补零,时域补零相当于频域插值。

clear all; clc; close all;
 
fs=200;                            % 采样频率
f1=30; f2=65.5;                    % 两信号频率
N=256;                             % 信号长度
n=1:N;                             % 样点索引
t=(n-1)/fs;                        % 时间刻度
x=cos(2*pi*f1*t)+cos(2*pi*f2*t);   % 信号
 
X1=fft(x);                         % 按N点进行FFT
freq1=(0:N/2)*fs/N;                % N点时正频率刻度
X1_abs=abs(X1(1:N/2+1))*2/N;       % 信号幅值
 
L=2*N;                             % 补零后FFT长度
X2=fft(x,L);                       % 按L长进行FFT
freq2=(0:L/2)*fs/L;                % L点时频率刻度
X2_abs=abs(X2(1:L/2+1))*2/N;       % 信号幅值

N=512;                             % 信号长度
n=1:N;                             % 样点索引
t=(n-1)/fs;                        % 时间刻度
x=cos(2*pi*f1*t)+cos(2*pi*f2*t);   % 信号
X3=fft(x);  
freq3=(0:N/2)*fs/N;                % N点时正频率刻度
X3_abs=abs(X3(1:N/2+1))*2/N;       % 信号幅值
% 作图
subplot 311; plot(freq1,X1_abs,'k'); 
grid; ylim([0 1.2]);
xlabel('频率/Hz'); ylabel('幅值');
title('(a) 

以上是关于FFT点数补零对结果的影响的主要内容,如果未能解决你的问题,请参考以下文章

FFT点数补零对结果的影响

补零插值后FFT变换的影响以及频率分辨率的理解

信号频率、采样频率、采样点数

FFT频谱分析(补零频谱泄露栅栏效应加窗细化频谱混叠),MatlabC语言代码

使用 Matlab FFT 计算的频谱对于不同长度的样本(点数相同但 Fs 不同)给出的结果不一致?

求教matlab FFt变换 几个问题