##// END OF EJS Templates
Fixed errors, implemented sfb and idualtree classes
yamaro -
r19:20
parent child
Show More
@@ -0,0 +1,46
1 '''
No newline at end of file
2 Created on Jun 5, 2014
No newline at end of file
3
No newline at end of file
4 @author: Yolian Amaro
No newline at end of file
5 '''
No newline at end of file
6
No newline at end of file
7 from sfb import *
No newline at end of file
8
No newline at end of file
9 def idualtree(w, J, Fsf, sf):
No newline at end of file
10
No newline at end of file
11 # Inverse Dual-tree Complex DWT
No newline at end of file
12 #
No newline at end of file
13 # USAGE:
No newline at end of file
14 # y = idualtree(w, J, Fsf, sf)
No newline at end of file
15 # INPUT:
No newline at end of file
16 # w - DWT coefficients
No newline at end of file
17 # J - number of stages
No newline at end of file
18 # Fsf - synthesis filters for the last stage
No newline at end of file
19 # sf - synthesis filters for preceeding stages
No newline at end of file
20 # OUTUT:
No newline at end of file
21 # y - output signal
No newline at end of file
22 # See dualtree
No newline at end of file
23 #
No newline at end of file
24 # WAVELET SOFTWARE AT POLYTECHNIC UNIVERSITY, BROOKLYN, NY
No newline at end of file
25 # http://taco.poly.edu/WaveletSoftware/
No newline at end of file
26
No newline at end of file
27 # Tree 1
No newline at end of file
28 y1 = w[J][0];
No newline at end of file
29
No newline at end of file
30 for j in range (J-1, 0, -1):
No newline at end of file
31 y1 = sfb(y1, w[j][0], sf[0,0]);
No newline at end of file
32
No newline at end of file
33 y1 = sfb(y1, w[0][0], Fsf[0,0]);
No newline at end of file
34
No newline at end of file
35 # Tree 2
No newline at end of file
36 y2 = w[J][1];
No newline at end of file
37
No newline at end of file
38 for j in range (J-1, 0, -1):
No newline at end of file
39 y2 = sfb(y2, w[j][2], sf[0,1]);
No newline at end of file
40
No newline at end of file
41 y2 = sfb(y2, w[0][1], Fsf[0,1]);
No newline at end of file
42
No newline at end of file
43 # normalization
No newline at end of file
44 y = (y1 + y2)/np.sqrt(2);
No newline at end of file
45
No newline at end of file
46 return y No newline at end of file
@@ -0,0 +1,68
1 '''
No newline at end of file
2 Created on Jun 5, 2014
No newline at end of file
3
No newline at end of file
4 @author: Yolian Amaro
No newline at end of file
5 '''
No newline at end of file
6
No newline at end of file
7 from multirate import *
No newline at end of file
8 import numpy as np
No newline at end of file
9 from cshift import *
No newline at end of file
10
No newline at end of file
11 def sfb(lo, hi, sf):
No newline at end of file
12
No newline at end of file
13 # Synthesis filter bank
No newline at end of file
14 #
No newline at end of file
15 # USAGE:
No newline at end of file
16 # y = sfb(lo, hi, sf)
No newline at end of file
17 # INPUT:
No newline at end of file
18 # lo - low frqeuency input
No newline at end of file
19 # hi - high frequency input
No newline at end of file
20 # sf - synthesis filters
No newline at end of file
21 # sf(:, 1) - lowpass filter (even length)
No newline at end of file
22 # sf(:, 2) - highpass filter (even length)
No newline at end of file
23 # OUTPUT:
No newline at end of file
24 # y - output signal
No newline at end of file
25 # See also afb
No newline at end of file
26 #
No newline at end of file
27 # WAVELET SOFTWARE AT POLYTECHNIC UNIVERSITY, BROOKLYN, NY
No newline at end of file
28 # http://taco.poly.edu/WaveletSoftware/
No newline at end of file
29
No newline at end of file
30 N = 2*lo.size;
No newline at end of file
31 L = sf.size/2;
No newline at end of file
32 #print 'N', N
No newline at end of file
33 #print 'sf', sf
No newline at end of file
34
No newline at end of file
35
No newline at end of file
36 #print 'sf[:,0]', sf[:,0].shape
No newline at end of file
37 #print 'sf[:,1]', sf[:,1].shape
No newline at end of file
38 #print 'sbf hi', hi.shape
No newline at end of file
39
No newline at end of file
40
No newline at end of file
41
No newline at end of file
42 # Need to change format for upfirdn funct:
No newline at end of file
43 lo = lo.T.conj()
No newline at end of file
44 lo = lo.reshape(lo.size)
No newline at end of file
45
No newline at end of file
46 print 'sfb hi', hi
No newline at end of file
47
No newline at end of file
48 # Need to change format for upfirdn funct:
No newline at end of file
49 hi = hi.T.conj()
No newline at end of file
50 hi = hi.reshape(hi.size)
No newline at end of file
51
No newline at end of file
52 #hi = hi.reshape(1, hi.size)
No newline at end of file
53
No newline at end of file
54 lo = upfirdn(lo, sf[:,0], 2, 1);
No newline at end of file
55 hi = upfirdn(hi, sf[:,1], 2, 1);
No newline at end of file
56 y = lo + hi;
No newline at end of file
57 y[0:L-1] = y[0:L-1] + y[N+ np.arange(0,L-1)]; #CHECK IF ARANGE IS CORRECT
No newline at end of file
58 y = y[0:N];
No newline at end of file
59
No newline at end of file
60 print 'y en sbf\n', y.shape
No newline at end of file
61
No newline at end of file
62 y = y.reshape(1, y.size)
No newline at end of file
63 print 'y en sbf\n', y.shape
No newline at end of file
64
No newline at end of file
65 y = cshift(y, 1-L/2);
No newline at end of file
66
No newline at end of file
67 return y;
No newline at end of file
68 No newline at end of file
@@ -53,7 +52,6
53 52 [ 0, -0.01122679215254] No newline at end of file
54 53 ]); No newline at end of file
55 54
No newline at end of file
56 #print a2.shape No newline at end of file
57 55 No newline at end of file
58 56 af = np.array([ [a1,a2] ], dtype=object) No newline at end of file
59 57 No newline at end of file
@@ -310,11 +310,14
310 310 chi2 = np.sum((es/sigma)**2); No newline at end of file
311 311 No newline at end of file
312 312
313 No newline at end of file
313 # CS inversion using irls ######################## No newline at end of file
314 314 No newline at end of file
315 315 # (Use Nr, thetar, gnz, and Hr from MaxEnt above) No newline at end of file
316 316
317 No newline at end of file
317 Psi = deb4_basis(Nr); ###### REPLACED BY LINE BELOW (?) No newline at end of file
No newline at end of file
318
No newline at end of file
319 print 'FINALLY!'
No newline at end of file
320 print Psi.shape No newline at end of file
318 321 No newline at end of file
319 322 # REMOVE THIS?-------------------------------- No newline at end of file
320 323 #wavelet1 = pywt.Wavelet('db4') No newline at end of file
@@ -5,7 +5,7
5 5 ''' No newline at end of file
6 6 No newline at end of file
7 7 #from sp import multirate
8 No newline at end of file
8 import cshift No newline at end of file
9 9 from multirate import upfirdn No newline at end of file
10 10 No newline at end of file
11 11 def afb(x, af): No newline at end of file
@@ -14,7 +14,7
14 14 # y = cshift(x, m) No newline at end of file
15 15 # INPUT: No newline at end of file
16 16 # x - N-point vector
17 No newline at end of file
17 # m - amount of shift No newline at end of file
18 18 # OUTPUT: No newline at end of file
19 19 # y - vector x will be shifted by m samples to the left No newline at end of file
20 20 # No newline at end of file
@@ -5,8 +5,10
5 5 ''' No newline at end of file
6 6 No newline at end of file
7 7 import numpy as np
8 No newline at end of file
8 import FSfarras
No newline at end of file
9 No newline at end of file
9 import dualfilt1 No newline at end of file
No newline at end of file
10 from dualtree import *
No newline at end of file
11 from idualtree import * No newline at end of file
10 12 No newline at end of file
11 13 def deb4_basis(N): No newline at end of file
12 14 No newline at end of file
@@ -5,7 +5,7
5 5 ''' No newline at end of file
6 6 No newline at end of file
7 7 import numpy as np
8 No newline at end of file
8 import afb No newline at end of file
9 9 No newline at end of file
10 10 def dualtree(x, J, Faf, af): No newline at end of file
11 11 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now