- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mallet.m%%0.本程序采用MALLET算法对信号进行小波分解.PDF
Mallet.m
%% 0.本程序采用MALLET算法对信号进行小波分解
clc;clear
%% 1、定义正弦波
f1=50;%频率1
f2=100;%频率1
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)
subplot(2,1,1)
plot(y);
title(原始信号)
subplot(2,1,2)
stem(abs(fft(y)));
title(原始信号频率)
%% 2、定义小波滤波器
h=wfilters(db30,l);%低通滤波,Daubechies小波低通滤波器
g=wfilters(db30,h);%高通滤波
h=[h,zeros(1,N-length(h))];%补零(圆周卷积,且增大分辨率便于观察)
g=[g,zeros(1,N-length(g))];%补零(圆周卷积,且增大分辨率便于观察)
第 1 页
Mallet.m
figure(2)
subplot(2,1,1)
stem(abs(fft(h)));
title(分解低通滤波器频谱)
subplot(2,1,2)
stem(abs(fft(g)));
title(分解高通滤波器频谱)
%% 3.MALLET分解算法(圆周卷积的快速傅立叶变换实现)
sig1=ifft(fft(y).*fft(h));%低通(低通分量)
sig2=ifft(fft(y).*fft(g));%高通(高通分量)
%分别通过低通滤波器和高通滤波器将原始信号分成两个部分。
figure(3)
subplot(2,2,1)
plot(real(sig1));%绘出信号的实部
title(低频分量)
subplot(2,2,2)
plot(real(sig2));%绘出信号的实部
title(高频分量)
subplot(2,2,3)
stem(abs(fft(sig1)));%绘制离散序列数据
title(低频分量频谱)
第 2 页
Mallet.m
subplot(2,2,4)
stem(abs(fft(sig2)));
title(高频分量频谱)
%% 4.MALLET重构算法
sig1=dyaddown(sig1);%二抽一
sig2=dyaddown(sig2);%二抽一
%每次得到的逼近信号和细节信号的数据长度始上一次逼近信号数据长度的一半。
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(4)
subplot(2,2,1)
第 3 页
Mallet.m
plot(real(sig1));
title(重构低频信号)
subplot(2,2,2)
plot(rea
文档评论(0)