|||
图39-2
在运行各列信号进行瞬时频率估计时,忽然发现有一列信号的瞬时频率右端部有很大的突变,见图39-3、图39-4。这显然是一种端点效应。
图39-3
图39-4
我已经做了信号延拓工作,为什么还有端点效应呢?我的信号延拓是在综合振幅(综合切包络线)函数comprehensive_amplitude( x )中进行的,输出时截断至原信号长度。在瞬时频率估计中就没再做信号延拓。估计就是这个原因造成的。于是取消函数comprehensive_amplitude( x )中的信号延拓,改在瞬时频率估计程序中进行。最终的结果见下图,端点效应没有了。
图39-5
但是在另一列信号中,信号延拓位置的改变,对瞬时频率的端点效应的影响却不是太大。见图39-6、图39-7、图39-8。
图39-6
图39-7
图39-8
这个我分析是信号延拓的“质量”不好,在原信号与延拓信号的连接处不够光滑造成的。在博文
《34、(四)信号延拓_基于IMF自身的瞬时频率估计》的
“2、调用上述函数,并将待分析的IMF原函数左、右两个端点分别“混入”上面左、右极值点中”中,
只采用了左、右两个端点作为样条插值函数中的已知数据点。现在将原信号左右端部各3点共6点作为样条插值函数中的已知数据点,进行信号延拓。使用此信号延拓函数进行的瞬时频率估计,结果见下图。可见端点效应已经最大程度地被抑制了。下药对症!
图39-9
至此,程序运行中所能碰到的所有问题都已解决。当然,无法百分百地保证将来不会碰到任何新问题,但至少目前已经顺利运行了几十列信号,都没有问题。将程序以文件名instantaneous_physical(瞬时物理量)保存为函数文件。调用格式
[ tamp tf phase y ] = instantaneous_physical( x )
中,输入x是单分量IMF,输出tamp是瞬时振幅,tf是瞬时频率,phase是瞬时相位,y是复信号虚部。
需要说明的一点是,这里由x、y组成的复信号x+j*y是所谓基带信号,不再是解析信号了。只要有了一列IMF,等于同时拥有了与之对应的瞬时振幅、瞬时频率、瞬时相位与基带信号。这个方法,从技术层面上来讲,信号信息的损失几近于0。如果结果不够准确,其原因也大多产生在信号处理的其它阶段。
将此函数代替《32、(二)时频连续_基于IMF自身的瞬时频率估计》程序中的函数[ a f y] = afyimf( x ),所得各IMF分量瞬时频率如下4图:
图39-10 imfMBrd各分量瞬时频率
图39-12 imf_TW486012各分量瞬时频率
图39-13 imf_TW486012各分量瞬时频率
可见瞬时频率曲线较《32、(二)时频连续_基于IMF自身的瞬时频率估计》中曲线光滑得多。
基于IMF自身的瞬时频率估计现在完成了,心中有点感叹。这个方法,道理很简单,为什么没有人做? 我觉得主要是人们思维习惯造成的。几十年来,Hilbert先生对人们的影响实在是太大了,一提到瞬时频率,几乎无人不立刻想到Hilbert变换、解析信号等。连思想极其活跃开放的黄院士,一发明EMD,便立刻将其与之挂上了钩,提出了HHT。虽然信号处理基本理论已经说明,解析信号的主要作用是用来作数学分析,实际得到它是很困难的。matlab中的hilbert()函数,我觉得主要是用来求高频窄带信号的解析信号,对低频信号,所求得的解析信号是很不准确的。而EMD,要将原信号分解到最低频的频率分量。因此,用解析信号法求各IMF的瞬时频率,先天理论上就有缺陷。
有了本人所编的instantaneous_physical程序,HHT这个名词可以送进历史博物馆了。要不就改成HBT吧,让俺“蚂蟥叮上鹭鸶腿”,也尝尝名扬天下的滋味,哈!
(本文首发于:http://blog.sina.com.cn/s/blog_6ad0d3de01017b3r.html
首发时间:2012-07-11 23:22:57)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 14:33
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社