中医现代化研究分享 http://blog.sciencenet.cn/u/baishp 当你们都还在想象时,我已经在路上了。这注定是一场一个人的战争吗?

博文

36、(六)四种包络_基于IMF自身的瞬时频率估计

已有 4778 次阅读 2012-11-30 16:37 |个人分类:斤斤计较|系统分类:论文交流| 包络线, 瞬时频率估计, 瞬时振幅, 切点, 相切

 

    上篇博文谈“切包络线”,文末用此“切包络线”求了信号“切包络线综合振幅”。但那个方法是未经过深思熟虑的方法、经过几次实际运行,就知道是不行的。原因在于:当信号为低频IMF时,信号取绝对值后,原极大值仍是极大值,原极小值变成极大值;但当信号为高频IMF、特别是那种在两个极值点之间振荡的IMF时,情况就不一样了。信号取绝对值后,极大值不一定还是极大值,极小值也不一定变成极大值。见图36-1。

    图36-1

 

    既然极值点的极值属性都不能得到保障,那么以极点包络线为基础求切包络线,当然就行不通了。那个方法既然已经写成博文,就不删除了,作为研究历程保留放那吧。

 

    下面是求“综合切包络线”(即“切包络线综合振幅”)可行的方法步骤:

 

1、将信号两端延拓;

 

2、求延拓后信号极大、极小值点;

 

3、将上述极小值点取绝对值,并与极大值“混编、排序”,得信号“综合极值点”。

 

4、对上述“综合极值点”作样条插值,得“综合极点包络线”,它也是信号“上综合极点包络线”。 本博中二名词含义相同。

 

5、将上述“综合极点包络线”取负,得“下综合极点包络线”。

 

6、将信号分别减去“上、下综合极点包络线”,分别得上、下“络基信号”;

 

7、分别求上下“络基信号”的极大值与极小值;

 

8、分别去除上述极大值与极小值点中,小于、大于“上、下综合极点包络线”的极大值与极小值,剩下来的极大值与极小值,就是阶段性上下切点;

  

9、将上述阶段性下切点代替上面步骤“3”中的极小值点,上切点代替极大值点,重复至步骤“8”;

 

10、将“步骤8”所得阶段性上下切点,与上次所得阶段性上下切点进行比较。如果不完全相同,则重复步骤“9->3->4->5->6->7->8”;如果完全相同,则停止循环;

 

11、将步骤“8”最后所得上、下切点对应的“综合切点包络线”,截去两端延拓部分,就是最后得到的信号的“综合切包络线”。

 

12、去除最后步骤“8”所得上、下切点中,位于信号两端延拓部分中的上下切点,剩下来的就是原分析信号上下切包络线的上、下切点。

 

 根据上面算法编制程序

[ tenvb,tenva,tpoib,tpoia ] = comprehensive_amplitude( x )

x是待分析输入IMF,输出tenvb,tenva,tpoib,tpoia分别为“下综合切包络线”、“上综合切包络线”、“下切点”、“上切点”。

 

    作图看看:

 

x=imfMBrd(1,:),

[ tenvb,tenva,tpoib,tpoia ] = comprehensive_amplitude( x );

 

   (为作图方便,上面输出全部临时改为截去信号延拓部分之前对应的变量。)

 

%下面是为了绘图而重复运行上面函数内指令

[tl,t,tr,xl,x,xr] = signal_extension(x);

lxr=[xl,x,xr];
ltr=[tl,t,tr];

llxr = length(lxr);
ttt=1:llxr;
zs=zeros(1,llxr);

[indmin, indmax, indzer] = extr(lxr);%

%上面是为了绘图而重复运行

 

fg1=figure(1);
set(fg1,'position',[50,250,1050,700])
set(gca,'position',[0.035,0.07,0.95,0.88]);


plot(t,x)
hold on%
plot(tl,xl,'r-')%
plot(tr,xr,'r-')%

 

plot(ltr,tenva,'k--')%
plot(ltr,tenvb,'k--')%

 

plot(indmin+tl(1)-1,lxr(indmin),'ko')%%
plot(indmax+tl(1)-1,lxr(indmax),'ko')%%

plot(tpoib+tl(1)-1,lxr(tpoib),'.k')%
plot(tpoia+tl(1)-1,lxr(tpoia),'.k')%

 

plot(ltr,zs,'k-.')

axis([tl(1)-5,60,-6,6])%

title('imfMBrd之1分量延拓后综合切包络线及其切点、极值点')

 

    运行,得:


    图36-2

 

     x=imfMBrd(i,:),分别再令i=4、7、10、13,并改变坐标轴显示范围,重复运行上面的程序,作图如下。这次将功折罪,多运行几列信号,多截几张图吧。

图36-3

    图36-4

 



    图36-5

    图36-6


    可见包络线都没有问题,既与信号相切,又严格对称。

 

    至此,我们已经知道了,对信号可以作出4种包络线。分别简述如下:

 

1、极点包络线,或称“极值点包络线”,简称“包络线”,就是传统的、EMD当中用来进行迭代运算求取IMF的包络线。适用于任意信号。

 

2、综合极点包络线,或称“综合极值点包络线”,就是在我的博文“33、(三)综合极点_基于IMF自身的瞬时频率估计”文末求取过的包络线。它将大小极值点统一取绝对值后,再作样条插值求包络线。当时把它叫“综合振幅”或“综合包络线”,现在看来这样叫不够准确。它只适用于IMF。

 

3、切包络线,或称“切点包络线”。就是上篇博文中所求包络线。适用于任意信号。

 

4、综合切包络线,或称“综合切点包络线”。由于它就是我所要求的IMF瞬时振幅,,所以我以后也可以把它叫做“切包络线综合振幅”,或简称“综合振幅”、“IMF瞬时振幅”。它只适用于IMF。 

 

    关于信号包络线问题就研究到这里。后面该用它来求信号瞬时频率了。

 

 

(本文首发于:http://blog.sina.com.cn/s/blog_6ad0d3de0101700a.html

首发时间:2012-06-30 13:47:40)

 



https://blog.sciencenet.cn/blog-825323-637881.html

上一篇:35、(五)切包络线_基于IMF自身的瞬时频率估计
下一篇:38、(七)相应问题_基于IMF自身的瞬时频率估计
收藏 IP: 14.153.189.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

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

GMT+8, 2024-5-31 02:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部