当前位置:首页 > 代码 > 正文

一维小波变换代码(一维小波变换和二维的区别)

admin 发布:2022-12-19 19:44 159


今天给各位分享一维小波变换代码的知识,其中也会对一维小波变换和二维的区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

一维离散小波逆变换idwt调用方式

(1)X=idwt(cA,cD,‘wname’)

(2)X=idwt(cA,cD,Lo_R,Hi_R)

(3)X=idwt(cA,cD,‘wname’,L)

(4)X=idwt(cA,cD,Lo_R,Hi_R,L)

说明:该函数用于单尺度一维离散小波变换的重构。对格式(1)、(3),它是用小波函数进行重构,对于(2)、(4)它是用重构滤波器进行重构,其中,cA和cD的长度是相等的,Lo_R和Hi_R的长度是相等的。返回系数X为重构后信号的向量。如果cA的长度为la,Lo_R的长度为lf,则X的长度为length(X)=2*la lf+2。对于格式(3)、(4),则是对信号中间长度为L的部分进行重构,L<2*la lf+2。

[例6-16]load leleccum;%装载原始一维信号

s=leleccum(1:1000);

subplot(6,2,1);plot(s);

title(‘原始信号’);

%下面用db2波函数进行一维离散小波变换

[ca,cd]=dwt(s,‘db2’);

%用波函数db2进行信号的重构

图6-42 一维离散小波逆变换idwt

xl=idwt(ca,cd,‘db2’);

subplot(625);plot(xl);

title(‘小波重构’);

errxlmax=max(abs(s-xl));

errxl=s-xl,

Subplot(626);plot(errxl);

Title(‘小波重构误差’);

Axis([0,1000,-2e-11,2e-11]);

%产生一个与db2相关的重构滤波器

[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(‘db2’);

%用分解滤波器对信号s进行一维小波分解

[ca,cd]=dwt(s,Lo_D,Hi_D);

%用重构滤波器进行信号的重构

x2=idwt(ca,cd,Lo_R,Hi_R);

subplot(6,2,9);plot(x2)

title(‘滤波器重构’);

errx2max=max(abs(s-x2))

errx2=s-x2;

subplot(6,2,10);plot(errx2);

title(‘滤波器重构误差’);

axis([0,1000,-2e-11,2e-11]);

从上面的分析可以看出,采用小波重构和与重构滤波器进行重构,其效果基本上是一样的,它们在重构精度上存在着较小的差别。

请问一维时域信号的连续小波变换用matlab怎么做

1,把第一个图的数据在matlab里的workplace搞出来

2,然后matlab主框输入sptool

3,然后在signals里面import workplace里面的数据

4,然后在signal里面选中刚才那个数据,然后再spectra的下面点create

4,然后出来个框 method里面选择FFT,然后设上阶数,apply即可搞定!

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrixlaboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

一维离散小波变换函数使用总结

matlab自带的小波分析工具非常全!实际工作中直接用即可。但是刚开始使用会遇到挫折:它的函数太多,并且它们的" 名称、功能、配套使用 "等要求都有些" 相近 ",很容易导致糊涂!因此本文的总结与配套实例很具有参考价值!

下面先列举3条关键理解,后面会用到:

下面介绍最容易让人糊涂的matlab一些自带函数的说法与用途(都是针对离散小波变换),不同的函数有不同的 适用处 于 搭配函数 .

分解与重构/恢复信号:

系数重构:需理解其作用 √ √ √

系数提取:

说明: "系数提取"只有"多级分解"才会用的到! 1级分解是不需要"系数提取"的!因为就分成了低频和高频2个部分,直接用1维或2维分解函数的返回结果就行了!所以:多级分解的系数提取,就相当于1级分解后的返回结果的直接画图。

上面就是容易搞混的几个操作与使用搭配。

还是要着重强调一点:用自带的函数做完" 小波分解 "后,得到的" 小波系数 "是" 没有量纲 "的!可以理解为原始信号域 映射 到小波域(小波域不是什么具体的东西,只是为了方便理解)!只有把分解出来的" 小波系数 "再做" 系数重构 "后,才能回到原始的信号域,得到原始信号的不同的 低频和高频 子信号成分(还是时域的显示)。

下面我们先给出具体的例子( 一维 离散数据),再总结每个函数具体的语法:

figure(1)效果:

figure(2)效果:

figure(1)效果:

figure(2)效果:

figure(3)效果:

语法总结按照上面的2个例子( 一维离散数据 )进行。

(1)首先总结例1中的函数语法:

(2)总结例2中的函数语法:

这个函数的返回值可能凭语言不好理解,直接看图6示意图就很好理解。注意到:C中是所有分解出来的东西( 系数 )的一个 大汇总 ,即都在一个大矩阵里! 所以就需要从C中把各个系数提取出来 。

说明:分解N级,要做 N个高频 细节部分的的 系数提取 , 低频 近似 只用做一次 !

说明:分解N级,要做 N个高频 细节部分的的 系数重构 , 低频 近似 只用做一次 !

注意:重构/恢复原始信号,用的是分解得到的系数!而不是系数重构后的东西。

至此, 一维离散 小波 1级和多级分解 所有会用到的函数就都介绍完毕了!以表总结:

关于一维小波变换代码和一维小波变换和二维的区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/21218.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载