【问题标题】:How does MATLAB scale coefficients to scalogram for the Continuous Wavelet Transform function?MATLAB 如何将系数缩放为连续小波变换函数的缩放图?
【发布时间】:2017-01-02 23:32:43
【问题描述】:

我正在尝试比较随时间和信号之间的小波系数。为此,MATLABcwt 函数。输出[coefs sgram] = cwt(foo) 为我提供了小波系数和代表所述系数的尺度系数,这些系数就它们对信号能量的总贡献而言。

我需要确定的是,我了解这是如何“在幕后”执行的,因此这些比较是有效的。我使用参考进行了测试:http://www.mathworks.com/help/wavelet/ref/cwt.html

我担心的是颜色选项。在本例中,我们使用“scal”。文档并没有确切地告诉我它是如何工作的。我尝试使用具有指定采样率的其他着色选项,但缩放比例似乎不是恒定的。我想知道它是如何计算的。

load vonkoch
vonkoch=vonkoch(1:510); 
len = length(vonkoch);
cw1 = cwt(vonkoch,1:32,'sym2','plot'); 
title('Continuous Transform, absolute coefficients.') 
ylabel('Scale')
[cw1,sc] = cwt(vonkoch,1:32,'sym2','scal');
title('Scalogram') 
ylabel('Scale')

如果我使用[ms is] = max(abs(cw1(:)))[mc ic] = max(sc(:)) 提取cw1sc 的最大值(绝对是因为系数有时是负数)我注意到它们占据相同的索引并且值是

mc = 0.0084
ms = 0.1313

谁的比率ms/mc = 15.6310。但是,测试另外两个值 cw1(4,4)sc(4,4) 我无法重现这个比率。 'scal' 是如何工作的?如果可能的话,进一步描述其他着色模式以及它们如何将系数缩放为比例图表示的链接将不胜感激。

【问题讨论】:

    标签: matlab wavelet


    【解决方案1】:

    来自cwt 的比例(不再推荐使用此版本的 cwt。请改用更新后的cwt。)“幕后”有以下等式:

    WSCALOGRAM Scalogram for continuous wavelet transform.
    %   SC = WSCALOGRAM(TYPEPLOT,COEFS) computes the scalogram 
    %   SC (percentage of energy for each coefficient). COEFS is
    %   the matrix of continuous wavelet coefficients (see CWT).
    %   The scalogram is obtained by computing:
    %       S = abs(coefs.*coefs); SC = 100*S./sum(S(:))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 2015-12-13
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 2019-05-03
      相关资源
      最近更新 更多