【问题标题】:Get wavelet basis from wavelet transform从小波变换获得小波基
【发布时间】:2013-02-26 10:29:48
【问题描述】:

我一直在使用 R 包wavethresh 来获得小波变换和分组小波变换。我可以很容易地在小波的基础上得到小波变换的系数。 但是,我无法获得小波基。

我目前正在使用标准小波滤波器:Daubechies Least Asymmetric。

这是我的小波变换代码示例:

data <- cos(1:512/(10*pi))
wave <- wd(data)

对于小波包变换:

wave <- wp(Temperature[,1])
coeffs <- MaNoVe(wave.th)
l <- print(coeffs)

我尝试了一些小波包变换的方法:

basis <- matrix(NA,length(l$level),512)
for (i in 1:length(l$level))
    basis[i,] <- drawwp.default(l$level[i],l$pkt[i],resolution=512)

但我只得到了几个函数,而不是整个基础。此外,我不确定这些功能是否是我想要的。

这里是包文档的链接:wavethresh.pdf。但是,如果您在其他 R 包中解决了我的问题,那也将是完美的 ;)

非常感谢您的帮助!

【问题讨论】:

    标签: r wavelet


    【解决方案1】:

    仅作记录:我是 wavethresh 的主要作者,我也认为 wmtsa 是一个很好的包。

    您最初为 wavethresh 编写的代码应该可以工作。我只是在长度为 512 的任意数据集上尝试了它(因为我无权访问您的数据!)它似乎工作正常,并且“基础”数组包含 215 个元素。函数 plot(coeffs) 还生成了一个时频图,因此可以看到时频平面的特定平铺。

    参考你的两个帖子。 `drawwp.default' 函数实际上完全符合您在第二篇文章中提到的内容。为了获得特定小波包的图片(或值向量),包含全零和一个一的序列被反转。这是一个众所周知的技巧,自 1993 年以来一直在 wavethresh 中用于小波(在函数 draw() 中)。

    draw 和 drawwp.default 不会做的是正确翻译。它试图选择一个不错的翻译值,以便您获得一张漂亮的图片。这就是为什么 drawwp.default 的参数包含比例级别,“振荡参数数量”,但不包含平移值。但是,将小波在轴上或下平移很简单,如何进行取决于您假设的边界条件。

    在您的原始帖子中确实出现了一个错字(至少在我看来)。第 4 行中的对象wave' in line 3 becomeswave.th'。但是,我忽略了这一点,并将它们视为同一个对象。我猜你可能一直在做一些与本次讨论无关的阈值:)

    一切顺利, 盖伊·纳森

    【讨论】:

      【解决方案2】:

      我的问题解决了! 我使用了 wmtsa 包而不是 wavethresh

      要构造基,在两种情况下(小波变换和包小波变换),都可以对某个小波w使用reconstruct方法。这一项的所有系数都设置为0,除了一个设置为1

      basis <- matrix(NA,2^lvl,2^lvl)
      compt <- 1
      w$data$s9 <- 0
      for (i in 1:lvl)
          w$data[[i]]<-rep(0,2^(lvl-i))
      for (i in 1:lvl){
          for (j in 1:2^(lvl-i)){
                  w$data[[i]][j] <- 1
              basis[,compt] <- reconstruct(b)
              w$data[[i]][j] <- 0
              compt <- compt + 1
          }
      }
      

      lvl是小波分辨率级别。

      我们可以对小波包变换做同样的事情。

      【讨论】:

        猜你喜欢
        • 2016-02-18
        • 1970-01-01
        • 1970-01-01
        • 2013-02-24
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        • 2018-10-20
        • 1970-01-01
        相关资源
        最近更新 更多