Ora la Daubechies funzionano. Chissà perchè.

Leonardo Robol [2010-03-03 10:45]
Ora la Daubechies funzionano. Chissà perchè.
Filename
Filtering/Filtering.py
Filtering/Splitting.py
diff --git a/Filtering/Filtering.py b/Filtering/Filtering.py
index 8faefac..d4df360 100644
--- a/Filtering/Filtering.py
+++ b/Filtering/Filtering.py
@@ -110,7 +110,8 @@ class FilterBank():

         # Sembra che la lunghezza del filtro debba essere
         # la metà del filtro lowpass, arrotondata per eccesso
-        self.SetLength ( (len(lowpass) + 1)/2 )
+        self.SetLength ( int((len(lowpass) + 1)/2) )
+        print "Setting length to %d" % self.length

     def SetHighPassFilter(self, highpass):
         """
@@ -186,7 +187,7 @@ class FilterBank():
             # 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)
+            low = roll(low, -1)

         return low

@@ -197,7 +198,7 @@ DaubechiesFilterBank = FilterBank ()
 DaubechiesFilterBank.SetFilterMatrix ( [
         0.125 * array([ 1 + sqrt(3), 3 + sqrt(3), 3 - sqrt(3), 1 - sqrt(3)]),
         0.125 * array([ 1 - sqrt(3),-3 + sqrt(3), 3 + sqrt(3),-1 - sqrt(3)]),
-        0.25  * array([ 1 - sqrt(3), 3 - sqrt(3), 3 - sqrt(3), 1 - sqrt(3)]),
+        0.25  * array([ 1 - sqrt(3), 3 - sqrt(3), 3 + sqrt(3), 1 + sqrt(3)]),
         0.25  * array([-1 - sqrt(3), 3 + sqrt(3),-3 + sqrt(3), 1 - sqrt(3)])
         ])
 DaubechiesFilterBank.SetLength (3)
diff --git a/Filtering/Splitting.py b/Filtering/Splitting.py
index 1ea6063..7bedaa2 100755
--- a/Filtering/Splitting.py
+++ b/Filtering/Splitting.py
@@ -25,7 +25,9 @@ class SplittingExample():
         # f0 = array([1, 1])
         # f1 = array([1, -1])

-        filterBank = Filtering.HaarFilterBank
+        # filterBank = Filtering.HaarFilterBank
+        filterBank = Filtering.DaubechiesFilterBank
+        # filterBank = Filtering.StrangFilterBank
         filterBank.SetDepth(8)

         samples = self.LoadSamples ("sunny.pcm")
ViewGit