matlab 小波工具箱
wavemenu --- >wavelet ---->wavelet packet1-D
Matlab小波工具箱的使用1
最近想尝试一下小波的用法,就这matlab的帮助尝试了一下它的例子,顺便翻译了一下帮助的内容,发现matlab帮助做的确实不错,浅显易懂!现把翻译的文档写出来吧,想学习的共同学习吧!
小波工具箱简介
小波工具箱包含了图像化的工具和命令行函数,它可以实现如下功能:
l 测试、探索小波和小波包的特性
l 测试信号的统计特性和信号的组分
l 对一维信号执行连续小波变换
l 对一维、二维信号执行离散小波分析和综合
l 对一维、二维信号执行小波包分解(参见帮助Using Wavelet Packets)
l 对信号或图像进行压缩、去噪
另外,工具箱使用户更方便的展示数据。用户可以做如下选择:
l 显示哪个信号
l 放大感兴趣的区域
l 配色设计来显示小波系数细节
工具箱可以方便的导入、导出信息到磁盘或matlab工作空间。具体详见File Menu Options
一维连续小波分析
这一部分来测试连续小波分析的特性。连续小波分析只需要一个小波函数cwt。在这一部分将学到如下内容:
l 加载信号
l 对信号执行连续小波变换
l 绘制小波系数
l 绘制指定尺度的小波系数
l 绘制整个尺度小波系数中的最大值
l 选择显示方式
l 在尺度和伪频率之间切换
l 细节放大
l 在普通或绝对模式下显示系数
l 选择执行小波分析的尺度
使用命令行执行连续小波分析
这个例子是一个包含噪声的正弦波
1. 加载信号
load noissin
可以使用whos显示信号信息
whos
Name
Size
Bytes
Class
noissin
1x1000
8000
double
2. 执行连续小波变换
c = cwt(noissin,1:48,'db4');
函数cwt的参数分别为分析的信号、分析的尺度和使用的小波。返回值c包含了在各尺度下的小波系数。对于这里,c是一个48x1000的矩阵,每一行与一个尺度相关。
3. 绘制小波系数
cwt函数可以接受第四个参数,来指定函数在执行结束后是否绘制连续小波变换系数的绝对值。另外还可以接受更多的参数来定义显示的不同特性,详见cwt函数。如下面的语句绘制系数结果
c = cwt(noissin,1:48,'db4','plot');
4. 选择分析的尺度
cwt函数的第二个参数可以设定任意小波分析的尺度,只要这些尺度满足如下要求
l 所有尺幅必须为正实数
l 尺度的增量必须为正
l 最高的尺度不能超过由信号决定的一个最大值
如下面的代码可以执行从2开始的偶数尺度计算
c = cwt(noissin,2:2:128,'db4','plot');
显示结果如下
这幅图像很明确的表示出了信号的周期性。
使用图形接口做连续小波分析
1. 开启一维连续小波工具,只需输入如下命令
wavemenu
出现如下小波工具箱主菜单
选择Continuous Wavelet 1-D菜单项,出现如下一维信号分析连续小波分析工具
2. 加载信号
选择菜单File->Load Signal,在Load Signal对话框里选择noissin.mat文件,它在matlab安装目录的toolbox/wavelet/wavedemo文件夹下,点击OK加载信号。
一维连续小波工具开始加载信号,加载后默认采样频率为1s。
3. 执行连续小波变换
下面来测试使用db4小波对尺度1到48做小波分析,设置如下
4. 点击Analyze按钮
在短暂的计算后,工具将绘制小波系数,并在Coefficients line坐标系中绘制尺度为24的小波系数,在local maxima坐标系中绘制各尺度的小波系数最大值。
5. 查看小波Coefficients Line
在小波系数图中右键点击可以选择展示其他尺度的小波系数,选择后点击New Coefficients Line按钮,Coefficients Line会相应更新。
6. 查看Maxima Line
点击Refresh Maxima Line按钮,可以显示从尺度1到所选尺度的小波系数的最大值。
注意当在系数图中按下鼠标右键并移动时,会在最下面的Info框中显示当前鼠标位于的X位置和尺度。
7. 在尺度和伪频率之间切换
在右边选择Frequencies,当再在系数图中选择时,在Info中显示的将是Hz。
而关于尺度和频率的转换关系,可以看How to Connect Scale to Frequency?
8. 选择要显示的坐标系
9. 放大细节
在系数框中按鼠标左键可以选择放大的范围。
10. 选择好放大范围后点击最下面的按钮可以实现指定的放大
11. 显示普通系数或系数绝对值
两种显示方式的区别在于,普通模式下,颜色映射是在系数的最大最小之间;而绝对模式,颜色映射是在0和最大的系数绝对值之间。
图形接口的导入导出信息
导入信号到一维连续小波工具
首先将要处理的信号保存到mat文件中,要求信号是一维的向量。然后使用工具的File
->Load Signal菜单功能,选择此信号文件即可导入信号。
文件中第一个一维变量被认为是信号,变量在文件中顺序是按字母排序的。
保存小波系数
小波分析完成后,点击File->Save->Coefficients,可以将分析结果保存到mat文件。保存后,可以使用load函数加载数据,会看到保存的变量有小波系数coeff、尺度scales、小波的名字wname。
一维复信号连续小波分析
对于复信号连续小波分析,小波工具箱中对应的函数是cwt。
使用命令行分析复信号
这个例子是一个带尖头的信号,如下
1. 加载信号
load cuspamax
文件中包含两个变量,caption和cuspamax,前者是此信号的定义,如下
caption =
x = linspace(0,1,1024); y = exp(-128*((x-0.3).^2))-3*(abs(x-0.7).^0.4);
2. 执行连续小波变换
c = cwt(cuspamax,1:2:64,'cgau4');
3. 绘制结果
c = cwt(cuspamax,1:2:64,'cgau4','plot');
结果显示了四副图形,分别为系数的实部、虚部、模、相角。
使用图形接口分析复信号
与实信号不同的是,选择Complex Continuous Wavelet 1-D,得到的结果如下
具体操作过程与实信号的相似,如下
matlab 小波工具箱的更多相关文章
- Matlab小波工具箱的使用2
Matlab小波工具箱的使用2 (2011-11-11 09:32:57) 转载▼ http://blog.sina.com.cn/s/blog_6163bdeb0102dw7a.html#cmt_5 ...
- MATLAB(2)——小波工具箱使用简介
作者:桂. 时间:2017-02-19 21:47:27 链接:http://www.cnblogs.com/xingshansi/articles/6417638.html 前言 本文主要介绍MA ...
- matlab 小波处理工具箱
1. wavedec:多尺度(multilevel)一维小波分解 [C,L] = wavedec(X,N,'wname') [C,L] = wavedec(X,N,Lo_D,Hi_D) 返回值 L(b ...
- 小波学习之一(单层一维离散小波变换DWT的Mallat算法C++和MATLAB实现) ---转载
1 Mallat算法 离散序列的Mallat算法分解公式如下: 其中,H(n).G(n)分别表示所选取的小波函数对应的低通和高通滤波器的抽头系数序列. 从Mallat算法的分解原理可知,分解后的序 ...
- 小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化)--转载
小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化) 在上回<小波学习之一>中,已经详细介绍了Mallat算法C++实现,效果还可以,但也存在一些问题,比如,代码 ...
- 【转】小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)
转:https://blog.csdn.net/cqfdcw/article/details/84995904 小波与小波包.小波包分解与信号重构.小波包能量特征提取 (Matlab 程序详解) ...
- 相机标定简介与MatLab相机标定工具箱的使用(未涉及原理公式推导)
相机标定 一.相机标定的目的 确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数. 二.通用摄像机模型 世界坐标系.摄像机坐标 ...
- dennis gabor 从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换(转载)
dennis gabor 题目:从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换 本文是边学习边总结和摘抄各参考文献内容而成的,是一篇综述性入门文档,重点在于梳理傅 ...
- Matlab计算机视觉/图像处理工具箱推荐
Matlab计算机视觉/图像处理工具箱推荐 转载http://cvnote.info/matlab-cv-ip-toolbox/ 计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理 ...
随机推荐
- .NET Core通过过滤器和中间件两种方式实现全局异常捕获和日志记录
1.一共有五类过滤器IAsyncAuthorizationFilter IAsyncResourceFilter IAsyncActonFilter IAsyncExceptionFilter ...
- 实验七 《FBG》—-小学生课后习题答案原型设计
一.实验目的与要求 1.掌握软件原型开发技术 2.学习使用软件原型开发工具 二.实验内容与步骤 1.开发工具: 使用的工具:墨刀(APP端开发原型) 工具简介: 墨刀(MockingBot)是一款简单 ...
- Failed to find configured root that contains
这个主要问题是在android系统下7.0 拍照时,Android提供FileProvider类来供应用之间共享数据. 出现这个问题多为xml文件 path 类型和代码中调用的类型不同导致的 以下为多 ...
- C#高级编程(第九版) 知识点梳理
---恢复内容开始--- 第二章 核心C# 2.7 命名空间可以使用别名,但是这样做有什么好处? 2.12 C#预处理器指令 #define DEBUG #if DEBUG Console.Write ...
- [转]pycharm 2016.2注册码
在网上找了好多都不行,最后还是这个好使.在网上搜索了半天挨个试过来最终找到了License server的方法,由此分享给大家.这个也完全没有使用时间的限制~ 直接打开pycharm,选License ...
- VueJs 自定义过滤器使用总结
过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数.Vue有很多很便利的过滤器,可以参考官方文档, http://cn.vuejs.org/api/#过滤器 ,过滤器通常会使 ...
- JAVA写接口傻瓜($)教程(三)
接上一篇 补充:事实上java的类需要在src文件夹里写,classes文件夹只是会同步src文件夹里的类.如果在classes文件夹里操作java类,是会提示文件只读的.src文件夹中进行代码编写 ...
- Centos 7 squid 用户认证
一.安装安装过程十分简便,只需要安装一下squid,一条命令搞定yum install squidrpm -qa | grep squidsquid-3.5.20-2.el7_3.2.x86_64 二 ...
- composer 自动加载(php-amqplib)
最近要使用RabbitMQ 做消息队列,也是刚接触到.因为用的的TP框架,comoser又下载不下来,所以只能手动下载拓展包,做手动加载,在php-amqplib是我手动下载下来的拓展包,创建一个co ...
- 学号 2018-2019-20175212 实验一 《Java开发环境的熟悉》
学号 2018-2019-20175212 实验一 <Java开发环境的熟悉> 一.实验内容及步骤 1.使用JDK编译.运行简单的Java程序 mkdir 20175212exp1创建20 ...