diff options
Diffstat (limited to 'octave/pllpcpf.m')
| -rw-r--r-- | octave/pllpcpf.m | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/octave/pllpcpf.m b/octave/pllpcpf.m deleted file mode 100644 index 924e045..0000000 --- a/octave/pllpcpf.m +++ /dev/null @@ -1,150 +0,0 @@ -% Copyright David Rowe 2012 -% This program is distributed under the terms of the GNU General Public License -% Version 2 -% -% Plot amplitude modelling information from dump files to test and develop -% LPC post filter. - -function pllpcpf(samname, f) - - % switch some stuff off to unclutter display - - plot_Am = 0; - plot_Amq = 0; - plot_err = 0; - plot_lsp = 0; - plot_snr = 0; - plot_vsnr = 0; - plot_sw = 0; - plot_pw = 1; - plot_pwb = 1; - plot_rw = 1; - - sn_name = strcat(samname,"_sn.txt"); - Sn = load(sn_name); - - sw_name = strcat(samname,"_sw.txt"); - Sw = load(sw_name); - - sw__name = strcat(samname,"_sw_.txt"); - if (file_in_path(".",sw__name)) - Sw_ = load(sw__name); - endif - - model_name = strcat(samname,"_model.txt"); - model = load(model_name); - - modelq_name = strcat(samname,"_qmodel.txt"); - if (file_in_path(".",modelq_name)) - modelq = load(modelq_name); - endif - - % Pw (LPC synth filter spectrum) before post filter - - pwb_name = strcat(samname,"_pwb.txt"); - if (file_in_path(".",pwb_name)) - Pwb = load(pwb_name); - endif - - % Rw (Post filter spectrum) - - rw_name = strcat(samname,"_rw.txt"); - if (file_in_path(".",rw_name)) - Rw = load(rw_name); - endif - - % Pw (LPC synth filter spectrum) after post filter - - pw_name = strcat(samname,"_pw.txt"); - if (file_in_path(".",pw_name)) - Pw = load(pw_name); - endif - - - Ew_on = 1; - k = ' '; - do - figure(1); - clf; - s = [ Sn(2*f-1,:) Sn(2*f,:) ]; - size(s); - plot(s); - axis([1 length(s) -20000 20000]); - - figure(2); - clf; - Wo = model(f,1); - L = model(f,2); - Am = model(f,3:(L+2)); - if plot_Am - plot((1:L)*Wo*4000/pi, 20*log10(Am),";Am;r"); - end - axis([1 4000 -10 80]); - hold on; - if plot_sw - plot((0:255)*4000/256, Sw(f,:),";Sw;"); - end - - if (file_in_path(".",modelq_name)) - - Amq = modelq(f,3:(L+2)); - if plot_Amq - plot((1:L)*Wo*4000/pi, 20*log10(Amq),";Amq;g" ); - end - - if (file_in_path(".",pwb_name) && plot_pwb) - plot((0:255)*4000/256, 10*log10(Pwb(f,:)),";Pwb;r"); - endif - - if (file_in_path(".",rw_name) && plot_rw) - plot((0:255)*4000/256, 10*log10(Rw(f,:)),";Rw;b"); - endif - - if (file_in_path(".",pw_name) && plot_pw) - plot((0:255)*4000/256, 10*log10(Pw(f,:)),";Pw;g."); - endif - - signal = Am * Am'; - noise = (Am-Amq) * (Am-Amq)'; - snr1 = 10*log10(signal/noise); - Am_err_label = sprintf(";Am error SNR %4.2f dB;m",snr1); - if plot_err - plot((1:L)*Wo*4000/pi, 20*log10(Amq) - 20*log10(Am), Am_err_label); - end - endif - - - hold off; - - % interactive menu - - printf("\rframe: %d menu: n-next b-back p-png q-quit", f); - fflush(stdout); - k = kbhit(); - if (k == 'n') - f = f + 1; - endif - if (k == 'b') - f = f - 1; - endif - - % optional print to PNG - - if (k == 'p') - figure(1); - pngname = sprintf("%s_%d_sn.png",samname,f); - print(pngname, '-dpng', "-S500,500") - pngname = sprintf("%s_%d_sn_large.png",samname,f); - print(pngname, '-dpng', "-S800,600") - - figure(2); - pngname = sprintf("%s_%d_sw.png",samname,f); - print(pngname, '-dpng', "-S500,500") - pngname = sprintf("%s_%d_sw_large.png",samname,f); - print(pngname, '-dpng', "-S1200,800") - endif - - until (k == 'q') - printf("\n"); - -endfunction |
