前言
信号频谱分析是将信号强度按频率展开,研究其构成频率及振幅变化规律的技术。通过分析信号中各正弦波成分的频率分布,揭示信号在频域的特性。
一、窗函数
窗函数本质上是一个有限长度的序列,通常用于将无限长的信号截断为有限长度的信号。在频谱分析中,由于计算机或其他设备只能处理有限长度的信号,因此需要使用窗函数对信号进行截断处理。窗函数的形状和特性会影响信号在频域中的表现。本文使用切比雪夫窗,Chebyshev窗的主瓣宽度最小,具有等波动性。
二、频谱图
频谱图就是横坐标是信号的频率,纵坐标表示每个频率下的强度,通过频谱图可以分析信号的主要频率成分,在信号分析领域是非常有用的信号分析手段。matlab在科学研究中受很大欢迎,由于其实现便捷性,在信号处理中经常使用matlab实现相关算法。
三、代码示例(matlab)
function res=plotfftAnalysis_SignalWin(sig,Fs,figno)
win_cheb = chebwin(length(sig));
y1 = win_cheb.*sig;
Yfft1 = fft(y1);
signalLen = length(y1);
P2 = abs(Yfft1./signalLen);
P1 = P2(1:signalLen/2+1);
P1(2:end-1) = 2P1(2:end-1);
res = P1;
freq1 = Fs/signalLen<