matlab小波变换 - 范文中心

matlab小波变换

08/06

matlab小波变换

Matlab 1. 离散傅立叶变换的 Matlab实现

Matlab 函数 fft、fft2 和 fftn 分别可以实现一维、二维和 N 维 DFT 算法;而函数 ifft、ifft2 和 ifftn 则用来计算反 DFT 。这些函数的调用格式如下:

A=fft(X,N,DIM)

其中,X 表示输入图像;N 表示采样间隔点,如果 X 小于该数值,那么 Matlab 将会对 X 进行零填充,否则将进行截取,使之长度为 N ;DIM 表示要进行离散傅立叶变换。

A=fft2(X,MROWS,NCOLS)

其中,MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。别可以实现一维、二维和 N 维 DFT

A=fftn(X,SIZE)

其中,SIZE 是一个向量,它们每一个元素都将指定 X 相应维进行零填充后的长度。

函数 ifft、ifft2 和 ifftn的调用格式于对应的离散傅立叶变换函数一致。

别可以实现一维、二维和 N 维 DFT

例子:图像的二维傅立叶频谱

1. 离散傅立叶变换的 Matlab实现% 读入原始图像

I=imread('lena.bmp');函数 fft、fft2 和 fftn 分

imshow(I)

% 求离散傅立叶频谱

J=fftshift(fft2(I));

figure;别可以实现一维、二维和 N 维 DFT

imshow(log(abs(J)),[8,10])

2. 离散余弦变换的 Matlab 实现 Matlab

2.1. dct2 函数

功能:二维 DCT 变换 Matlab

格式:B=dct2(A)

B=dct2(A,m,n)

B=dct2(A,[m,n])函数 fft、fft2 和 fftn 分

说明:B=dct2(A) 计算 A 的 DCT 变换 B ,A 与 B 的大小相同;B=dct2(A,m,n) 和 B=dct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为 m×n。

2.2. dict2 函数

功能: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 的大小为 m×n。

Matlab

2.3. dctmtx函数

功能:计算 DCT 变换矩阵

格式:D=dctmtx(n)

说明:D=dctmtx(n) 返回一个 n×n 的 DCT 变换矩阵,输出矩阵 D 为 double 类型。

1. 离散傅立叶变换的 Matlab实现

3. 图像小波变换的 Matlab 实现函数 fft、fft2 和 fftn 分

3.1 一维小波变换的 Matlab 实现

(1) dwt 函数 Matlab

功能:一维离散小波变换

