%%%%%%%mallat algorithm%%%%%
clc;
clear;tic;
%%%%original signal%%%%
f=100;%%frequence
ts=1/800;%%抽样间隔
N=1:100;%%点数
s=sin(2*ts*pi*f.*N);%%源信号
figure(1)
plot(s);%%%源信号s
title('原信号');
grid on;
%%%%小波滤波器%%%%
ld=wfilters('db1','l');%%低通
hd=wfilters('db1','h');%%高通
figure(2)
stem(ld,'r');%%%低通
grid on;
figure(3)
stem(hd,'b')%%%高通
grid on;
%%%%%
tem=conv(s,ld);%%低通和原信号卷积
ca1=dyaddown(tem);%%抽样
figure(4)
plot(ca1);
grid on;
tem=conv(s,hd);%%高通和原信号卷积
cb1=dyaddown(tem);%%抽样
figure(5)
plot(cb1);
grid on;
%%%%%%%%
%[ca3,cb3]=dwt(s,'db1');%%小波变换
%%%%%%%%
[lr,hr]=wfilters('db1','r');%%重构滤波器
figure(6)
stem(lr);
figure(7)
stem(hr);
tem=dyadup(cb1);%%插值
tem=conv(tem,hr);%%卷积
d1=wkeep(tem,100);%%去掉两头的分量
%%%%%%%%%
tem=dyadup(ca1);%%插值
tem=conv(tem,lr);%%卷积
a1=wkeep(tem,100);%%去掉两头的分量
a=a1+d1;%%%重构原信号
%%%%%%%%%
%a3=idwt(ca3,cb3,'db1',100);%%%小波逆变换
%%%%%%%%%
figure(8)
plot(a,'.b');
hold on;
plot(s,'r');
grid on;
title('重构信号和原信号的比较');toc;
%figure(9)
%plot(a3,'.b');
%hold on;
%plot(s,'r');
%grid on;
%title('重构信号和原信号的比较');
评论0
最新资源