当前位置:   article > 正文

基于ITD的特征提取_itd算法

itd算法

      HHT的过程本征模态分解EMD存在严重的端点效应,分解过程需要多次迭代运算,运算量大、效率低;且产生一些原信号中不存在的频率成分,显示信号动态性方面存在不足,这些都影响了该方法在SEI中的效果。

       FREI等提出了固有时间尺度分解(ITD, intrinsic time-scale decomposition)算法,该方法克服了EMD在信号边界和计算效率上的缺点,通过对信号自适应划分,得到若干个有实际意义的信号分量,有效提升时频分析的效率与精度,更适合非平稳信号的分析。

  固有时间尺度分解算法将原始信号分解为一系列旋转信号分量与一个基线信号分量,通过对每层信号分量暂态信息的计算,得到原始信号精确的时频信息。其过程可描述为对于实信号 X_{t},定义低频基线信号提取算子L与旋转分量提取算子H,使

其中,L_{t}=LX_{t}是一个基线信号,代表信号中的低频部分,H_{t}=HX_{t}为旋转信号分量,代表信号中的高频部分。用\left \{ \tau _{k},k=1,2,3,\cdots \right \}表示实信号的极值点对应的坐标, 并设 \tau _{0}=0。若X_{t}在某些区间为常数,选择区间的右端点\tau _{k}作为极值点。为了便于表示,用 X_{k}和 L_{k}分别表示极值点 X(\tau _{k})L(\tau _{k})  。假设 L_{t} H_{t}在 \left [ 0,\tau _{k} \right ]有定义,且 X_{k}在 \left [ 0,\tau _{k+2} \right ]有定义。在相邻的极值区间 (\tau _{k},\tau _{k+1}]上可以定义基线信号为

其中,

  0<\alpha <1,通常取 \alpha =0.5。在 [0,\tau _{1}]进行信号分解,设定基线信号的初值 L_{0}=\frac{X_{0}+X_{1}}{2}信号分解为基线信号与旋转信号后,可将基线信号作为给定信号继续分解,直到所得基线信号为单调信号或者达到预设的最大分解层数。该过程可表示为​​​​​​​

        信号共进行了p层分解,其中 HL^kX_{t}为第K+1层的旋转分量,L^pX_{t}为基线信号。 

  1. function [H,L]=Itd4(x,n,err)
  2. % 将信号x进行ITD分解
  3. % n分解层数
  4. % err
  5. %--------------------------
  6. if nargin==1
  7. n=20;
  8. err=0.05;
  9. end
  10. if nargin==2
  11. err=0.05;
  12. end
  13. [tempH1,tempL]= ItdBaseDecomp4(x);
  14. H=[tempH1];
  15. for i=1:n-1
  16. [tempH,tempL]= ItdBaseDecomp4(tempL);
  17. H=[H;tempH];
  18. %----终止条件
  19. if dandiao(tempL)==1 %单调
  20. break;
  21. end
  22. if max(tempL)<err && abs(min(tempL))<err
  23. break;
  24. end
  25. end
  26. L=tempL;
  27. end
  28. function rlt=dandiao(xx)
  29. % 求是否单调函数
  30. x1=diff(xx);
  31. rlt=0;
  32. if all(x1>=0) || all(x1<=0)
  33. rlt=1;
  34. end
  35. end

 

图1 信号ITD分解结果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/291301
推荐阅读
相关标签
  

闽ICP备14008679号