一维小波matlab命令
wnoislop.mat
……
叠加了白噪声的斜坡信号
……
sum sin .m at sum sin(t ) sin(3t ) sin(0.3t ) sin(0.03t ) freqbrk.m at 1 t 500 sin(0.03t ) freqbrk(t ) sin(0.3t ) 501 t 1000
例子:
Load sumsin %读入信号 s=sumsin(1:1000); %取信号的前1000个采样点 [c,l]=wavedec(s,3, ‘db1’); %对信号做层数为3的多尺度分解 [nc,nl]= upwlev(c ,l, ‘db1’); %对信号进行重构,得到尺度2的小波分解 结构
用于验证算法的数据文件:
文件名 sumsin.mat freqbrk.mat whitnois.mat warma.mat 说明 三个正弦函数的叠加 存在频率断点的组合正弦信号 均匀分布的白噪声 有色AR(3)噪声
wstep.mat
nearbrk.mat scddvbrk.mat
阶梯信号
分段线性信号 具有二阶可微跳变的信号
例子:
Load sumsin %读入信号 s=sumsin(1:1000); %取信号的前1000个采样点 [c,l]=wavedec(s,3, ‘db3’); %对信号做层数为3的多尺度分解 a3= wrcoef(‘a’,c,l, ‘db3’,3); %对尺度3上的低频信号进行重构
Matlab中的小波分析工具箱
Matlab小波分析工具箱提供了一个可视化 的小波分析工具,是一个很好的算法研究和 工程设计,仿真和应用平台。特别适合于信 号和图像分析,综合,去噪,压缩等领域的 研究人员。
常用的小波基函数:
参数表示 morl mexh meyr haar 小波基的名称 Morlet小波 墨西哥草帽小波 Meyer小波 Haar小波
Compact support DWT CWT
Support width Effective support Regularity Symmetry
infinite [-8 8] indefinitely derivable yes
Reference: I. Daubechies, Ten lectures on wavelets, CBMS, SIAM, 61, 1994, 117-119, 137, 152.
X=wrcoef(‘type’,C,L,’wname’,N ) 用’wname’小波对分解系数[C,L]进行重构, 当type=a时,指对信号的低频部分进行重构。 这时N可以为零。 当type=d时,指对信号的高频部分进行重构。 这时N为正整数。 X=wrcoef(‘type’,C,L, Lo_R,Hi_R N )
FWT(快速小波变换):
多层次分解
D=detcoef(C,L,N) 从分解系数[C,L]提取第N层细节系数 D=detcoef(C,L) 从分解系数[C,L]提取最后一层细节系数
FWT(快速小波变换):
多层次分解
A=appcoef(C,L,’wname’ ,N) 用’wname’小波从分解系数[C,L]提取第N层近 似系数
例子
subplot(511);plot(1:1000,s);title(‘s') Subplot(512);plot(1:l(1),ca3);title (‘ca3'); Subplot(513);plot(1:l(2),cd3);title (‘cd3'); %1(i)存放的是相应参数的长度 Subplot(514);plot(1:l(3),cd2);title (‘cd2'); Subplot(515);plot(1:l(4),cd1);title (‘cd1'); %将原始信号和分解后得到的一组近似信号和3组 细节信号的波形显示出来。
dbN
symN coifN
紧支集正交小波
近似对称的紧支集正交小波 Coiflet小波
biorNr.Nd
双正交样条小波
怎样获取小波基的信息:
在Matlab窗口键入“waveinfo(‘参数名’)
?waveinfo('meyr')
MEYRINFO Information on Meyer wavelet.
例子
subplot(211);plot(s);title(‘原始讯号’) Subplot(212);plot(rs);title (‘重构信号’); %将原始信号和重构信号的波形显示出来。
FWT(快速小波变换):
单尺度重构
[NC,NK,cA]=upwlev(C,L,’wname’ ) 用’wname’小波对分解系数[C,L]进行单尺度 重构,返回上一尺度的分解结构[NC,NL]并 提取最后一尺度的分解结构。 [NC,NK,cA]=upwlev(C,L, Lo_R,Hi_R)
Meyer Wavelet
General characteristics: Infinitely regular orthogonal wavelet.
Family Short name
Meyer meyr
Orthogonal
Biorthogonal
yes
yes no possible but without FWT possible
一维离散小波变换:
单层分解
[cA,cD]=dwt(X,’wname’) [cA,cD]=dwt(X, Lo_R ,Hi_R) 其中:cA :低频分量, cD:高频分量 X:输入信号。 wname:小波基名称 Lo_R :低通滤波器 Hi_R:高通滤波器
一维离散小波变换:
单层重构
X=idwt(cA,cD,’wname’) 用’wname’小波把近似系数cA和细节系数cD重建 原始信号 X=idwt(cA,cD, Lo_R , Hi_R)
A=appcoef(C,L,Lo_R , Hi_R,N)
FWT(快速小波变换):
多层次分解
A=appcoef(C,L,’wname’) 用’wname’小波从分解系数[C,L]提取最后一 层近似系数
A=appcoef(C,L,Lo_R , Hi_R)
例子:
Load noissin %读入白噪信号 S=noissin(1:1000); %取信号的前1000个采样点 [c,l]=wavedec(s,3, ‘db4'); %对信号做层数为3的多尺度分解 [cd1,cd2,cd3]=detcoef(c ,l,[1,2,3]); %得到尺度3的近似系数 ca3=appcoef(c,l,’db4’,3);
例子
subplot(311);plot(s);title(‘原始讯号’) Subplot(312);plot(c);title (‘尺度3的小波分解 结构’); Subplot(313);plot(nc);title (‘尺度2的小波分 解结构’);
FWT(快速小波变换):
对小波系数进行重构
一维离散小波变换:
单层重构
X=idwt(cA,cD,’wname’,L) 用’wname’小波把近似系数cA和细节系数cD重建 信号中间长度为L的部分 X=idwt(cA,cD, 多层次分解
[C,L]=wavedec(X,N,’wname’) [C,L]=wavedec(X,N, Lo_R, Hi_R) 其中:C :各层分量, L:各层分量长度 N:分解层数 X:输入信号。 wname:小波基名称 Lo_R:低通滤波器 Hi_R:高通滤波器
例子
subplot(211);plot(s);title(‘原始信号’) Subplot(212);plot(a3);title (‘重构信号’);
FWT(快速小波变换):
多层次重构
X =waveerec(C,L ,’wname’)
用’wname’小波对分解系数[C,L]进行一维小波 重构。
X =waverec(C,L ,Lo_R, Hi_R)
例子:
Load noissin %读入白噪信号 S=noissin(1:1000); %取信号的前1000个采样点 [c,l]=wavedec(s,3, ‘db4’); %对信号做层数为3的多尺度分解 rs=waverec(c ,l, ‘db4’); %对信号进行重构