12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- % lpcpf.m
- % David Rowe Aug 27 2012
- % Experiments with LPC post filtering
- function lpcpf(ak_filename, f)
- aks = load(ak_filename);
-
- ak = aks(f,:);
- [tmp p] = size(ak);
- p -= 1;
- A = freqz(1,ak, 4000);
- AdB = 20*log10(abs(A));
- gamma = 0.5;
- gammas = gamma .^ (0:p);
- W = freqz(ak .* gammas,1, 4000);
- WdB = 20*log10(abs(W));
- beta = 0.2;
- R = abs(freqz(ak .* gammas, ak, 4000));
- %P = (R/max(R)) .^ beta;
- P = R .^ beta;
- AP = abs(A) .* P;
- eA = sum(abs(A) .^ 2);
- eAP = sum(AP .^ 2);
- gain = sqrt(eA/eAP)
- AP *= gain;
- PdB = 20*log10(P);
- APdB = 20*log10(AP);
- 10*log10(sum(AP .^ 2))/10*log10(sum(abs(A) .^ 2))
- figure(1);
- clf;
- plot(AdB);
- hold on;
- plot(WdB,'g');
- plot(PdB,'r');
- plot(APdB,'b.');
- hold off;
- endfunction
|