From 0b9afda646f6b285fb44b9e1dc5233c74f5a17de Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Wed, 3 Mar 2010 09:40:09 +0100 Subject: [PATCH] Ora la HaarFilterBank funziona. --- Filtering/Filtering.py | 9 +++++++-- Filtering/Splitting.py | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Filtering/Filtering.py b/Filtering/Filtering.py index 705de28..33d9c00 100644 --- a/Filtering/Filtering.py +++ b/Filtering/Filtering.py @@ -181,6 +181,11 @@ class FilterBank(): for high in sampleArray[::-1]: low = self.lowPassInverseFilter (UpSample (low)) low += self.highPassInverseFilter (UpSample (high)) + + # Facciamo shiftare l'array in modo che il delay dei sample + # ricostruiti non disturbi la ricostruzione dei prossimi. + # Sfortunatamente questo ci rovinerà tutta l'ultima parte del + # segnale, ma per ora non vedo una soluzione comoda. low = roll(low, -1 * self.length) return low @@ -200,9 +205,9 @@ DaubechiesFilterBank.SetLength (3) HaarFilterBank = FilterBank () HaarFilterBank.SetFilterMatrix ( [ [0.5, 0.5], - [0.5 ,-0.5], + [-0.5 ,0.5], [1 , 1 ], - [-1 , 1] + [1 , -1] ]) HaarFilterBank.SetLength(1) diff --git a/Filtering/Splitting.py b/Filtering/Splitting.py index e55f28d..3aef69b 100644 --- a/Filtering/Splitting.py +++ b/Filtering/Splitting.py @@ -25,6 +25,9 @@ class SplittingExample(): # filterBank = Filtering.StrangFilterBank # filterBank.SetDepth(2) + + filterBank = Filtering.HaarFilterBank + filterBank.SetDepth(8) samples = self.LoadSamples ("sunny.pcm") wavelets = filterBank.Split (samples) -- 2.1.4