aboutsummaryrefslogtreecommitdiff
path: root/octave/pllpcpf.m
diff options
context:
space:
mode:
Diffstat (limited to 'octave/pllpcpf.m')
-rw-r--r--octave/pllpcpf.m150
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