小波变换分解与重构_小波变换和小波分解

小波变换分解与重构_小波变换和小波分解转:天津大学小波分析宗婧1015202078原理可参考:https://wenku.baidu.com/view/73439a6d5901020207409cd5.html1、单层小波分解%1.单层小波分解%读入信号loadleleccum;s=leleccum(1:4000);%通过db4小波基进行离散小波变换[cA1,cD1]=dwt(s,’d…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

转:天津大学 小波分析 宗婧 1015202078

原理可参考:https://wenku.baidu.com/view/73439a6d5901020207409cd5.html

1、单层小波分解

%1. 单层小波分解 
 %读入信号 
 load leleccum; s=leleccum(1:4000); 
 %通过db4小波基进行离散小波变换 
 [cA1,cD1]=dwt(s,'db4'); 
 figure(1);
 subplot(311);plot(s); title('Original signal'); 
 subplot(323); plot(cA1); title('Approx.coef.for db4'); 
 subplot(324); plot(cD1); title('Detail coef.for db4'); 

小波变换分解与重构_小波变换和小波分解

%上图我们可以看到经过db4小波一层分解之后的高频信息和低频信息。 

2、 单尺度一维小波的重构

 %用小波函数db4进行信号重构 
 ss=idwt(cA1,cD1,'db4'); 
 err=norm(s-ss); 
 figure(2),plot(ss); 
 %1 天津大学 小波分析 宗婧 1015202078 重构完成后的误差为3.53e-10。 重构完成后的函数与分解前的函数相同,仅仅存在很小很小可以忽略为0 的误差。 

小波变换分解与重构_小波变换和小波分解

3、 多层小波分解

上文是使用单层小波分解,下面使用wavedec 函数进行多层小波分解,并显示分解后的低 频高频信息。

 %通过db4小波基进行三尺度小波分解 
 [c,l]=wavedec(s,3,'db4'); 
 a1=appcoef(c,l,'db4',1); 
 %提取尺度1的低频系数 
 a2=appcoef(c,l,'db4',2); 
 %提取尺度2的低频系数 
 a3=appcoef(c,l,'db4',3); 
 %提取尺度3的低频系数 
 figure(3); 
 subplot(321);plot(a1);title('尺度1的低频系数'); 
 subplot(323);plot(a2);title('尺度2的低频系数'); 
 subplot(325):plot(a3):title('尺度3的低频系数'); 
 d1=detcoef(c,l,1);
 d2=detcoef(c,l,2);
 d3=detcoef(c,l,3); 
 figure(3);
 subplot(322);plot(d1);title('尺度1的高频系数'); 
 figure(3);subplot(324);plot(d2);title('尺度2的高频系数'); 
 figure(3);subplot(326);plot(d2);title('尺度3的高频系数'); 

小波变换分解与重构_小波变换和小波分解

4、多层小波重构

上文中,使用wavedec 函数对小波进行了db4,三尺度分解,现在,使用waverec 将原信号重构,(包括低频和高频)。

c1=[a3,d3,d2,d1];
 s1=waverec(c1,l,'db4'); 
 figure(4); plot(s1); title('重构信号'); 
 err2=norm(s-s1); 
 %重构后误差为1.09E-09 (2 )高频置零后重建 当然,如果认为高频信息是不需要的时候,我们可以将高频信息置零后重构低频信息。 
 d3=zeros(1,length(d3));
 d2=zeros(1,length(d2));
 d1=zeros(1,length(d1));
 c1=[a3,d3,d2,d1];
 s1=waverec(c1,l,'db4');
 figure(4);
 subplot(211),plot(s);title('原始信号');
 subplot(212),plot(s1),title('重构信号');

小波变换分解与重构_小波变换和小波分解

上图重构信号对1、2、3层的高频信号进行了过滤。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179626.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • protostuff java_protostuff

    protostuff java_protostuff软件简介protostuff是一个支持各种格式的一个序列化Java类库,包括JSON、XML、YAML等格式。示例代码:publicclassUserSchemaimplementsSchema{publicbooleanisInitialized(Useruser){returnuser.getEmail()!=null;}publicvoidmergeFrom(In…

  • matlab从小到大的冒泡排序_matlab比较两个数大小

    matlab从小到大的冒泡排序_matlab比较两个数大小[1,2,3];%冒泡法排序,注意的是特征值顺序变化的同时要与相对应的下标同…转换完之后对向量进行逆序排列,我看到有同学硬是写了一个冒泡排序来完成这个工作,你的数据结构老师一定非常欣慰。但是在MATLAB里不用从头开始,直接调用sort……3.实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort函数…三分搜索法hdu1016PrimeRi…

    2022年10月18日
  • 设置时区定位可以关闭吗_监控时区设置是什么意思

    设置时区定位可以关闭吗_监控时区设置是什么意思mysql的驱动jar包升级到了8.0版本以上。升级后从mysql中查出的时候,全都比数据库的时间多13小时,而且这些时间存到数据库的时间,有些是正确的时间,有时比正确时间少13小时,这样返回给前端的时间就不准确,解决这个问题只要在springboot的数据库连接配置中增加一段配置就能解决问题。这个时区要设置好,不然会出现时差,如果你设置serverTimezone=UTC,连接不报错,但是我们在用java代码插入到数据库时间的时候却出现了问题。比如在java代码里面插入的时间为:2021-0.

  • Laravel5 call to undefined function openssl cipher iv length() 报错 PHP7开启OpenSSL扩展失败

    Laravel5 call to undefined function openssl cipher iv length() 报错 PHP7开启OpenSSL扩展失败

    2021年10月20日
  • Telerik RadControls for ASP.NET AJAX 2010 Q2最新版下载+源码下载

    Telerik RadControls for ASP.NET AJAX 2010 Q2最新版下载+源码下载TelerikRadControlsforASP.NETAJAX2010Q2RadControlsforASP.NET是一套强大的用户界面控件套装,它可以帮助您创建拥有桌面应用程序华丽外表和高速性能的Web应用程序。18种可靠的UI及数据控件全面提供AJAX性能,使用户可以得到高级的体验。但RadControlsforASP.NET不仅仅只支持AJAX,尽管其包含的控件以一流的性能帮助开发者执行AJAX。RadControlsforASP.NET同样还可以跨浏览器支持,兼容XHTM

  • 永恒之蓝 wannacry_永恒之蓝病毒攻击原理

    永恒之蓝 wannacry_永恒之蓝病毒攻击原理1.直接关闭server服务打开cmd执行关闭server服务即可:netstopserver控制面板–管理工具–服务里手动关掉 2.防火墙限制445端口   3.打补丁【KB4012598】:http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598适用于WindowsXP32位…

    2022年10月16日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号