2017-04-20 7 views
1

私は、pywaveletライブラリを使ってウェーブレットの概念を理解しようとしています。私の最初のステップは、ウェーブレット係数を使って、どのように入力信号を再構成できるかを確認することでした。以下の私のコードを参照してください。 pywavelet信号再構成

db1 = pywt.Wavelet('db1') 
cA6, cD6,cD5, cD4, cD3, cD2, cD1=pywt.wavedec(data, db1, level=6) 
cA6cD_approx = pywt.upcoef('a',cA6,'db1',take=n, level=6) + pywt.upcoef('d',cD1,'db1',take=n, level=6)\ 
+pywt.upcoef('d',cD2,'db1',take=n, level=6) + pywt.upcoef('d',cD3,'db1',take=n, level=6) + \ 
    pywt.upcoef('d',cD4,'db1',take=n, level=6) + pywt.upcoef('d',cD5,'db1',take=n, level=6) + \ 
    pywt.upcoef('d',cD6,'db1',take=n, level=6) 

plt.figure(figsize=(28,10)) 
p1, =plt.plot(t, cA6cD_approx,'r') 
p2, =plt.plot(t, data, 'b') 
plt.xlabel('Day') 
plt.ylabel('Number of units sold') 
plt.legend([p2,p1], ["original signal", "cA6+cD* reconstructed"]) 
plt.show() 

これは、次のグラフが得られた:私は waverec()メソッドを使用する場合、今 Reconstruction using upcoef

を、信号再構成は非常に正確でした。以下のプロットをご覧ください: Reconstruction using waverec

誰かが2つの再構成方法の違いを説明できますか? 「waverec」は、マルチレベル1D逆離散ウェーブレット変換でほとんど同じことをやってますが、それをやっている間彼らは両方の逆離散ウェーブレット「upcoef」を変換している

答えて

1

は、係数を用いて直接再建でありますあなたの係数を整列させ、開発するときに効率を上げることができます。

関連する問題