matlab小波变换
Matlab1.离散傅立叶变换的Matlab实现
imshow(log(abs(J)),[8,10])
Matlab函数fft、fft2
法;而函数ifft、ifft2和
如下:
、ifft2
和fftn分别可以实现一维、
ifftn则用来计算反DFT。
二维和N维DFT算
这些函数的调用格式
其中,X表示输入图像;
Matlab将会对X进行零填充,否则将进行截取,使之长度为
进行离散傅立叶变换。
N表示采样间隔点,如果X小于该数值,那么
N;DIM表示要
A=fft2(X,MR0WS,NC0LS)
其中,MROW和NCOLS指定对X进行零填充后的X大小。别可以实现一
维、二维和N维DFT
A=fftn(X,SIZE)
其中,SIZE是一个向量,它们每一个元素都将指定X相应维进行零填充后
的长度。
函数ifft
、ifft2和ifftn的调用格式于对应的离散傅立叶变换函数一
致。
别可以实现一维、二维和N维DFT
例子:图像的二维傅立叶频谱
1.离散傅立叶变换的Matlab实现%读入原始图像
I=imread('');函数fft
、fft2和fftn分
imshow(I)
%求离散傅立叶频谱
J=fftshift(fft2(I));
figure;别可以实现一维、二维和N维DFT
2.离散余弦变换的Matlab实现
Matlab
图像小波变换的Matlab实现函数fft、fft2和fftn分
3.1一维小波变换的Matlab实现
(1)dwt函数Matlab
2函数
功能:二维DCT变换Matlab
格式:B=dct2(A)
B=dct2(A,m,n)
B=dct2(A,[m,n])函数fft、fft2和fftn分
说明:B=dct2(A)计算A的DCT变换
dct2(A,m,n)和B=dct2(A,[m,n])通过对AmX
n。
B,A与B的大小相同;补0
或剪裁,使B的大小为
2函数
功能:DCT反变换
格式:B=idct2(A)
B=idct2(A,m,n)别可以实现一维、二维和N维DFT
B=idct2(A,[m,n])
说明:B=idct2(A)计算A的DCT反变换B,A与B的大小相同;B=
idct2(A,m,n)和B=idct2(A,[m,n])通过对A补0或剪裁,使B的大小为mXn。
Matlab
函数
功能:计算DCT变换矩阵
格式:D=dctmtx(n)
double
说明:
类型。
D=dctmtx(n)返回一个nXn的DCT变换矩阵,输出矩阵D为
1.
离散傅立叶变换的Matlab实现
3.
功能:一维离散小波变换
格式:[cA,cD]=dwt(X,'wname')
[cA,cD]=dwt(X,Lo_D,Hi_D)别可以实现一维、二维和N维DFT
说明:[cA,cD]=dwt(X,'wname')使用指定的小波基函数'wname'对信号X进行
分解,cA、cD分别为近似分量和细节分量;[cA,cD]=dwt(X,Lo_D,Hi_D)使用指定
的滤波器组Lo_D、Hi_D对信号进行分解。
(2)idwt函数
功能:一维离散小波反变换
格式:X=idwt(cA,cD,'wname')
X=idwt(cA,cD,Lo_R,Hi_R)
X=idwt(cA,cD,'wname',L)函数fft、fft2和fftn分
X=idwt(cA,cD,Lo_R,Hi_R,L)
说明:X=idwt(cA,cD,'wname')由近似分量cA和细节分量cD经小波反变换重构
原始信号X。
'wname'为所选的小波函数
X=idwt(cA,cD,Lo_R,Hi_R)用指定的重构滤波器Lo_R和变
换重构原始信号X。
X=idwt(cA,cD,'wname',L)和X=idwt(cA,cD,Lo_R,Hi_R,L)X
中心附近的L个点。
1.离散傅立叶变换的Matlab实现
3.2二维小波变换的Matlab实现
二维小波变换的函数别可以实现一维、二维和N维DFT
函数名函数功能
dwt2二维离散小波变换
Hi_R经小波反
指定返回信号
wavedec2二维信号的多层小波分解
idwt2二维离散小波反变换Matlab
waverec2二维信号的多层小波重构
appcoef2提取二维信号小波分解的近似分量
upwlev2二维小波分解的单层重构1.离散傅立叶变换的Matlab实现
dwtpet2二维周期小波变换
idwtper2二维周期小波反变换
函数
fft、fft2和fftn分
(1)wcodemat函数
功能:对数据矩阵进行伪彩色编码函数fft、fft2和fftn分
格式:Y=wcodemat(X,NB,OPT,ABSOL)
Y=wcodemat(X,NB,OPT)
Y=wcodemat(X,NB)
Y=wcodemat(X)
说明:Y=wcodemat(X,NB,OPT,ABSOL返回数据矩阵X的编码矩阵
伪编码的最大值,即编码范围为0〜NB缺省值NBF16;
OPT指定了编码的方式(缺省值为'mat'),即:别可以实现一维、
N维DFT
OPF'row',按行编码
OPTF'col',按列编码
wrcoef2
由多层小波分解重构某一层的分解信号
upcoef2
Matlab实现
由多层小波分解重构近似分量或细节分量1.离散傅立叶变换的
detcoef2
提取二维信号小波分解的细节分量
Y;NB
二维和
OPF'mat',按整个矩阵编码函数fft、fft2和fftn分
ABSOL是函数的控制参数(缺省值为’1'),即:
功能:二维离散小波变换
格式:[cA,cH,cV,cD]=dwt2(X,'wname')
[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)
说明:
[cA,cH,cV,cD]=dwt2(X,'wname')使用
指定的小波基函数'wname'对二维信
号X进行二维离散小波变幻;分量、
垂直细节分量和对角细节分量;指定
的分解低通和高通滤波器Lo_D的Matlab实现
(3)wavedec2函数
格式:[C,S]=wavedec2(X,N,'wname')
[C,S]=wavedec2(X,N,Lo_D,Hi_D)
说明:[C,S]=wavedec2(X,N,'wname')使用小波基函数'wname'对二维信号X
进行N层分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D)使用指定的分解低通和高通滤波
器Lo_D和Hi_D分解信号X。别可以实现一维、二维和N维DFT
(4)idwt2函数
功能:二维离散小波反变换函数fft、fft2和fftn分
格式:X=idwt2(cA,cH,cV,cD,'wname')
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)
X=idwt2(cA,cH,cV,cD,'wname',S)别可以实现一维、二维和N维DFT
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)
ABSOFL0
时,返回编码矩阵
ABSOFL
1
实现
时,返回数据矩阵的绝对值ABS(X)1.离散傅立叶变换的Matlab
(2)dwt2
函数
cA,cH,cV,cD分别为近似分量、水平细
节[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)使用
和Hi_D分解信号X。1.离散傅立叶变换
功能:二维信号的多层小波分解1.离散傅立叶变换的Matlab实现
说明:X=idwt2(cA,cH,cV,cD,'wname')由信号小波分解的近似信号cA和细节
信号cH、cH、cV、cD经小波反变换重构原信号X;
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)使用指定的重构低通和高通滤波器Lo_R和Hi_R
重构原信号X;X=idwt2(cA,cH,cV,cD,'wname',S)和
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)返回中心附近的S个数据点。
(5)waverec2函数
说明:二维信号的多层小波重构
格式:X=waverec2(C,S,'wname')
X=waverec2(C,S,Lo_R,Hi_R)
说明:X=waverec2(C,S,'wname')由多层二维小波分解的结果C、S重构原始
信号X,'wname'为使用的小波基函数;X=waverec2(C,S,Lo_R,Hi_R)使用重构
低通和高通滤波器Lo_R和Hi_R重构原信号。
Allnodes计算树结点函数fft、fft2和fftn分
cgauwavfComplexGaussian小波
cmorwavfcoiflets小波滤波器1.离散傅立叶变换的Matlab实现
cwt一维连续小波变换
dbauxDaubechies小波滤波器计算
dbwavfDaubechies小波滤波器dbwavf(W)W='dbN'N=1,2,3,...,50别
可以实现一维、二维和N维DFT
ddencmp获取默认值阈值(软或硬)熵标准
appcoef
提取一维小波变换低频系数
appcoef2
提取二维小波分解低频系数
bestlevt
计算完整最佳小波包树别可以实现一维、二维和N维DFT
besttree
计算最佳(优)树
biorfilt
双正交样条小波滤波器组
biorwavf
双正交样条小波滤波器Matlab
centfrq
求小波中心频率
depo2ind将深度-位置结点形式转化成索引结点形式
detcoef提取一维小波变换高频系数Matlabdetcoef2提取二维小波分解高频
系数
disp显示文本或矩阵
drawtree画小波包分解树(GUI)别可以实现一维、二维和N维DFTdtree
构造DTRE类
dwt单尺度一维离散小波变换
dwt2单尺度二维离散小波变换别可以实现一维、二维和N维DFT
dwtmode离散小波变换拓展模式
dyaddown二元取样
dyadup二元插值1.离散傅立叶变换的Matlab实现
entrupd更新小波包的熵值
fbspwavfB样条小波
gauswavfGaussian小波Matlabget获取对象属性值
idwt单尺度一维离散小波逆变换
idwt2单尺度二维离散小波逆变换
ind2depo将索引结点形式转化成深度—位置结点形式
intwave积分小波数
isnode判断结点是否存在Matlabistnode判断结点是否是终结点并返回排列
值
iswt一维逆SWT(StationaryWaveletTransform)变换
iswt2二维逆SWT变换MatlableavesDetermineterminalnodes
mexihat墨西哥帽小波
meyerMeyer小波别可以实现一维、二维和N
meyerauxMeyer小波辅助函数
morletMorlet小波
nodea计算上溯结点
nodedesc计算下溯结点(子结点)tMatlabshanwavfShannon
waveletsswt一维SWT(StationaryWaveletTransform)变换
swt2二维SWT变换symauxSymletwaveletfiltercomputation.
维DFT
nodejoin
重组结点
nodepar
寻找父结点别可以实现一维、二维和N维DFT
nodesplt
分割(分解)结点
noleavesDeterminenonterminalnodes
ntnode
Numberofterminalnodes函数fft、fft2和fftn分
ntree
ConstructorfortheclassNTREE
orthfilt
正交小波滤波器组
plot绘制向量或矩阵的图形
qmf镜像二次滤波器
rbiowavfReverbiorthogonalsplinewaveletfilters
read读取二进制数据函数fft、fft2和fftn分
readtree读取小波包分解树
scal2frqScaletofrequency
symwavfSymlets小波滤波器
thlect
信号消噪的阈值选择
thodesReferences
treedpth
求树的深度
treeord
求树结构的叉数函数fft、fft2和fftn分
upcoef
一维小波分解系数的直接重构
upcoef2
二维小波分解系数的直接重构
upwlev
单尺度一维小波分解的重构函数fft、fft2和fftn分
upwlev2
单尺度二维小波分解的重构
wavedec单尺度一维小波分解
wavedec2多尺度二维小波分解Matlab
wavedemo小波工具箱函数demo
wavefun小波函数和尺度函数
*wavefun2二维小波函数和尺度函数别可以实现一维、二维和N维DFT
wavemenu小波工具箱函数menu图形界面调用函数
wavemngr小波管理函数
waverec多尺度一维小波重构1.离散傅立叶变换的Matlab实现
waverec2多尺度二维小波重构
wbmpenPenalizedthresholdforwavelet1-Dor2-Dde-noising
wcodemat对矩阵进行量化编码1.离散傅立叶变换的Matlab
实现
wdcbmThresholdsforwavelet1-DusingBirge-Massart
strategy
wdcbm2Thresholdsforwavelet2-DusingBirge-Massart
strategy
wden用小波进行一维信号的消噪或压缩
wdencmpDe-noisingorcompressionusingwavelets
wkeep提取向量或矩阵中的一部分
wmaxlev计算小波分解的最大尺度1.离散傅立叶变换的Matlab实
wnoi产生含噪声的测试函数数据
wnoist估计一维小波的系数的标准偏差
wp2wtree从小波包树中提取小波树1.离散傅立叶变换的Matlab实现
wpcoef计算小波包系数
wpcutree剪切小波包分解树
wpdec一维小波包的分解函数fft、fft2和fftnwpdec2二维小波包的分
解
wpdencmp用小波包进行信号的消噪或压缩
wpfun小波包函数函数fft、fft2和fftn分
wpjoin重组小波包
wprcoef小波包分解系数的重构
wprec一维小波包分解的重构1.离散傅立叶变换的
wprec2二维小波包分解的重构
wpsplt分割(分解)小波包
wpthcoef进行小波包分解系数的阈值处理函数fft
wptree显示小波包树结构
wentropy
计算小波包的熵
wextendExtendavectororamatrix
wfilters
小波滤波器
Matlab实现
、fft2和fftn分
wpviewcfPlotthecoloredwaveletpacketcoefficients.
wrcoef对一维小波系数进行单支重构别可以实现一维、二维和N维DFT
wrcoef2对二维小波系数进行单支重构
wrev向量逆序
write向缓冲区内存写进数据
wtboConstructorfortheclassWTBOwthcoef一维信号的小波系数阈值处
理
wthcoef2二维信号的小波系数阈值处理1.离散傅立叶变换的Matlab实现
wthresh进行软阈值或硬阈值处理
wthrmngr阈值设置管理
wtreemgr管理树结构Matlab
1.装载信号
在MATLAB命令行中输入loadnoisblocs=noisbloc(1:1024);ls=length(s);
plot(s);
2.完成信号的单尺度一维离散小波分解采用db4基本小波分解信号在命令窗口中
输入
[CA1,CD1]=dwt(s,'db4');
这就产生
了低频系数
CA1和高频
系数
可以通过
whos
命令查看
CA1
和CD1
whos
Grandtotalis3079elementsusing24632bytes3.从系数中重构低频部分和高频部
分
从第二步产生的系数CA1和CD1构造第一层的低频和高频(A1和D1)系数;
A1=upcoef('a',cA1,'db4',1,ls);
D1=upCoef('a',CD1,'db4',1,ls);或用下面两个函数:
A1=idwt(CA1,[],'db4',ls);
D1=idwt(CD1,[],'db4',ls);
4.显示高频和低频部分为了显示第一层分解结果,输入subplot(211);plot(A1);title('
低频A1');subplot(212);plot(D1);title('低频D1');
NameSizeBytesClass
CA11x5154120doublearray
CD1
1x5154120doublearray
ls
1x1
8doublearray
noisbloC1x10248192doublearray
s
1x10248192doublearray
CD1。
的长度:
5.由小波逆变换恢复信号使用
idwt函数很容易实现,
subplot(211);plot(s);
subplot(212);plot(AO);
在命令窗口输入
titleC原始信号');
titleC重构信号');
6.多层一维分解
为了完成一个5层的分解,输入:
[C,L]=wavedec(s,5,'db4');
7.提取系数的低频和高频部分
为了从上面的C中提取第3层的低频系数,输入:
cA3=appcoef(C,L,'db4',3);
8.重构第3层的低频系数
为了从上面的C中重构第3层的低频系数,输入:
A3=wrcoef('a',C,L,'db4',3);
9.重构第1、2、3、4、5层的高频信号其方
法是:
cA5=appcoef(C,L,'db4',5);
A5=wrcoef('a',C,L,'db4',5);
D1=wrcoef('d',C,L,'db4',1);
D2=wrcoef('d',C,L,'db4',2);
D3=wrcoef('d',C,L,'db4',3);
D4=wrcoef('d',C,L,'db4',4);
D5=wrcoef('d',C,L,'db4',5);下面显示多
尺度一维分解的结果:
subplot(322);plot(D1);title('低频D1');
subplot(323);plot(D2);title('
subplot(323);plot(D3);title('
subplot(325);plot(A5);title('
subplot(326);plot(A5);title('
低频
低频
低频
低频
D2');
D3');
D4');
D5');
10.重构原始信号并显示
AO=waverec(C,L,'db4');
subplot(311);plot(s);titleC原始信号');
subplot(312);
subplot(313);
plot(AO);titleC重构信号');
plot(s-AO);titleC误差信号');
本文发布于:2022-12-09 16:13:43,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/73514.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |