您好!请问用Mallat分解算法得到的小波系数与小波级数(WS)系数的区别在哪里?
- 教育综合
- 2023-09-18 07:57:33
求助:在MATLAB中 如何利用mallat算法 求得小波变换系数?
如果只要得到小波系数,可以1D直接使用wavedec (2D使用wavedec2)函数进行分解,得到分解结果的CL组构(2D得到CS组构),然后用appcoef和detcoef(2D使用appcoef2和detcoef2)函数提取细节和逼近小波系数,你可以直接参看matlab的帮助文档,非常简单。matlab中,利用Mallat 算法的离散小波系数到底应该是指什么?
晕!百度为啥又在抄袭俺滴回答了。 看文献的表述就知道是一外行写滴文章,表述不清,貌似完全不太了解小波哦。对于DWT,j是层数、阶数,哪里是CWT中的尺度,这俩是要换算滴, matlab是开源软件,帮助又非常详细,类似这种问题你做个实例就能解答自己提的问题了。 [C,L]=wavedec这种一维DWT函数格式,其结果是得到CL组构,C将存放所有各层小波细节系数外加最高层小波逼近系数(这就是一个完整的mallat分解结构),但C将是所有这些系数合成滴一个数组,你不知道哪些数据是你要滴那数据,所以发明了L数组用来告诉你各层细节和最高层逼近到底是多少个数据(即数据滴个数),以便你可以用appcoef或论文中,老说“对小波系数进行处理”,想问下什么是小波系数?
一个信号无论进行连续小波变换(CWT)或是离散小波变换(DWT),变换完的结果就叫小波系数。小波系数是没有量纲单位的结果,需要经过重构这些系数得到实际有量纲的信号。 如同用一个任意长度(例如手的一指宽)去测量某个物体的大小,你可以测得一系列的数字,比如宽1代表1指长度,长2.5代表2个半指长度(但这不是标准的量纲,没有人用一指当作通用标准量纲,也就是没有量纲),如果我不告诉你一指到底有多少cm,你就不知道这一系列的数字到底是多少个标准量纲的cm,也就不知道那个物体长多少cm。那根手指就是小波基,测量的过程就是小波变换,测得一系列的数字就是小波系数。 当我告诉你一指为1.8cm时,你用测得一系列您好,感谢您对我之前提问的耐心回答,可是昨天尝试了一下感觉还是不太正确,麻烦您是否可以再给我解释下
n是采样点数,u是DWT后的小波系数的个数,r是啥意思?加速度响应数据与r有啥关系? 还有,一个小波基应该对应一组小波系数,而不是一个,你的文献里也是这样的。 如果采用mallat算法的DWT系数的个数会随阶次的增大而以2的幂次减少,而且是得到逼近和细节的两种小波系数。你的文章中不知是否是通常意义的DWT(即使用mallat算法的DWT,可得到细节和逼近系数并可重构),还是只是二进离散小波变换(即没有使用mallat算法的DWT,只能和CWT类似得到小波系数不可重构)。请问:离散一维小波分析在Mallat运算之后,如何计算模极大值?
你对“模”的理解正确,都是对某一阶次的系数序列求模(如果系数是复数就是求模,如果是实数就是绝对值)。一个序列中只有一个最大值,会有多个极值。 对于人工方法,最为简单的方法是求完这个序列(例如d1(1)、d1(2)、......、d1(n))所有的模,再根据其中的模最大值设定一个阈值,低于这个阈值的模值归为0,那么你将得到一个和原始序列等长的,可能有几个极大值的新序列。建议先对原始序列的小波系数使用wcodemat函数进行量化编码,这样你的数据的极值会很明显,选择阈值就方便了。每一尺度或阶次(层次)的系数可能要选择不同阈值,得到各个尺度与阶次的模极大值,连成线就是传说中的小波脊(模极值轴线)。展开全文阅读
下一篇
返回列表