![](/img/trans.png)
[英]How to set a threshold value from signal to be processed in wavelet thresholding in python
[英]How to find threshold value and which wavelet family to use for low pass filter signal?
我正在嘗試在本網站 [ http://ataspinar.com/2018/12/21/a-guide-for-using-the-wavelet-transform-in-machine-learning/ ] 上實施代碼將低通濾波器應用於信號,但是,我無法理解他是如何獲得閾值和小波族的。 你能解釋一下他是如何想出價值和小波名稱的嗎?
對於代碼:
def lowpassfilter(signal, thresh = 0.63, wavelet="db4"):
thresh = thresh*np.nanmax(signal)
coeff = pywt.wavedec(signal, wavelet, mode="per" )
coeff[1:] = (pywt.threshold(i, value=thresh, mode="soft" ) for i in coeff[1:])
reconstructed_signal = pywt.waverec(coeff, wavelet, mode="per" )
return reconstructed_signal
親切的問候
在這種情況下,閾值 0.63 意味着他希望僅保留信號中較低頻率的 63%。 由於較高的頻率通常對信號的總能量並不重要,因此您可以爭論為了壓縮而將其移除。 根據信號的不同,您最多可以刪除 99% 的信號,並且仍然可以獲得完美的逆變換。
至於他選擇的Daubechie 4小波,除了很常見的小波,我不知道還能說什么。 它可以很好地估計 3 次多項式,這對於大多數應用程序來說通常已經足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.