格式:[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 和 Hi_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 二维离散小波变换

wavedec2 二维信号的多层小波分解

idwt2 二维离散小波反变换 Matlab

waverec2 二维信号的多层小波重构

wrcoef2 由多层小波分解重构某一层的分解信号

upcoef2 由多层小波分解重构近似分量或细节分量1. 离散傅立叶变换的 Matlab实现

detcoef2 提取二维信号小波分解的细节分量

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 的编码矩阵 Y ;NB 伪编码的最大值,即编码范围为 0~NB,缺省值 NB=16;

OPT 指定了编码的方式(缺省值为 'mat'),即:别可以实现一维、二维和 N 维 DFT

OPT='row' ,按行编码

OPT='col' ,按列编码

OPT='mat' ,按整个矩阵编码函数 fft、fft2 和 fftn 分

ABSOL 是函数的控制参数(缺省值为 '1'),即:

ABSOL=0 时,返回编码矩阵

ABSOL=1 时,返回数据矩阵的绝对值 ABS(X)1. 离散傅立叶变换的 Matlab实现

(2) dwt2 函数

功能:二维离散小波变换

格式:[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 进行二维离散小波变幻;cA,cH,cV,cD 分别为近似分量、水平细节分量、垂直细节分量和对角细节分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。1. 离散傅立叶变换的 Matlab实现

(3) wavedec2 函数

功能:二维信号的多层小波分解1. 离散傅立叶变换的 Matlab实现

格式:[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)

说明: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 分

appcoef 提取一维小波变换低频系数

appcoef2 提取二维小波分解低频系数

bestlevt 计算完整最佳小波包树 别可以实现一维、二维和 N 维 DFT besttree 计算最佳(优)树

* biorfilt 双正交样条小波滤波器组

biorwavf 双正交样条小波滤波器 Matlab

* centfrq 求小波中心频率

cgauwavf Complex Gaussian小波

cmorwavf coiflets小波滤波器 1. 离散傅立叶变换的 Matlab实现 cwt 一维连续小波变换

dbaux Daubechies小波滤波器计算

dbwavf Daubechies小波滤波器 dbwavf(W) W='dbN' N=1,2,3,...,50 别可以实现一维、二维和 N 维 DFT

ddencmp 获取默认值阈值(软或硬)熵标准

depo2ind 将深度-位置结点形式转化成索引结点形式

detcoef 提取一维小波变换高频系数 Matlab

detcoef2 提取二维小波分解高频系数

disp 显示文本或矩阵

drawtree 画小波包分解树(GUI) 别可以实现一维、二维和 N 维 DFT dtree 构造DTREE类

dwt 单尺度一维离散小波变换

dwt2 单尺度二维离散小波变换 别可以实现一维、二维和 N 维 DFT dwtmode 离散小波变换拓展模式

* dyaddown 二元取样

* dyadup 二元插值 1. 离散傅立叶变换的 Matlab实现

entrupd 更新小波包的熵值

fbspwavf B样条小波

gauswavf Gaussian小波 Matlab

get 获取对象属性值

idwt 单尺度一维离散小波逆变换

idwt2 单尺度二维离散小波逆变换

ind2depo 将索引结点形式转化成深度—位置结点形式

* intwave 积分小波数

isnode 判断结点是否存在 Matlab

istnode 判断结点是否是终结点并返回排列值

iswt 一维逆SWT(Stationary Wavelet Transform)变换

iswt2 二维逆SWT变换 Matlab

leaves Determine terminal nodes

mexihat 墨西哥帽小波

meyer Meyer小波 别可以实现一维、二维和 N 维 DFT

meyeraux Meyer小波辅助函数

morlet Morlet小波

nodease 计算上溯结点

nodedesc 计算下溯结点(子结点)

nodejoin 重组结点

nodepar 寻找父结点 别可以实现一维、二维和 N 维 DFT

nodesplt 分割(分解)结点

noleaves Determine nonterminal nodes

ntnode Number of terminal nodes函数 fft、fft2 和 fftn 分 ntree Constructor for the class NTREE

* orthfilt 正交小波滤波器组

plot 绘制向量或矩阵的图形

* qmf 镜像二次滤波器

rbiowavf Reverse biorthogonal spline wavelet filters read 读取二进制数据 函数 fft、fft2 和 fftn 分

readtree 读取小波包分解树

* scal2frq Scale to frequency

set Matlab

shanwavf Shannon wavelets

swt 一维SWT(Stationary Wavelet Transform)变换

swt2 二维SWT变换

symaux Symlet wavelet filter computation.

symwavf Symlets小波滤波器

thselect 信号消噪的阈值选择

thodes References

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 多尺度二维小波重构

wbmpen Penalized threshold for wavelet 1-D or 2-D de-noising wcodemat 对矩阵进行量化编码 1. 离散傅立叶变换的 Matlab实现 wdcbm Thresholds for wavelet 1-D using Birge-Massart strategy wdcbm2 Thresholds for wavelet 2-D using Birge-Massart strategy wden 用小波进行一维信号的消噪或压缩

wdencmp De-noising or compression using wavelets

wentropy 计算小波包的熵

wextend Extend a vector or a matrix

* wfilters 小波滤波器

wkeep 提取向量或矩阵中的一部分

* wmaxlev 计算小波分解的最大尺度 1. 离散傅立叶变换的 Matlab实现

wnoise 产生含噪声的测试函数数据

wnoisest 估计一维小波的系数的标准偏差

wp2wtree 从小波包树中提取小波树 1. 离散傅立叶变换的 Matlab实现

wpcoef 计算小波包系数

wpcutree 剪切小波包分解树

wpdec 一维小波包的分解 函数 fft、fft2 和 fftn 分

wpdec2 二维小波包的分解

wpdencmp 用小波包进行信号的消噪或压缩

wpfun 小波包函数 函数 fft、fft2 和 fftn 分

wpjoin 重组小波包

wprcoef 小波包分解系数的重构

wprec 一维小波包分解的重构 1. 离散傅立叶变换的 Matlab实现 wprec2 二维小波包分解的重构

wpsplt 分割(分解)小波包

wpthcoef 进行小波包分解系数的阈值处理 函数 fft、fft2 和 fftn 分 wptree 显示小波包树结构

wpviewcf Plot the colored wavelet packet coefficients.

wrcoef 对一维小波系数进行单支重构 别可以实现一维、二维和 N 维 DFT

wrcoef2 对二维小波系数进行单支重构

wrev 向量逆序

write 向缓冲区内存写进数据

wtbo Constructor for the class WTBO

wthcoef 一维信号的小波系数阈值处理

wthcoef2 二维信号的小波系数阈值处理 1. 离散傅立叶变换的 Matlab实现

wthresh 进行软阈值或硬阈值处理

wthrmngr 阈值设置管理

wtreemgr 管理树结构 Matlab

1.装载信号

在MATLAB命令行中输入

load noisbloc

s=noisbloc(1:1024);

ls=length(s);

plot(s);

2.完成信号的单尺度一维离散小波分解

采用db4基本小波分解信号

在命令窗口中输入

[cA1,cD1]=dwt(s,'db4');

这就产生了低频系数cA1和高频系数cD1。

可以通过whos命令查看cA1和cD1的长度:

whos

Name Size Bytes Class

cA1 1x515 4120 double array cD1 1x515 4120 double array ls 1x1 8 double array noisbloc 1x1024 8192 double array

s 1x1024 8192 double array

Grand total is 3079 elements using 24632 bytes

3.从系数中重构低频部分和高频部分

从第二步产生的系数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');

5.由小波逆变换恢复信号

使用idwt函数很容易实现,在命令窗口输入 subplot(211); plot(s); title('原始信号'); subplot(212); plot(A0); title('重构信号');

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('低频D2');

subplot(323); plot(D3); title('低频D3');

subplot(325); plot(A5); title('低频D4');

subplot(326); plot(A5); title('低频D5');

10.重构原始信号并显示

A0=waverec(C,L,'db4');

subplot(311); plot(s); title('原始信号'); subplot(312); plot(A0); title('重构信号'); subplot(313); plot(s-A0); title('误差信号');


相关内容

  • 毕业论文图像处理噪声方法与研究
    长 治 学 院 2013届学士学位毕业论文 图像处理中消除噪声的方法研究 学 号: 09407205 姓 名: 程晓满 指导教师: 上官晋太 专 业: 计算机科学与技术 系 别: 计算机 完成时间:2013年5月 图像处理中消除噪声的方法研 ...
  • 北京理工大学信号与系统实验报告3 信号的频域分析
    实验3 信号的频域分析 (综合型实验) 一.实验目的 1)深入理解信号频谱的概念,掌握信号的频域分析方法. 2)观察典型周期信号和非周期信号的频谱,掌握其频谱特性. 二.实验原理与方法 1. 连续周期信号的频谱分析 如果周期信号满足Diri ...
  • AM模拟调制系统的设计与仿真
    摘要 调幅,英文是Amplitude Modulation(AM ).调幅也就是通常说的中波,范围在503---1060KHz .调幅是用声音的高低变为幅度的变化的电信号. 本课程设计主要研究了AM 模拟调制系统的设计和仿真.在本次通信系统 ...
  • 小波变换在突变信号检测中的应用仿真研究
    摘 要 本文介绍了小波变换及其检测突变信号的基本原理,选用了具有低通特性的高斯函数高斯函数作为小波基的小波变换能够有效识别出非平稳态的突变信号,而且小波尺度大小的选择与检测精度有直接关系. [关键词]小波变换 突变信号检测 小波尺度 1 引 ...
  • 生物医学图像处理实验指导书 20**年
    实验一 直方图Matlab 运算及C 之间转换 一.实验目的 1. 熟悉利用Matlab 进行图像处理的基本操作,了解图像数据的存储形式及进行图像处理编程的步骤方法. 2. 巩固图像处理编程的步骤格式,理解图像直方图的原理,掌握图像直方图的 ...
  • 三相瞬时功率理论在有源电力滤波器仿真中的研究
    第35卷第6期2013年12月 光学仪器 OPTICAL V01.35,No.6December,2013 INSTRUMENTS 文章编号:1005-5630(2013)06-0058-06 三相瞬时功率理论在有源电力滤波器仿真中的研究 ...
  • 用matlab实现线性常系数差分方程的求解
    数字信号处理课程设计 题目: 试实现线性常系数差分方程的求解 学院: 专业: 班级: 学号: 组员: 指导教师: 题目:用Matlab 实现线性常系数差分方程求解 一. 设计要求 1. 2. 3. 掌握线性常系数差分方程的求解 熟练掌握Ma ...
  • 伺服驱动器测试方法的仿真研究
    第7期2012年7月 组合机床与自动化加工技术 Modular Machine Tool &Automatic Manufacturing Technique No.7Jul.2012 文章编号:1001-2265(2012)07- ...
  • 数字图像处理课程设计之图像特征提取
    河 南 农 业 大 学 <数字图像处理> 题 目: 图像特征提取 学 院:专 业: 班 级: 学 号: 姓 名:指导教师: 成 绩: 时 间: 年 月 日至 一.目的与要求 图像特征提取的目的让计算机具有认识或者识别图像的能力, ...