|||
上篇博文谈“切包络线”,文末用此“切包络线”求了信号“切包络线综合振幅”。但那个方法是未经过深思熟虑的方法、经过几次实际运行,就知道是不行的。原因在于:当信号为低频IMF时,信号取绝对值后,原极大值仍是极大值,原极小值变成极大值;但当信号为高频IMF、特别是那种在两个极值点之间振荡的IMF时,情况就不一样了。信号取绝对值后,极大值不一定还是极大值,极小值也不一定变成极大值。见图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分量延拓后综合切包络线及其切点、极值点')
运行,得:
x=imfMBrd(i,:),分别再令i=4、7、10、13,并改变坐标轴显示范围,重复运行上面的程序,作图如下。这次将功折罪,多运行几列信号,多截几张图吧。
可见包络线都没有问题,既与信号相切,又严格对称。
至此,我们已经知道了,对信号可以作出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)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 03:47
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社