从信号中去除噪声的一种方法是应用离散小波变换,应用阈值(软或硬),然后运行逆离散小波变换以恢复没有噪声的原始信号。
R语言有dwt和idwt函数(包小波)来执行离散小波变换和逆离散小波变换,dwt的输出是W(小波系数)和V(尺度系数)。
我的问题是:阈值应该应用于W,V或两者?为什么?我在这里错过了一些东西,因为对我来说应该是W,但它没有工作。
范例:
library(wavelets)
w <- dwt(series_with_noise, filter="la16")
w@W$W1 <- treshold_function(w@W$W1, lambda) # Should I do this?
w@V$V1 <- treshold_function(w@V$V1, lambda) # Should I do this?
series_denoised <- idwt(w)
plot(series_denoised)
字符串
如果我取消所有w@W但保持V,idwt不会改变。不知道为什么=/。
1条答案
按热度按时间ie3xauqp1#
如果要进行平滑,则应修改W值。例如:
字符串
x1c 0d1x的数据
创建于2023-12-30使用reprex v2.0.2