1

我正在尝试使用 dwt 来近似时间序列/向量。我可以应用完整的 dwt 和 idwt 重建,但我不知道如何仅基于几个系数(不是全部)重建/近似原始信号。

我试过这个:

library(wavelets)
x<-c(7, 5, 5, 3, 3, 3, 4, 6)
w <- dwt(x, filter="haar",n.levels = 3)
rec<-idwt(w)

我读到了系数截断,但我不知道该怎么做。

如果我需要基于 2 个系数的近似值怎么办?

我会很感激任何帮助。

4

1 回答 1

1

在第 3 行和第 4 行之间,您可以执行

str    (w)     # see what w looks like
w@W$W1 []  = 0 # set the 1st level detail coefficients to 0 

那么你rec将是

[1] 6 6 4 4 3 3 5 5

这是有道理的:没有最精细的细节系数,Haar 变换返回每对点的平均值,对于两个点。

于 2016-05-31T08:15:06.177 回答