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频谱分析(补零频谱泄露栅栏效应加窗细化频谱混叠),MatlabC语言代码