小波分析的应用及其MATLAB程序的实现

合集下载

Matlab中的小波变换与小波包分析方法详解

Matlab中的小波变换与小波包分析方法详解

Matlab中的小波变换与小波包分析方法详解引言近年来,小波变换在信号处理领域中得到了广泛的应用。

小波变换是一种能够捕捉信号时频特性的有效工具,可以用来分析、压缩和去噪各种类型的信号。

本文将详细介绍Matlab中的小波变换和小波包分析方法,以帮助读者更好地理解和应用这一强大的信号处理技术。

一、小波变换(Wavelet Transform)小波变换是一种将信号分解成不同尺度的基函数的技术。

与传统的傅里叶变换相比,小波变换具有更好的时频局部化特性。

Matlab中提供了丰富的小波分析工具箱,可以方便地进行小波变换的计算。

1.1 小波基函数小波基函数是小波变换的基础。

不同类型的小波基函数适用于不同类型的信号。

在Matlab中,我们可以使用多种小波基函数,如Daubechies小波、Haar小波和Morlet小波等。

1.2 小波分解小波分解是指将信号分解成多个尺度的小波系数。

通过小波分解,我们可以获取信号在不同尺度上的时频特性。

Matlab中提供了方便的小波分解函数,例如'dwt'和'wavedec'。

1.3 小波重构小波重构是指根据小波系数重新构建原始信号。

通过小波重构,我们可以恢复原始信号的时域特性。

在Matlab中,可以使用'idwt'和'waverec'函数进行小波重构。

二、小波包分析(Wavelet Packet Analysis)小波包分析是对小波变换的进一步扩展,它允许对信号进行更精细的分解和重构。

小波包分析提供了一种更灵活的信号分析方法,能够获得更详细的时频特性。

2.1 小波包分解小波包分解是指将信号分解成具有不同频带的小波包系数。

与小波分解相比,小波包分解提供了更高的分辨率和更详细的频谱信息。

在Matlab中,可以使用'wavedec'函数进行小波包分解。

2.2 小波包重构小波包重构是根据小波包系数重新构建原始信号。

一维连续小波变换的matlab基础程序实现

一维连续小波变换的matlab基础程序实现

小波变换实验二连续小波变换一、实验目的本实验的目的在于充分理解连续小波变换的算法和作用,利用matlab 程序实现对一维信号进行连续小波变换,进而在程序的编辑过程理解一位连续小波变换的小波系数矩阵的含义。

同时通过对预算的到的小波系数矩阵进行分析解释,得到原始信号的频谱分布以及了解小波系数在尺度和位移两个分量上的意义。

