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');