Mercurial > hg > yjdafx13bpr
annotate Sirtassa/UpdateGainCoefficientsOL2.m @ 2:13ec2fa02a26 tip
(none)
author | Yannick JACOB <y.jacob@se12.qmul.ac.uk> |
---|---|
date | Tue, 03 Sep 2013 15:33:42 +0100 |
parents | 2cd427e000b0 |
children |
rev | line source |
---|---|
y@0 | 1 ECA = zeros(HFFTS,nbInstrument); |
y@0 | 2 |
y@0 | 3 for ins = 1:nbInstrument |
y@0 | 4 ECA(:,ins) = filterBasis * filterCoefficients(:,ins).*(excitationSpectrums{ins,curFrame}*partialsWeights(:,ins)); |
y@0 | 5 end |
y@0 | 6 |
y@0 | 7 xHat = sum(ECA.*repmat(gains(:,curFrame)',HFFTS,1),2); |
y@0 | 8 |
y@0 | 9 maskedSpectrogram = magnitude(:,curFrame).* basicSpec(:,curFrame) > 10^-4; |
y@0 | 10 |
y@0 | 11 |
y@0 | 12 %Compute distance and r |
y@0 | 13 distGain = sum(sum( maskedSpectrogram .* log((maskedSpectrogram+eps) ./ (xHat+eps)) - maskedSpectrogram + xHat)); |
y@0 | 14 r = (magnitude(:,curFrame)+eps)./(xHat+eps); |
y@0 | 15 |
y@0 | 16 %Update Gain Coefficients |
y@0 | 17 updateGainsCoeff = sum(ECA.*repmat(r,1,nbInstrument) +eps,1)./sum(ECA +eps,1); |
y@0 | 18 |
y@0 | 19 clear ECA; |
y@0 | 20 gains(:,curFrame) = gains(:,curFrame).*updateGainsCoeff'; |
y@0 | 21 |
y@0 | 22 % figure;plot(gains'); |