wavridge.m

来自「小波脊中单脊提取与多脊提取的程序」· M 代码 · 共 33 行

M
33
字号
 %单脊提取
clc;
clear all;
a(1)=25;
Te=0.001;
t=0:0.001:1;
s=cos(2*pi*(30*(t.^2)+40*t));  %改了一下原信号
%s=hilbert(s);
%hudu=4*pi;
%用morlet小波进行分析;
kk=length(t);
k=0;
aa=0;
bb=0;
w0=2*pi;  %cmor2-1小波的中心频率为2pi
for j=2:kk
    while 1
        wa=cwt(s,a(1),'cmor2-1');   
        fai=angle(wa);
        fai=unwrap(fai);
        dfa=abs(fai(j)-fai(j-1));
        a0=w0*1/dfa;
        if abs((a0-a(1))/a(1))<0.02  %阈值不宜过小
            ar(j-1)=a(1);
            a(1)=a0;
            break;
        end
        a(1)=a0;
    end
end
f=1./(ar*Te);
plot(t(1:kk-1),f); 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?