used parabolic interpolator for phase synth
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 22 Dec 2016 06:27:29 +0000 (06:27 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 22 Dec 2016 06:27:29 +0000 (06:27 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@2944 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/octave/newamp.m

index 3609b9eb61cfc824eebf8597164d3062731e3608..3a1512038821f14c9479900ca80f6ec364ac7300 100644 (file)
@@ -128,8 +128,13 @@ function [phase Gdbfk s Aw] = determine_phase(model, f, ak)
   L       = min([model(f,2) max_amp-1]);
   Wo      = model(f,1);
 
-  mask_sample_freqs_kHz = (Fs/1000)*[0:Nfft/2]/Nfft;           % fft frequency grid (nonneg freqs)
-  Gdbfk = resample_mask(model, f, mask_sample_freqs_kHz);
+  sample_freqs_kHz = (Fs/1000)*[0:Nfft/2]/Nfft;           % fft frequency grid (nonneg freqs)
+  Am = model(f,3:(L+2));
+  AmdB = 20*log10(Am);
+  rate_L_sample_freqs_kHz = (1:L)*Wo*4/pi;
+  Gdbfk = interp_para(rate_L_sample_freqs_kHz, AmdB, sample_freqs_kHz);    
+
+  % Gdbfk = resample_mask(model, f, mask_sample_freqs_kHz);
 
   % optional input of aks for testing