2017-04-20 44 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

누군가 두 재구성 방법의 차이점을 설명해 주시겠습니까?

답변

1

그들은 모두 역 이산 웨이브 렛이이 계수를 사용하여 직접 재구성은 "upcoef"변환됩니다 동안 거의 같은 일을하지만, 그것을하고, 변환 다단계 1D 역 이산 웨이블릿입니다 "waverec" 방법을 사용하면 계수를 정렬하고 개발할 때보다 효율적으로 사용할 수 있습니다.