Mercurial > hg > mauch-mirex-2010
annotate _beattracker/getalignment2.m @ 9:4ea6619cb3f5 tip
removed log files
author | matthiasm |
---|---|
date | Fri, 11 Apr 2014 15:55:11 +0100 |
parents | b5b38998ef3b |
children |
rev | line source |
---|---|
matthiasm@8 | 1 function [alignment] = getalignment2(dfframe,phwv,period,timesig) |
matthiasm@8 | 2 |
matthiasm@8 | 3 |
matthiasm@8 | 4 period = round(period); |
matthiasm@8 | 5 |
matthiasm@8 | 6 |
matthiasm@8 | 7 |
matthiasm@8 | 8 %normalise and linearly weight most recent strongest |
matthiasm@8 | 9 %dfframe = dfframe.*([1:length(dfframe)]); |
matthiasm@8 | 10 |
matthiasm@8 | 11 % reverse |
matthiasm@8 | 12 dfframe = dfframe(end:-1:1); |
matthiasm@8 | 13 |
matthiasm@8 | 14 % output of alignment comb filter |
matthiasm@8 | 15 phcf = zeros(1,period); |
matthiasm@8 | 16 |
matthiasm@8 | 17 numelem = floor((length(dfframe)-0)/period); |
matthiasm@8 | 18 |
matthiasm@8 | 19 %dfframe = [dfframe' zeros(1,length(dfframe))]'; |
matthiasm@8 | 20 %this line is neeeded for using commented part below |
matthiasm@8 | 21 |
matthiasm@8 | 22 if (~timesig) % initial state |
matthiasm@8 | 23 |
matthiasm@8 | 24 |
matthiasm@8 | 25 |
matthiasm@8 | 26 % fit as many as possible |
matthiasm@8 | 27 for i=1:period |
matthiasm@8 | 28 for b = 1:numelem, |
matthiasm@8 | 29 phcf(i) = phcf(i) + dfframe(( b-1)*period+i) * phwv(i); %+ ... |
matthiasm@8 | 30 % dfframe(( b-1)*period+i+1) * phwv(i) + ... |
matthiasm@8 | 31 % dfframe(( b-1)*period+i+2) * phwv(i);% + ... |
matthiasm@8 | 32 % dfframe(( b-1)*period+i+3) * phwv(i) + ... |
matthiasm@8 | 33 % dfframe(( b-1)*period+i+4) * phwv(i); |
matthiasm@8 | 34 end |
matthiasm@8 | 35 end |
matthiasm@8 | 36 |
matthiasm@8 | 37 else |
matthiasm@8 | 38 |
matthiasm@8 | 39 numelem = timesig; |
matthiasm@8 | 40 for i=1:period |
matthiasm@8 | 41 for b = 1:numelem, |
matthiasm@8 | 42 % for a = 1-b:b-1 |
matthiasm@8 | 43 phcf(i) = phcf(i) + dfframe(( b-1)*period+i) * phwv(i) + ... |
matthiasm@8 | 44 dfframe(( b-1)*period+i+1) * phwv(i) + ... |
matthiasm@8 | 45 dfframe(( b-1)*period+i+2) * phwv(i) + ... |
matthiasm@8 | 46 dfframe(( b-1)*period+i+3) * phwv(i) + ... |
matthiasm@8 | 47 dfframe(( b-1)*period+i+4) * phwv(i); |
matthiasm@8 | 48 % end |
matthiasm@8 | 49 end |
matthiasm@8 | 50 end |
matthiasm@8 | 51 |
matthiasm@8 | 52 end |
matthiasm@8 | 53 |
matthiasm@8 | 54 |
matthiasm@8 | 55 [val,alignment] = max(phcf); |
matthiasm@8 | 56 [val2,bestguess] = max(phwv); |
matthiasm@8 | 57 |
matthiasm@8 | 58 if alignment>=2, |
matthiasm@8 | 59 alignment = alignment-1; |
matthiasm@8 | 60 end |