没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
http://www.chinavib.com/forum-viewthread-tid-9141-extra-page%3D1-page-1.html ( 个 人
收集关于小波分析的 matlab 程序)
小波滤波器构造和消噪程序.............................................................................................................1
小波谱分析 mallat 算法经典程序.....................................................................................................8
小波包变换分析信号的 MATLAB 程序.........................................................................................10
利用小波变换实现对电能质量检测的算法实现..........................................................................15
基于小波变换的图象去噪 Normalshrink 算法..............................................................................17
小波滤波器构造和消噪程序
1. 重构
% mallet_wavelet.m
% 此函数用于研究 Mallet 算法及滤波器设计
% 此函数仅用于消噪
a=pi/8; %角度赋初值
b=pi/8;
%低通重构 FIR 滤波器 h0(n)冲激响应赋值
h0=cos(a)*cos(b);
h1=sin(a)*cos(b);
h2=-sin(a)*sin(b);
h3=cos(a)*sin(b);
low_construct=[h0,h1,h2,h3];
L_fre=4; %滤波器长度
low_decompose=low_construct(end:-1:1); %确定 h0(-n),低通分解滤波器
for i_high=1:L_fre; %确定 h1(n)=(-1)^n,高通重建滤波器
if(mod(i_high,2)==0);
coefficient=-1;
else
coefficient=1;
end
high_construct(1,i_high)=low_decompose(1,i_high)*coefficient;
end
high_decompose=high_construct(end:-1:1); %高通分解滤波器 h1(-n)
L_signal=100; %信号长度
n=1:L_signal; %信号赋值
f=10;
t=0.001;
y=10*cos(2*pi*50*n*t).*exp(-20*n*t);
figure(1);
plot(y);
title('原信号');
check1=sum(high_decompose); %h0(n)性质校验
check2=sum(low_decompose);
check3=norm(high_decompose);
check4=norm(low_decompose);
l_fre=conv(y,low_decompose); %卷积
l_fre_down=dyaddown(l_fre); %抽取,得低频细节
h_fre=conv(y,high_decompose);
h_fre_down=dyaddown(h_fre); %信号高频细节
figure(2);
subplot(2,1,1)
plot(l_fre_down);
title('小波分解的低频系数');
subplot(2,1,2);
plot(h_fre_down);
title('小波分解的高频系数');
l_fre_pull=dyadup(l_fre_down); %0 差值
h_fre_pull=dyadup(h_fre_down);
l_fre_denoise=conv(low_construct,l_fre_pull);
h_fre_denoise=conv(high_construct,h_fre_pull);
l_fre_keep=wkeep(l_fre_denoise,L_signal); %取结果的中心部分,消除卷积影响
h_fre_keep=wkeep(h_fre_denoise,L_signal);
sig_denoise=l_fre_keep+h_fre_keep; %信号重构
compare=sig_denoise-y; %与原信号比较
figure(3);
subplot(3,1,1)
plot(y);
ylabel('y'); %原信号
subplot(3,1,2);
plot(sig_denoise);
ylabel('sig\_denoise'); %重构信号
subplot(3,1,3);
plot(compare);
ylabel('compare'); %原信号与消噪后信号的比较
2. 消噪、
% 此函数用于研究 Mallet 算法及滤波器设计
% 此函数用于消噪处理
%角度赋值
%此处赋值使滤波器系数恰为 db9
%分解的高频系数采用 db9 较好,即它的消失矩较大
%分解的有用信号小波高频系数基本趋于零
%对于噪声信号高频分解系数很大,便于阈值消噪处理
[l,h]=wfilters('db10','d');
low_construct=l;
L_fre=20; %滤波器长度
low_decompose=low_construct(end:-1:1); %确定 h0(-n),低通分解滤波器
for i_high=1:L_fre; %确定 h1(n)=(-1)^n,高通重建滤波器
if(mod(i_high,2)==0);
coefficient=-1;
else
coefficient=1;
end
剩余18页未读,继续阅读
资源评论
- wishman198211112013-06-11是一些小程序,适合初学者
- jiao4172014-04-14不错,是常用的程序,对于初学者很实用!
- Kernel232014-03-15程序简单易懂,可以参考一下。
- a5695825602014-09-15很错的,我是一个初学者能看懂
laihamachitianer
- 粉丝: 3
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功