- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小波信号分解与重构的Matlab程序.doc
Matlab小波分析工具箱丰富的函数和强大的仿真功能为我们学习小波、用好小波提供了方便、快捷的途径,但是,如果我们要深入掌握小波分析的原理,真正学好、用好小波,就应该尽量用自己编写的程序去实现小波变换和信号分析,尽量在自己的程序中少调用Matlab提供的函数,多用自己的理解去编写相关的小波函数,这样的过程是一个探索、求知的过程,更能让我们体会到小波的强大和学习的乐趣。下面,我把自己编写的小波一维、二维信号分解和重构Matlab程序共享出来,也希望有朋友共享自编的程序,共同学习,提高程序的效率和简洁性。
首先要说明的一点是,虽然是自己编写Matlab程序,但并不是说一点也不用Matlab的自带函数。我们要编写的是实现小波变换的主要功能函数,而绘图等基本功能还是要用到Matlab函数的。而且,根据小波变换的滤波器组原理,原始信号要通过低通、高通滤波器处理,这里就涉及到卷积这一运算步骤。卷积——FFT算法的实现,相信很多朋友都能用 Matlab、C语言等来实现,不过与Matlab自带的用机器语言编写的FFT程序相比,运算速度一般会慢几倍、几十倍。所以,我的程序里边涉及卷积的就直接调用Matlab的conv()函数了。
我们知道,小波变换的一级分解过程是,原始信号分别进行低通、高通滤波,再分别进行二元下抽样,就得到低频、高频(也称为平均、细节)两部分系数;而多级分解则是对上一级分解得到的低频系数再进行小波分解,是一个递归过程。以下是一维小波分解的程序:
function [cA,cD] = mydwt(x,lpd,hpd,dim);% 函数 [cA,cD]=MYDWT(X,LPD,HPD,DIM) 对输入序列x进行一维离散小波分解,输出分解序列[cA,cD]% 输入参数:x——输入序列;%????????? lpd——低通滤波器;%????????? hpd——高通滤波器;%????????? dim——小波分解级数。% 输出参数:cA——平均部分的小波分解系数;%?????????? cD——细节部分的小波分解系数。cA=x;?????? % 初始化cA,cDcD=[];for i=1:dim??? cvl=conv(cA,lpd);?? % 低通滤波,为了提高运行速度,调用MATLAB提供的卷积函数conv()??? dnl=downspl(cvl);?? % 通过下抽样求出平均部分的分解系数??? cvh=conv(cA,hpd);?? % 高通滤波??? dnh=downspl(cvh);?? % 通过下抽样求出本层分解后的细节部分系数??? cA=dnl;???????????? % 下抽样后的平均部分系数进入下一层分解??? cD=[cD,dnh];??????? % 将本层分解所得的细节部分系数存入序列cDendfunction y=downspl(x);% 函数 Y=DOWMSPL(X) 对输入序列进行下抽样,输出序列 Y。% 下抽样是对输入序列取其偶数位,舍弃奇数位。例如 x=[x1,x2,x3,x4,x5],则 y=[x2,x4].N=length(x);??????? % 读取输入序列长度M=floor(N/2);??????? % 输出序列的长度是输入序列长度的一半(带小数时取整数部分)i=1:M;y(i)=x(2*i);
而重构则是分解的逆过程,对低频系数、高频系数分别进行上抽样和低通、高通滤波处理。要注意重构时同一级的低频、高频系数的个数必须相等。
function y = myidwt(cA,cD,lpr,hpr);% 函数 MYIDWT() 对输入的小波分解系数进行逆离散小波变换,重构出信号序列 y% 输入参数:cA —— 平均部分的小波分解系数;%?????????? cD —— 细节部分的小波分解系数;%?????????? lpr、hpr —— 重构所用的低通、高通滤波器。lca=length(cA);???????????? % 求出平均、细节部分分解系数的长度lcd=length(cD);while (lcd)=(lca)????????? % 每一层重构中,cA 和 cD 的长度要相等,故每层重构后,??????????????????????????? % 若lcd小于lca,则重构停止,这时的 cA 即为重构信号序列 y 。??? upl=upspl(cA);????????? % 对平均部分系数进行上抽样??? cvl=conv(upl,lpr);????? % 低通卷积?? ??? cD_up=cD(lcd-lca+1:lcd);??? % 取出本层重构所需的细节部分系数,长度与本层平均部分系数的长度
您可能关注的文档
最近下载
- 餐饮值班管理课程培训.pptx
- 尔雅《批判与创意思考》课后习题+期末试题.docx VIP
- 6-4正奇租赁二期资产支持专项计划现金流预测分析报告1213日.pdf
- 算法设计与分析(北航)中国大学MOOC慕课 章节测验期末考试客观题答案.docx
- 2024年山东省济宁市中考化学试卷(附答案).docx VIP
- T IAC CAMRA 50-2024 《事故汽车常用零部件修复与更换判别规范》(2).pdf
- 北师大版数学八年级下册第六章 平行四边形 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一致性).docx
- 长江经济带港口发展研究(2011~).docx VIP
- 染色技术 8.1 涤纶结构特点和分散染料分类 8.1 涤纶结构特点、分散染料分类.pptx
- 人教版三年级下册必读书目《中国古代寓言故事》 .pdf
文档评论(0)