二、实验原理、实验编程思路1、根据书本的理论知识,知道一维连续小波变换的公式为:实际在编程过程当中,对于上式中积分的求解可以采用将积分函数离散化,通过求和来实现求积分,离散的过程如下式:本实验中,根据题目可以知道采样的时间间隔为0.03s ,即上式中Δt ,在实际编程当中为了计算方便可以省略掉这个时间常数,所以在编程过程当中使用的公式实际为:2、小波函数的选取:使用墨西哥草帽(mexhat )小波来进行小波变换,墨西哥草帽的函数为(支撑区间为-5—5):dt a b t t f a f b a W b a f⎰∞∞-->==<)()(1,),(,ϕϕ)()()()(),(21)1(21ab t k t k f t a t a b t a t f b a W k k t k t k f -∆⨯∆∆=∆-⨯=∑∑⎰-∆+∆-ϕϕ)()(),(21ab k k f a b a Wk f -⨯=∑-ϕ⎪⎩⎪⎨⎧≤-=-else x e x mexh x ,05,)1(222对于连续小波函数的采样间隔,根据不同的尺度参量来进行采样,比如尺度为i,实际对应小波的采样间隔取k/i,以保持和原信号在不同尺度上的同步。

3、程序运算简化:在程序设计过程当中,如果对于小波系数的每一个系数都按照公式来计算,算法的时间复杂度应当为o(n3)。

但通过对公式的分析,不难看出,对于同意尺度a,相邻的两个小波系数之间的求和项,只有第一项或者最后一项或者二者都不同,所以在下一个系数求解的时候可以减少一次循环,从而将时间复杂度降到o(n2),运算效率大大提高。

小波包变换及matlab程序编写

小波包变换及matlab程序编写

1 小波变换的基本理论信号分析是为了获得时间和频率之间的相互关系。

小波变换(DWT )是现代谱分析工具,他既能考察局部时域过程的频域特征,又能考察局部频域过程的时域特征,因此即使对于非平稳过程,处理起来也得心应手。

傅立叶变换提供了有关频率域的信息,但有关时间的局部化信息却基本丢失。

与傅立叶变换不同,小波变换能将图像变换为一系列小波系数,这些系数可以被高效压缩和存储,此外,小波的粗略边缘可以更好地表现图像,因为他消除了DCT 压缩普遍具有的方块效应。

通过缩放母小波(Mother wavelet )的宽度来获得信号的频率特征, 通过平移母小波来获得信号的时间信息。

对母小波的缩放和平移操作是为了计算小波系数,这些小波系数反映了小波和局部信号之间的相关程度。

小波变换是当前应用数学中一个迅速发展的领域,是分析和处理非平稳信号的一种有力工具。

它是以局部化函数所形成的小波基作为基底展开的,具有许多特殊的性能和优点,小波分析是一种更合理的进频表示和子带多分辨分析。

2小波包变换的基本理论和原理概论:由于正交小波变换只对信号的低频部分做进一步分解,而对高频部分也即信号的细节部分不再继续分解,所以小波变换能够很好地表征一大类以低频信息为主要成分的信号,但它不能很好地分解和表示包含大量细节信息(细小边缘或纹理)的信号,如非平稳机械振动信号、遥感图象、地震信号和生物医学信号等。

与之不同的是,小波包变换可以对高频部分提供更精细的分解,而且这种分解既无冗余,也无疏漏,所以对包含大量中、高频信息的信号能够进行更好的时频局部化分析。

2.1小波包的定义:正交小波包的一般解释 仅考虑实系数滤波器.{}n n Z h ∈{}n n Zg ∈()11nn ng h -=-()()()()22k k Z kk Z t h t k t g t k φφψφ∈∈⎧=-⎪⎨=-⎪⎩为便于表示小波包函数,引入以下新的记号:通过,,h,g 在固定尺度下可定义一组成为小波包的函数。

小波分析_matlab

小波分析_matlab

尺度信息
点击 按钮

6 观察局部极值线
点击 按钮
7.切换尺度信息与伪频率信息
8.局部放大
一维离散小波分析
分析-分解(Analysis –Decomposition)函数(Functions) 函数名 用途 单级分解
dwt
wavedec
wmaxlev
分解
最大分解级数
综合-重构(Synthesis-Reconstruction )函数 函数名 用途 单级重构
GUI一维离散小波分析
1. 运行WAVEMENU
2.点击 Wavelet 1-D 菜单项

进入一维信号离散小波分析界面
3.调用被分析信号

4. 单级小波分解
参数设定
点击
5. 查看信号局部细节
6. 多级小波分解
小波类型 分解级数 点击
选择不同的分解查看模式 Nhomakorabea
“Separate Mode,” 在不同的列内显示细节信 号和逼近信号.
10. 由3级分解重构信号 A0 = waverec(C, L, 'db1');

err = max(abs(s-A0))
11. 粗糙信号去噪(Crude de-noising) 用小波去噪需要知道信号的那一小波分量主要为 噪声信号,在信号重构时去掉该分量. 本例中第三级逼近信号,A3,即为原信号的去噪信号 subplot(2,1,1);plot(s);title('Original'); axis off subplot(2,1,2);plot(A3);title('Level 3 Approximation'); axis off

基于MATLAB的小波分析应用(第二版)(周伟)5-13章 (2)

基于MATLAB的小波分析应用(第二版)(周伟)5-13章 (2)

第6章 小波变换与图像处理
2. 图像的小波分解实例 下面通过两个例子说明如何对图像进行单尺度分解和多 尺度分解,并提取多尺度分解的小波系数。 【例6-1】 对图像进行单尺度分解。 在本例中说明如何对图像进行单尺度分解。程序中调用 函数dwt2对图像进行分解,并画出图像分解的低频分量和水 平、垂直和斜线方向的三个高频分量,可以看出低频分量表 现了图像的轮廓,而高频分量表现了图像的细节。 程序代码如下:
第6章 小波变换与图像处理 subplot(231);image(wcodemat(chd2,nbc)); title('尺度2水平方向的高频系数'); subplot(232);image(wcodemat(cvd2,nbc)); title('尺度2垂直方向的高频系数'); subplot(233);image(wcodemat(cdd2,nbc)); title('尺度2斜线方向的高频系数');
第6章 小波变换与图像处理
2. 图像的平稳小波变换实例 下面举例说明函数swt2的用法。 程序代码如下:
%加载图像 load tire; nbc = size(map,1); colormap(pink(nbc)); cod_X = wcodemat(X,nbc); subplot(221)
第6章 小波变换与图像处理
第6章 小波变换与图像处理
C = [ A(N) | H(N) | V(N) | D(N) | ... H(N-1) | V(N-1) | D(N-1) | ... | H(1) | V(1) | D(1) ]
式中,A为低频系数;H为水平高频系数;V为垂直高频系 数;D为斜线高频系数;所有向量均以列向量存储在矩阵C中。

小波学习之一(单层一维离散小波变换DWT的Mallat算法C++和MATLAB实现)

小波学习之一(单层一维离散小波变换DWT的Mallat算法C++和MATLAB实现)

⼩波学习之⼀(单层⼀维离散⼩波变换DWT的Mallat算法C++和MATLAB实现)1 Mallat算法离散序列的Mallat算法分解公式如下:其中,H(n)、G(n)分别表⽰所选取的⼩波函数对应的低通和⾼通滤波器的抽头系数序列。

从Mallat算法的分解原理可知,分解后的序列就是原序列与滤波器序列的卷积再进⾏隔点抽取⽽来。

离散序列的Mallat算法重构公式如下:其中,h(n)、g(n)分别表⽰所选取的⼩波函数对应的低通和⾼通滤波器的抽头系数序列。

2 ⼩波变换实现过程(C/C++)2.1 ⼩波变换结果序列长度⼩波的Mallat算法分解后的序列长度由原序列长SoureLen和滤波器长FilterLen决定。

从Mallat算法的分解原理可知,分解后的序列就是原序列与滤波器序列的卷积再进⾏隔点抽取⽽来。

即分解抽取的结果长度为(SoureLen+FilterLen-1)/2。

2.2 获取滤波器组对于⼀些通⽤的⼩波函数,简单起见,可以通过Matlab的wfilters(‘wavename’)获取4个滤波器;特殊的⼩波函数需要⾃⾏构造获得。

下⾯以db1⼩波函数(Haar⼩波)为例,其变换与重构滤波器组的结果如下://matlab输⼊获取命令>> [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('db1')//获取的结果Lo_D =0.7071 0.7071Hi_D =-0.7071 0.7071Lo_R =0.7071 0.7071Hi_R =0.7071 -0.70712.3 信号边界延拓在Mallat算法中,假定输⼊序列是⽆限长的,⽽实际应⽤中输⼊的信号是有限的采样序列,这就会出现信号边界处理问题。

对于边界信号的延拓⼀般有3种⽅法,即零延拓、对称延拓和周期延拓。

3种延拓⽅法⽐较情况如下:对于正交⼩波变换来说,前两种延拓⽅法实现起来⽐较简单,但重建时会产⽣边界效应,⽽且分解的层数越多,产⽣的边界效应越显著。

matlab离散小波变换dwt(小波分解)

小波变换是一种在信号处理领域广泛应用的数学工具,它可以将信号分解成不同尺度和频率成分,具有良好的局部化特性。

在Matlab中,离散小波变换(Discrete Wavelet Transform, DWT)是其中一种常用的小波变换方法,它广泛应用于图像处理、语音处理、数据压缩等领域。

本文将对Matlab中离散小波变换的原理、应用及实现方法进行详细介绍。

1. 离散小波变换的原理离散小波变换是通过将信号经过多级高通和低通滤波器的卷积运算,然后下采样,最终得到近似系数和细节系数的过程。

具体来说,设输入信号为x[n],高通滤波器为h[n],低通滤波器为g[n],则小波变换的原理可以表述为:\[a_{\text{scale},n} = x[n]*h_{\text{scale},n} \]\[d_{\text{scale},n} = x[n]*g_{\text{scale},n} \]其中,a为近似系数,d为细节系数,scale表示尺度,n表示离散时间序列。

2. Matlab中离散小波变换的应用离散小波变换在Matlab中有着广泛的应用,包括但不限于图像处理、语音处理、数据压缩等领域。

其中,图像处理是离散小波变换最为常见的应用之一。

通过对图像进行小波变换,可以将图像分解成不同尺度和频率的分量,实现图像的分析和处理。

在语音处理领域,离散小波变换可以用于信号降噪、语音特征提取等方面。

在数据压缩领域,离散小波变换可以实现对数据的降维和提取主要信息,从而实现数据的压缩存储。

3. Matlab中离散小波变换的实现方法在Matlab中,可以通过调用相关函数来实现离散小波变换。

其中,dwt函数是Matlab中常用的离散小波变换函数之一。

其调用格式为:\[cA = dwt(X,'wname','mode')\]\[cA, cD = dwt(X,'wname','mode')\]其中,X为输入信号,'wname'为小波基函数的名称,'mode'为信号的扩展模式。

matlab小波分解程序

matlab小波分解程序小波分解是一种信号处理的方法,可以用于信号的分析和压缩。

在MATLAB中,可以使用内置的`wavedec`函数来进行小波分解。

下面是一个简单的MATLAB小波分解程序示例:matlab.% 创建一个示例信号。

x = randn(1,1024);% 选择小波基和分解级别。

wname = 'db4'; % 选择小波基,这里使用db4小波。

level = 3; % 选择分解级别。

% 进行小波分解。

[c, l] = wavedec(x, level, wname);% 从分解系数和长度信息中重构近似和细节系数。

appx = wrcoef('a',c,l,wname,level); % 近似系数。

det1 = wrcoef('d',c,l,wname,1); % 第一层细节系数。

det2 = wrcoef('d',c,l,wname,2); % 第二层细节系数。

det3 = wrcoef('d',c,l,wname,3); % 第三层细节系数。

% 绘制原始信号和重构的近似信号。

t = 1:1024;subplot(2,1,1);plot(t, x);title('Original Signal');subplot(2,1,2);plot(t, appx);title('Approximation Coefficients'); % 显示细节系数。

figure;subplot(3,1,1);plot(t, det1);title('Detail Coefficients Level 1'); subplot(3,1,2);plot(t, det2);title('Detail Coefficients Level 2'); subplot(3,1,3);plot(t, det3);title('Detail Coefficients Level 3');在这个示例中,我们首先生成了一个长度为1024的随机信号。

基于MATLAB的小波分析应用(第二版)(周伟)1-4章 (2)


说明 获取在消噪或压缩过程中的默认阈值 去噪的阈值选择 获取一维或二维小波去噪阈值 使用 Birgé-Massart 算法获取一维小波变换的阈值 使用 Birgé-Massart 算法获取二维小波变换的阈值 使用小波进行一维信号的自动消噪 用小波进行消噪或压缩 产生含噪声的小波测试数据 估计一维小波系数的噪声 小波包去噪的阈值选择 用小波包变换进行信号的压缩或去噪 小波包分解系数的阈值处理 一维信号小波系数的阈值处理 二维信号小波系数的阈值处理 软阈值或硬阈值处理 阈值设置管理
说明 尺度对应频率 尺度函数 二维尺度函数 小波管理 小波滤波器组 最大小波分解尺度
第2章 MATLAB小波工具箱简介 3. 小波函数 MATLAB小波工具箱提供的小波变换函数如表2-3所示,它 们主要用于产生一些基本的小波函数及其相应的滤波器。
第2章 MATLAB小波工具箱简介
表2-3 小波变换函数
第2章 MATLAB小波工具箱简介 表2-6 二维离散小波变换函数
函数名 appcoef2 detcoef2
dwt2 dwtmode
idwt2 upcoef2
说明 提取二维小波分解的低频系数 提取二维小波分解的高频系数 单尺度二维离散小波变换 离散小波变换的延拓模式 单尺度二维离散小波逆变换 二维小波分解系数的直接重构
第2章 MATLAB小波工具箱简介
表2-15 树 管 理 函 数
函数名
说明
函数名
说明
allnodes 计算树结点
noleaves 列举非终结点
函数名 laurpoly ls2filt
lsinfo lwt lwt2
lwtcoef lwtcoef2 wave2lp wavenames
说明 构造 Laurent 多项式 将提升方案转化为滤波器组 关于提升方案的信息 一维提升小波变换 二维提升小波变换 一维提升小波变换系数的提取或重构 二维提升小波变换系数的提取或重构 将 Laurent 多项式与小波关联 能够应用于提升小波变换的小波名称

MATLAB小波变换指令及其功能介绍(超级有用)(可编辑修改word版)

MATLAB 小波变换指令及其功能介绍1一维小波变换的 Matlab 实现(1)dwt 函数功能:一维离散小波变换格式:[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 个点。

2二维小波变换的 Matlab 实现二维小波变换的函数别可以实现一维、二维和 N 维 DFT函数名函数功能dwt2 二维离散小波变换wavedec2 二维信号的多层小波分解idwt2 二维离散小波反变换waverec2 二维信号的多层小波重构wrcoef2 由多层小波分解重构某一层的分解信号upcoef2 由多层小波分解重构近似分量或细节分量detcoef2 提取二维信号小波分解的细节分量appcoef2 提取二维信号小波分解的近似分量upwlev2 二维小波分解的单层重构dwtpet2 二维周期小波变换idwtper2 二维周期小波反变换(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 维 DFTOPT='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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

小波分析的应用及其MATLAB程序的实现
摘要:在简单介绍小波分析的发展的基础上,对傅立叶变换和小波变换比较
分析,介绍了小波分析在实际生活中的应用,重点阐述了MA的应用研究现存的
几个TLAB小波分析信号处理的方法.分析了小波分析在故障诊断中问题,并对
解决这些问题和未来的发展进行了探讨。
关键词:小波分析;信号处理;MATLAB
1.引言
故障诊断中的首要问题就是对观测信号的故障特征提取,即对观测信号进行
信号处理,从中获取反映故障信息的特征。由于故障诊断中所遇到的信号绝大多
数都是非平稳信号,而特别适用于非平稳信号处理的工具就是小波分析,所以小
波分析在故障诊断中的应用越来越受到人们的青睬。小波变换的基本思想类似于
傅立叶变换,小波分析优于博立叶之处在于它能够实现时域和频域的局部分析,
即通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析,从而可以聚焦
到信号的任意细节。因此,小波变换被誉为分析信号的微镜。现在,小波分析技
术在信号处理、图像处理、语音分析、模识别、量子物理、生物医学工程、计算
机视觉、故障诊断及众多非线性科学领域都有广泛的应用。
2、从傅立叶变换到小波变换
小波分析属于时频分析的一种,传统的信号分析是建立在傅立叶变换的基础
上的,由于傅立叶分析使用的是一种全局的变换,要么完全在时域,要么完全在
时域,要么完全在频域,因此无法表述信号的时频局域性质,而这种性质恰恰是
非平稳信号最根本和最关键的性质。为了分析和处理非平稳信号,人们对傅立叶
分析进行了推广乃至根本性的革命,提出并发展了一系列新的信号分析理论:短
时傅立叶变换、Gabor变换、时频分析、小波变换、分数阶傅立叶变换、线调频
小波变换、循环统计量理论和调幅-调频信号分析等。其中,短时傅立叶变换和
小波变换也是应传统的傅立叶变换不能够满足信号处理的要求而产生的。短时傅
立叶变换分析的基本思想是:假定非平稳信号在分析窗函数g(t)的一个短时
间间隔内是平稳(伪平稳)的,并移动分析窗函数,使)()(tgtf在不同的有限
时间宽度内是平稳信号,从而计算出各个不同时刻的功率谱。但从本质上讲,短
时傅立叶变换是一种单一分辨率的信号分析方法,因为它使用一个固定的短时窗
函数。因而短时傅立叶变换在信号分析上还是存在着不可逾越的缺陷。
小波变换是一种信号的时间—尺度分析方法,它具有多分辨率分析的特点,
而且在时频两域都具有表征信号局部特征的能力,是一种窗口大小固定不变但其
形状可改变,时间窗和频率窗都可以改变的时频局部化分析方法。即在低频部分
具有较高的频率分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨
率,很适合于探测正常信号中夹带的瞬态反常现象并展示其成分,所以被誉为分
析信号的显微镜,利用连续小波变换进行动态系统故障检测与诊断具有良好的效
果。
3、Matlab 信号小波降噪的应用
信号的降噪和压缩是小波的重要应用之一,小波能够降噪主要基于小波变换
具有如下三大特点:
(1) 多分辨率特性:由于采用了多分辨率的方法,所以可非常好地刻画出信
号的非平稳性,如突变和断点等,可以在不同分辨率下根据信号和噪声的分布来
消噪。
(2) 去相关性:小波变换可对信号去相关,且噪声在变换后有白化趋势,所
以小波域比时域更利于去噪。
(3) 基函数选择灵活:小波变换可以灵活选择基函数,也可根据信号特点和
降噪要求选择多带小波、小波变换等,对不同的场合,可以选择不同的小波母函
数。

所用到的主要函数有
Wden 函数
【函数功能】使用小波进行一维自动降噪。
【语法格式】[xd,cxd,lxd]=wden(x,tptr,sorh,scal,n,‘wname’);
返回经过小波消噪处理后的信号xd及其小波分解结构。
Scal定义了阈值的调整:
*scal=‘one’时,表示不要调整
*scal=‘owo’时,表示对第一层系数噪声进行一次估计、调整
*scal=‘mln’时,表示使用对各层噪声分别进行估计和调整
小波分解在n层时,使用的正交小波是wname

Wdencmp
【函数功能】是用小波降噪和压缩
【语法格式】[xc,cxc,lxc,perf0,perfl2]=wdencmp(‘gbl’,X,’
wname’,N,THR,SORH,KRRPAPP)
【使用说明】该函数是一维或二维小波压缩或降噪的向导函数,它使用小波,
对信号或图像执行降噪或压缩过程。

%装载语音信号
N=1024;
s=wavread('wangwenzhen.wav',N);
figure(1);
plot(1:N,s,'LineWidth',2);
xlabel('时间 n');ylabel('幅值 A');
s=s+0.001*randn(1,N)';
%用小波db3对s进行5层分解
level=5;
[c,l]=wavedec(s,level,'db3');
%选用全局阈值进行信号增强处理
thr=5;
[sd,csd,lsd,perf0,perfl2]=wdencmp('gbl',c,l,'db3',level,thr,'h',1);
figure(2);
subplot(2,1,1); plot(s,'LineWidth',2);
title('加噪声后的信号');
%xlabel('时间 n');
ylabel('幅值 A');
subplot(2,1,2);
plot(sd,'LineWidth',2); title('压缩后的信号');
xlabel('时间 n');ylabel('幅值 A');

原始的语音信号波形如图1所示,可以看见语音信号中含有一定的噪音,为
了突出效果,更有说服力,先对此段语音信号追加噪声信号如图2,然后再对其
利用小波变换进行分解,最后重构后得到的信号如图3。从图中明显可以看出,
增强后的语音信号很光滑,基本不含有噪音的成分了。
4.总结
(1)小波分析是一种在时间域和频率域都可改变分析方法,利用小波分析
并选择合适的阀值,处理信号消噪技术是非常有效的。
(2)Matlab语言提供了强大的数值计算和显示平台,Matlab小波工具箱中
有大量的函数可供调用,大大节省了在格式转换和计算编程上花费的时间,可以
很方便的解决实际问题。
参考文献:
[1]张贤达.现代信号处理(第二版)[M].北京:清华大学出版社,2002.
[2]陈武凡.小波分析及其在图像处理中的应用[M].北京:科学出版社,2002.
[3]胡昌华,张军波,夏军等.基于MATLAB的系统分析与设计——小波分析
[M].西安:西安电子科技大学出版社,2002.
[4]梁虹,梁洁,陈跃斌.信号系统分析与MATLAB实现[M].北京:电子工业
出版社,2002.
[5]胡昌华等,基于MATLAB的系统分析与设计[M].西安:西安电子科技大学
出版社,2000.
[6]李建平,唐远炎.小波分析方法的应用[M].重庆:重庆大学出版社,2001.

小波分析的应用及其MATLAB程序的实现


专业:机械设计制造及其自动化
班级:机械082班
姓名: 王文贞
学号:0802070203
指导老师:关山

相关文档
最新文档