快速傅里叶变换分析信号频谱matlab程序

作者:清风拂面 | 创建时间: 2023-03-27
快速傅里叶变换分析信号频谱matlab程序

简介

快速Fourier变换(FFT)是离散傅里叶变换的快速算法,他是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。

操作方法

假设数据采集频率为1000Hz,一个信号包含频率为50Hz、振幅为0.7的正弦波和频率为120Hz、振幅为1的正弦波,噪声为零平均值的随机噪声,用FFT方法分析其频谱方法Matlab程序如下:

Matlab程序:

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)|')

计算结果为:

点击展开全文

更多推荐