Matlab之小波滤波函数.docx

上传人:b****6 文档编号:4435822 上传时间:2022-12-01 格式:DOCX 页数:18 大小:671.65KB
下载 相关 举报
Matlab之小波滤波函数.docx_第1页
第1页 / 共18页
Matlab之小波滤波函数.docx_第2页
第2页 / 共18页
Matlab之小波滤波函数.docx_第3页
第3页 / 共18页
Matlab之小波滤波函数.docx_第4页
第4页 / 共18页
Matlab之小波滤波函数.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Matlab之小波滤波函数.docx

《Matlab之小波滤波函数.docx》由会员分享,可在线阅读,更多相关《Matlab之小波滤波函数.docx(18页珍藏版)》请在冰豆网上搜索。

Matlab之小波滤波函数.docx

Matlab之小波滤波函数

Matlab之小波滤波函数

南京理工大学仪器科学与技术专业谭彩铭

2010-3-20

1wfilters函数

[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters('wname')computesfourfiltersassociatedwiththeorthogonalorbiorthogonalwaveletnamedinthestring'wname'.

Thefouroutputfiltersare

Lo_D,thedecompositionlow-passfilter

Hi_D,thedecompositionhigh-passfilter

Lo_R,thereconstructionlow-passfilter

Hi_R,thereconstructionhigh-passfilter

2biorfilt函数

Thebiorfiltcommandreturnseitherfouroreightfiltersassociatedwithbiorthogonalwavelets.

3orthfilt函数

[Lo_D,Hi_D,Lo_R,Hi_R]=orthfilt(W)computesthefourfiltersassociatedwiththescalingfilterWcorrespondingtoawavelet

4biorwaef函数

[RF,DF]=biorwavf(W)returnstwoscalingfiltersassociatedwiththebiorthogonalwaveletspecifiedbythestringW.

5coifwavf函数

F=coifwavf(W)returnsthescalingfilterassociatedwiththeCoifletwaveletspecifiedbythestringWwhereW='coifN'.PossiblevaluesforNare1,2,3,4,or5

6dbaux函数

W=dbaux(N,SUMW)istheorderNDaubechiesscalingfiltersuchthatsum(W)=SUMW.PossiblevaluesforNare1,2,3,...

W=dbaux(N)isequivalenttoW=dbaux(N,1)

W=dbaux(N,0)isequivalenttoW=dbaux(N,1)

7dbwavf函数

F=dbwavf(W)returnsthescalingfilterassociatedwithDaubechieswaveletspecifiedbythestringWwhereW='dbN'.PossiblevaluesforNare1,2,3,...,45.

8mexihat函数

[PSI,X]=mexihat(LB,UB,N)returnsvaluesoftheMexicanhatwaveletonanNpointregulargrid,X,intheinterval[LB,UB].

OutputargumentsarethewaveletfunctionPSIcomputedonthegridX.

Thiswavelethas[-55]aseffectivesupport.

ThisfunctionisproportionaltothesecondderivativefunctionoftheGaussianprobabilitydensityfunction.

9waveinfo函数

waveinfoprovidesinformationonallwaveletswithinthetoolbox.

10meyer函数

11meyeraux函数

12morlet函数

13symwavf函数

F=symwavf(W)returnsthescalingfilterassociatedwiththesymletwaveletspecifiedbythestringWwhereW='symN'.PossiblevaluesforNare2,3,...,45.

14一维离散小波变换相关联的函数

所谓的单尺度指进行一层小波分解,我想其分解的过程应该是简单的一个高通,一个低通FIR滤波算法,再分别按2下采样(每两个点舍去一个点)。

从一定程度上验证这个问题有一个比较简单的方法。

dwt函数的输入参数可以是小波名称,也可以是滤波器组系数,两者分别尝试,观察结果是否相同。

程序如下。

图1

图2

可见分解的过程就是简单的类似FIR滤波运算的过程(一个高通,一个低通),那么重构的过程是什么呢?

我们看下图所示程序。

图3

图4

可见,小波重构的过程也是简单地类似FIR滤波运算的过程。

那么,小波滤波的过程是什么呢?

还有个问题,matlab小波分解与小波重构后的信号和原信号之间有误差,那么这个误差是如何产生的?

15完全重构滤波器组

实际编写的小波滤波算法中,其过程实际上就是完全重构滤波器进行滤波的过程,参考杨志华杨力华译《小波基础及应用教程》中关于滤波器组的介绍。

对于下图一个简单系统,其中H是FIR滤波器。

确有W(z)=H(z)V(z)吗?

设v=[v

(1)v

(2)v(3)v(4)v(5)],H=[a

(1)a

(2)a(3)a(4)]。

则有

那么由W(z)=H(z)V(z)知,对应的W(z)为

这样,你应该清楚得出的w序列是什么了,matlab中的conv命令恰好对应上式中的运算。

常规理解是进来几个数,应该就出去几个数,这里输出序列w的数量多于输入序列v的数量。

当然实际中输入序列v的数量是很多的,一头一尾多出的几个数完全可以忽略。

下列程序验证了完全重构滤波器

图5

当输入数据很多时,舍去前3个数和后3个数,输出信号和原信号一模一样。

程序及输出结果如下面图所示。

图6

图7

16完全重构滤波器组的滤波效应

对db2小波的4个滤波系数[Lo_D,Hi_D,Lo_R,Hi_R],观察图5,图6中的程序,实际使用的滤波系数应为[h0,h1,h2,h3]=wfilters('db2')命令得到的滤波系数的倒序所得。

下面我们来看看滤波系数h0和滤波系数h00之间的区别,其中

h0=[-0.12940.22410.83650.4830];

h00=[0.48300.83650.2241-0.1294];

二者从形式上看只是顺序反了。

输入下图所示程序,并观察结果。

图8

图9

对于这一点,理论证明很简单

即证明

,两边经展开化简后易证明等式成立。

对FIR滤波器,其滤波系数数量不论为多少,系数倒序后的幅频响应特性和倒序前的幅频响应特性是一样的。

研究完全重构滤波器组的滤波效应,我们似乎还是离不开一正弦波为基的经典滤波分析理论,因为小波分解过程依然是FIR滤波。

(此句有误,看起来像是FIR滤波,但是还有重构的过程,整个过程还是由若干不同尺度的尺度函数和小波函数的组合,所谓的低通滤波,即去掉高频的小波函数部分)

17wavedec和wrcoef函数

Wavedec函数:

wavedecperformsamultilevelone-dimensionalwaveletanalysisusingeitheraspecificwavelet('wname')oraspecificwaveletdecompositionfilters(Lo_DandHi_D,seewfilters).

[C,L]=wavedec(X,N,'wname')returnsthewaveletdecompositionofthesignalXatlevelN,using'wname'.Nmustbeastrictlypositiveinteger(seewmaxlevformoreinformation).TheoutputdecompositionstructurecontainsthewaveletdecompositionvectorCandthebookkeepingvectorL.Thestructureisorganizedasinthislevel-3decompositionexample:

图10

wrcoef函数:

wrcoefreconstructsthecoefficientsofaone-dimensionalsignal,givenawaveletdecompositionstructure(CandL)andeitheraspecifiedwavelet('wname',seewfiltersformoreinformation)orspecifiedreconstructionfilters(Lo_RandHi_R).

这两个函数是构成一维小波滤波程序的主要部分,程序及输出结果如下。

图11

图12

18编写能较方便使用的小波滤波子程序

下列程序为从低层开始编写的一维小波滤波程序,其中tip变量的引入是因为根据输入数据的长度的奇偶不一样会导致程序有小小的不同。

我没有仔细研究matlab中DWT函数是如何统一处理数据长度的的问题。

图13

图14

图15

图16

输出结果如下,

图17

19小波滤波原理简析

通常我们所用的的小波程序的编写都是基于完全重构滤波器组的内容。

但是我们初次学习小波理论时,看见的描述一般是这样的,说一个信号可以由某个主基经伸缩或延长后得到的基来表示。

比较神奇的是,完全重构滤波器可以和小波对应,之前已经研究过这个问题。

所谓的多分辨分析就是以完全重构滤波器为基础的。

图13中程序的滤波原理就是去掉db2小波基对应系数比较大的部分。

db2小波反映的往往是信号的变化部分,衰减这部分相当于滤掉了高频部分。

20小波阈值去噪法

上面内容取自(截屏)下图所示文献:

下面,更改图13对应的程序中的局部内容,得到硬阈值,软阈值和模平方阈值三种方法的输出结果。

需要修改的程序内容有:

(1)图13程序中,将door值设为0.8

(2)图16程序要做较大的修改,如下图所示。

注释不同的语句,得到三个输出图形。

现在问题是图13所示程序中的door值(即阈值)如何确定。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1