• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: Matlab
  • 标签: SSWT  

资源简介

混沌信号是用龙格库塔方法产生的,自己编写的同步挤压小波变换程序用以分离正余弦函数/ECG信号的混沌干扰

资源截图

代码片段和文件信息

%% Generating chaotic signals产生混沌信号
% Duffing x‘‘+cx‘-f^2*x+d*x^3=P*cos(f*t);
L=10000;
h=0.04;      %step
f0=0.2;c=0.05;d=1;f=2;P=10;
Fs=10;
u=zeros(1L);
v=zeros(1L);
% 二阶微分方程的四阶龙格库塔方法
for i=1:L-1
    k1=v(i);
    l1=-c*v(i)+f0^2*u(i)-d*u(i)^3+P*cos(f*i/10);
    k2=v(i)+1/2*h*k1;
    l2=-c*(v(i)+1/2*h*l1)+f0^2*(u(i)+1/2*h*l1)-d*(u(i)+1/2*h*l1)^3+P*cos(f*(i/Fs+h/2));
    k3=v(i)+1/2*h*k2;
    l3=-c*(v(i)+1/2*h*l2)+f0^2*(u(i)+1/2*h*l2)-d*(u(i)+1/2*h*l2)^3+P*cos(f*(i/Fs+h/2));
    k4=v(i)+h*k3;
    l4=-c*(v(i)+h*l3)+f0^2*(u(i)+h*l3)-d*(u(i)+h*l3)^3+P*cos(f*(i/Fs+h));
    u(i+1)=u(i)+h*(k1+2*k2+2*k3+k4)/6;
    v(i+1)=v(i)+h*(l1+2*l2+2*l3+l4)/6;
end
cha=u(round(L/2):L);
figure(1);


%% input signals 给输入信号加入混沌干扰
t=0:1/Fs:(length(cha)-1)/Fs;
m=sin(3*t)+cos(5*t);
% [data1Fstim]=rdsamp(‘mitdb/100‘[]length(cha));
% t=0:1/Fs:(length(cha)-1)/Fs;
% data2=data1(:1)‘;
% m=data2;
f=m+cha;
subplot(311);
plot(tcha);
title(‘e‘);
subplot(312);
plot(tm);
title(‘m‘);
subplot(313);
plot(tf);
title(‘m+e‘);

%% CWT
figure(2);
W_ab=cwt(f1:200‘db1‘‘plot‘);
title(‘Th

评论

共有 条评论

相关资源