希尔伯特变换与瞬时频率
希尔伯特变换仅对单分量信号估计信号的瞬时频率。单分量信号在时频平面上用一个“脊”来描述。单分量信号集包括单正弦信号和像啁啾这样的信号。
产生一个啁啾采样在1千赫两秒。指定啁啾,使其频率最初为100hz,一秒钟后增加到200hz。
Fs = 1000;T = 0:1/fs:2-1/fs;Y = chirp(t, 100,1200);
利用短时间傅里叶变换实现了对啁啾谱图的估计pspectrum
函数。信号可以用每个时间点上的单峰频率很好地描述。
pspectrum (y, fs,的谱图)
计算分析信号并微分其相位,测量瞬时频率。缩放后的导数得到一个有意义的估计。
Z = hilbert(y);Instfrq = fs/(2*pi)*diff(unwrap(angle(z)));CLF plot(t(2:end),instfrq) ylim([0 fs/2])
的instfreq
函数一步计算并显示瞬时频率。
instfreq (y, fs,“方法”,希尔伯特的)
当信号不是单分量时,该方法失效。
生成频率为60hz和90hz的两个正弦波的和,以1023hz采样两秒。计算并绘制光谱图。每个时间点都显示了这两个组件的存在。
Fs = 1023;T = 0:1/fs:2-1/fs;X = sin(2* *60*t)+sin(2* *90*t);pspectrum (x, fs,的谱图)蜱虫([60 90])
计算分析信号并求导其相位。放大包围正弦波频率的区域。解析信号预测的瞬时频率是正弦波频率的平均值。
Z = hilbert(x);Instfrq = fs/(2*pi)*diff(unwrap(angle(z)));Plot (t(2:end),instfrq) ylim([60 90]) xlabel(“时间(s)”) ylabel (的频率(赫兹))
的instfreq
函数也估计平均值。
instfreq (x, fs,“方法”,希尔伯特的)
要估计两个频率作为时间的函数,请使用光谱图
求功率谱密度和tfridge
来追踪这两个山脊。在tfridge
,指定改变频率的惩罚为0.1。
[s,f,tt] = pspectrum(x,fs,的谱图);Numcomp = 2;[冰箱,~,lr] = tfridge(s,f,0.1,“NumRidges”, numcomp);pspectrum (x, fs,的谱图)举行在plot3 (tt、冰箱、abs (s (lr)),“线宽”, 4)从yticks ([90])