科学网

 找回密码
  注册

tag 标签: 频率突变

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

39、(八)圆满收官_基于IMF自身的瞬时频率估计
baishp 2012-12-2 15:16
39、(八)圆满收官_基于IMF自身的瞬时频率估计
在上篇博文的图38-14中,很容易看到,对应于原信号的每一个切点处,瞬时频率都有一个小小的突变。放大x轴,可以看到突变范围都在切点及切点左右各一点共3点内。从图38-11、图38-15中可以看得很清楚。这是由于反余弦函数在1、-1点处的高度非线性造成的,当然属于信号处理过程中所产生的“虚假信息”,而不是信号本身所含有的信息。本人既然号称要追求连续光滑的瞬时频率估计,那就要一不做二不休,精益更求精。线性插值后,图38-14、图38-15的变化见下面图39-1、图39-2。 图39-1 图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(瞬时物理量)保存为函数文件。调用格式 = instantaneous_physical( x ) 中,输入x是单分量IMF,输出tamp是瞬时振幅,tf是瞬时频率,phase是瞬时相位,y是复信号虚部。 需要说明的一点是,这里由x、y组成的复信号x+j*y是所谓基带信号,不再是解析信号了。只要有了一列IMF,等于同时拥有了与之对应的瞬时振幅、瞬时频率、瞬时相位与基带信号。这个方法,从技术层面上来讲,信号信息的损失几近于0。如果结果不够准确,其原因也大多产生在信号处理的其它阶段。 将此函数代替《32、(二)时频连续_基于IMF自身的瞬时频率估计》程序中的函数 = afyimf( x ),所得各IMF分量瞬时频率如下4图: 图39-10 imfMBrd各分量瞬时频率 图39-11 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)
个人分类: 斤斤计较|3580 次阅读|0 个评论
31、(一)根本思路_基于IMF自身的瞬时频率估计
baishp 2012-11-30 14:37
31、(一)根本思路_基于IMF自身的瞬时频率估计
前文说了我对学界既有的瞬时频率估计方法的失望,虽然我并没有将所有的那些方法都试遍,但我已经没有信心与耐心仔细去研究它们了,以后有时间、有心情时再去慢慢详细了解吧。现在我打算抛开一切“高深的”理论,从EMD当中所得到的基本物理量,根据瞬时频率最原始的含义,即各时间点上信号源转动的角度,来估计瞬时频率。 众所周知,EMD之所以叫EMD(经验模式分解),是因为它最初并不是基于一种理论推导,而是基于这种分解过程所具有的物理意义被世人所公认,而每一组分解结果都能够经受理论的检验(各IMF之间的正交性)。因此上面我打算采用的瞬时频率估计法,是EMD的一以贯之、很自然的延伸。姑且可称之为“基本模式估计法” 这种方法的关键,在于要明白、承认,IMF的包络线,其实就是信号的瞬时振幅(振幅函数);而IMF是瞬时振幅在实轴上的投影;某时刻IMF值与IMF包络线值之比,就是该时刻瞬时相位的余弦值。有了瞬时相位,通过相位差分即得到瞬时频率;通过振幅、相位,还可以求出振幅在虚轴上的投影,从而得到IMF对应的复数函数。 IMF的包络线有两条,哪一条是IMF的瞬时振幅呢?从理论上来说,IMF的两条包络线的均值为0,两条包络线是完全对称的,因此两条包络线的绝对值是相等的,都等于IMF的瞬时振幅。但在实际处理时,由于两条包络线不可能做到绝对对称,所以还是应该分别处理。在复平面上,当信号源运行在1、4象限时,IMF由上包络线在实轴上的投影形成;当信号源运行在2、3象限时,IMF由下包络线在实轴上的投影形成。因此,瞬时振幅应该根据IMF的情况由上下包络线分段组成。下面就根据这个原则来求IMF的瞬时振幅、瞬时频率等。 下面imfMBrd含义见前两篇博文。 x=imfMBrd(11,:);%先任取imfMBrd的一个分量 lx=length(x); zs=zeros(1,lx); = extr(x);%求极值点、 = cenvelope(x,1);%求包络线及其均值 envb=env(1,:);%将负包络线提取出来 enva=env(2,:);%将正包络线提取出来 fg1=figure(1); set(fg1,'position', ); w=0.04; W=0.94; h=0.04; d=0.003; h1=h+0.75-3*d; h2=h+0.50-2*d; h3=h+0.25-d; h4=h; H=0.18; sb1=subplot(4,1,1); set(sb1,'position', ); plot(x,'r-') hold on plot(envb,'g--') plot(enva,'b--') plot(envmoy,'m--') plot(zs,'k-') grid title('分析信号及其包络线') xlim( ) c41=(x0); c23=(x0); dx=diff(x); dx1= ; dx2= ; dx=(dx1+dx2)/2; c12=(dx0); c34=(dx0); c1=c41.*c12; c2=c23.*c12; c3=c23.*c34; c4=c41.*c34; sb2=subplot(4,1,2); set(sb2,'position', ); stem(c1,'.b-') hold on stem(c2,'.r-') stem(c3,'.g-') stem(c4,'.m-') grid title('四象限掩码') xlim( ) x1=x.*c1; x2=x.*c2; x3=x.*c3; x4=x.*c4; sb3=subplot(4,1,3); set(sb3,'position', ); stem(x1,'.b-') hold on stem(x2,'.r-') stem(x3,'.g-') stem(x4,'.m-') grid title('经掩码作用后的分析信号') xlim( ) aenvb=abs(envb); aenva=abs(enva); tampb=c23.*aenvb; tampa=c41.*aenva; tamp=tampa+tampb;%瞬时振幅 sb4=subplot(4,1,4); set(sb4,'position', ); stem(tampb,'.g-') hold on stem(tampa,'.b-') plot(tamp,'k-') grid title('经掩码作用后的瞬时振幅') xlim( ) 运行,得: 图31-1 下面求瞬时相位、瞬时频率与复信号虚部。 运行,得: 图31-2 从图31-2的第3个子图可以看到,所估计的“瞬时频率”没有前几篇博文中所提到的“跳变”。图中也有一些类似“线谱”一样,或者说象两根“门柱”一样高高耸立的频率成分,但它们是处在同一数量级下的变化,与以前所讲的由接近“0Hz”的负频变成接近“0.5Hz”的正频,性质截然不同的。为了与以前的“频率跳变”相区别,我就将此处的频率变化称之为“频率突变”吧。 此“频率突变”是由于分析信号与它的包络线相割造成的。包络线以外部分,由于信号、包络线之比值绝对值大于1,反余弦无意义,所以被强制等于1与-1,反余弦值(瞬时相位)为0与0.5*2*pi,两割点之间部分,瞬时频率等于0;两割点之外靠近割点处,瞬时频率即形成“突变”。 虽然“频率突变”是频率在同一数量级下的变化,但它毕竟还是人为造成的,不是信号本身的属性,因此也是不完全符合我预期的目标的。我希望的瞬时频率估计值,更加连续光滑。 这一篇就暂到这里,相关问题后面继续分析。 (本文首发于: http://blog.sina.com.cn/s/blog_6ad0d3de01016f0a.html 首发时间:2012-06-10 19:35:44)
个人分类: 斤斤计较|3701 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-25 18:36

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部