Mercurial > hg > constant-q-cpp
diff yeti/cqtkernel.yeti @ 27:5435f00a4103
Almost finish normalising kernel and storing it sparsely
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Mon, 04 Nov 2013 18:17:26 +0000 |
parents | 5ca24ff67566 |
children | 031386846e3c |
line wrap: on
line diff
--- a/yeti/cqtkernel.yeti Mon Nov 04 17:51:27 2013 +0000 +++ b/yeti/cqtkernel.yeti Mon Nov 04 18:17:26 2013 +0000 @@ -92,12 +92,13 @@ wx1 = vec.maxindex (complex.magnitudes (cm.getRow 0 kmat)); wx2 = vec.maxindex (complex.magnitudes (cm.getRow (cm.height kmat - 1) kmat)); - + subset = cm.columnSlice kmat wx1 (wx2+1); square = cm.product (cm.conjugateTransposed subset) subset; + diag = complex.magnitudes (cm.getDiagonal 0 square); wK = vec.slice diag (round(1/q)) (vec.length diag - round(1/q) - 2); - + weight = (fftHop / fftSize) / (vec.mean (vec.abs wK)); weight = sqrt(weight);