声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2127|回复: 3

[综合讨论] 求一个Mallat算法的MATLAB原程序

[复制链接]
发表于 2006-11-1 16:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
最近正在学习Mallat算法,想求一个关于这个算法的MATLAB程序学习学习,哪位大侠给我传一个吧,要能简单介绍一下程序最好了,谢谢啦!
回复
分享到:

使用道具 举报

发表于 2006-11-1 16:57 | 显示全部楼层
本帖最后由 ChaChing 于 2010-9-3 08:20 编辑

程序为gjsdgjsd 所写
小波谱分析mallat算法经典程序
clc; clear;
%%  1.正弦波定义
f1=50;  %  频率1
f2=100; %  频率2
fs=2*(f1+f2);  %  采样频率
Ts=1/fs;  %  采样间隔
N=120;    %  采样点数
n=1:N;
y=sin(2*pi*f1*n*Ts)+sin(2*pi*f2*n*Ts);  %  正弦波混合
figure(1); plot(y); title('两个正弦信号');
figure(2); stem(abs(fft(y))); title('两信号频谱')
%%  2.小波滤波器谱分析
h=wfilters('db30','l');  %  低通
g=wfilters('db30','h');  %  高通
h=[h,zeros(1,N-length(h))];  %  补零(圆周卷积,且增大分辨率变于观察)
g=[g,zeros(1,N-length(g))];  %  补零(圆周卷积,且增大分辨率变于观察)
figure(3); stem(abs(fft(h))); title('低通滤波器图')
figure(4); stem(abs(fft(g))); title('高通滤波器图')
%%  3.MALLET分解算法(圆周卷积的快速傅里叶变换实现)
sig1=ifft(fft(y).*fft(h));  %  低通(低频分量)
sig2=ifft(fft(y).*fft(g));  %  高通(高频分量)
figure(5);  %  信号图
subplot(2,1,1); plot(real(sig1)); title('分解信号1')
subplot(2,1,2); plot(real(sig2)); title('分解信号2')
figure(6);  %  频谱图
subplot(2,1,1); stem(abs(fft(sig1))); title('分解信号1频谱')
subplot(2,1,2); stem(abs(fft(sig2))); title('分解信号2频谱')
%%  4.MALLET重构算法
sig1=dyaddown(sig1); %  2抽取
sig2=dyaddown(sig2); %  2抽取
sig1=dyadup(sig1);   %  2插值
sig2=dyadup(sig2);   %  2插值
sig1=sig1(1,[1:N]);  %  去掉最后一个零
sig2=sig2(1,[1:N]);  %  去掉最后一个零
hr=h(end:-1:1);         %  重构低通
gr=g(end:-1:1);         %  重构高通
hr=circshift(hr',1)';   %  位置调整圆周右移一位
gr=circshift(gr',1)';   %  位置调整圆周右移一位
sig1=ifft(fft(hr).*fft(sig1));  %  低频
sig2=ifft(fft(gr).*fft(sig2));  %  高频
sig=sig1+sig2; %  源信号
%%  5.比较
figure(7);
subplot(2,1,1); plot(real(sig1)); title('重构低频信号');
subplot(2,1,2); plot(real(sig2)); title('重构高频信号');
figure(8);
subplot(2,1,1); stem(abs(fft(sig1))); title('重构低频信号频谱');
subplot(2,1,2); stem(abs(fft(sig2))); title('重构高频信号频谱');
figure(9)
plot(real(sig),'r','linewidth',2); hold on;
plot(y); legend('重构信号','原始信号'); title('重构信号与原始信号比较')

评分

1

查看全部评分

 楼主| 发表于 2006-11-1 20:55 | 显示全部楼层
谢谢jimin!
发表于 2008-12-24 12:20 | 显示全部楼层
学习了:@) :time:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-16 04:09 , Processed in 0.084206 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表