快速傅里叶变换分析信号频谱matlab程序
简介
- 01
快速Fourier变换(FFT)是离散傅里叶变换的快速算法,他是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。
操作方法
- 01
假设数据采集频率为1000Hz,一个信号包含频率为50Hz、振幅为0.7的正弦波和频率为120Hz、振幅为1的正弦波,噪声为零平均值的随机噪声,用FFT方法分析其频谱方法Matlab程序如下:
- 02
Matlab程序:
- 03
clear Fs = 1000; % 采样频率 T = 1/Fs; % 采样时间 L = 1000; % 信号长度 t = (0:L-1)*T; % 时间向量 x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); y = x + 2*randn(size(t)); % 加噪声正弦信号 plot(Fs*t(1:50),y(1:50)) title('零平均值噪音信号'); xlabel('time (milliseconds)') NFFT = 2^nextpow2(L); % Next power of 2 from length of y Y = fft(y,NFFT)/L; f = Fs/2*linspace(0,1,NFFT/2); plot(f,2*abs(Y(1:NFFT/2))) title('y(t)单边振幅频谱') xlabel('Frequency (Hz)') ylabel('|Y(f)|')
- 04
计算结果为:
赞 (0)