moved back to parabolic interpolator, so we can have C and Octave using exctly the...
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Tue, 25 Jul 2017 23:46:13 +0000 (23:46 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Tue, 25 Jul 2017 23:46:13 +0000 (23:46 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@3332 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/octave/c2wideband_batch.m
codec2-dev/octave/newamp.m

index 863cda65703086e876c1cb5d023b9da163d1cd7f..f8785456d5717ad3996dbb5570a0391efba7b718 100644 (file)
@@ -271,10 +271,14 @@ function [model_ rate_K_surface] = experiment_rate_K_dct2(model, plots=1)
     sumnz(n) = qn;
   end
 
+  fg = 1;
+  
+ figure(fg++); clf;  mesh(rate_K_surface); title('rate K surface block');
   if plots
-    figure(4); clf; plot(sumnz); hold on; 
+    figure(fg++); clf; plot(sumnz); hold on; 
     plot([1 length(sumnz)],[mean(sumnz) mean(sumnz)]); hold off; title('Non Zero');
-    figure(5); clf; plot(dct2_sd); title('DCT SD');
+    figure(fg++); clf; plot(dct2_sd); title('DCT SD');
   end
   printf("average dct spectral distortion: %3.2f dB\n", mean(dct2_sd));
   printf("mean number of coeffs/DCT: %3.2f/%d\n", mean(sumnz), Nt*K);
@@ -286,7 +290,7 @@ function [model_ rate_K_surface] = experiment_rate_K_dct2(model, plots=1)
   dist = std((rate_K_surface_(1:dec:Nblocks*Nt*dec,:) - rate_K_surface(1:dec:Nblocks*Nt*dec,:))');
   
   if plots
-    figure(1); clf; plot(dist); title('Rate K SD');
+    figure(fg++); clf; plot(dist); title('Rate K SD');
     printf("Rate K spectral distortion mean: %3.2f dB var: %3.2f\n", mean(dist), var(dist));
   end
 endfunction
index 805282b8c526135316335e087dce86a7d79c637e..164dcb25e51a67cf2155343349fcfc12efccb481 100644 (file)
@@ -518,8 +518,8 @@ function [rate_K_surface rate_K_sample_freqs_kHz] = resample_const_rate_f(model,
 
     rate_L_sample_freqs_kHz = (1:L)*Wo*Fs/(2000*pi);
     
-    rate_K_surface(f,:) = interp1([0 rate_L_sample_freqs_kHz (Fs/2000)], [AmdB(1) AmdB AmdB(L)], rate_K_sample_freqs_kHz, "spline");
-    %rate_K_surface(f,:)  = interp_para(rate_L_sample_freqs_kHz, AmdB, Fs/(2*1000), rate_K_sample_freqs_kHz);    
+    %rate_K_surface(f,:) = interp1([0 rate_L_sample_freqs_kHz (Fs/2000)], [AmdB(1) AmdB AmdB(L)], rate_K_sample_freqs_kHz, "spline");
+    rate_K_surface(f,:)  = interp_para(rate_L_sample_freqs_kHz, AmdB, Fs/(2*1000), rate_K_sample_freqs_kHz);    
 
     %printf("%d\n", f);
   end
@@ -602,6 +602,9 @@ function [model_ AmdB_] = resample_rate_L(model, rate_K_surface, rate_K_sample_f
 
     % dealing with end effects is an ongoing issue.....need a better solution
 
+    AmdB_(f,1:L) = interp_para(rate_K_sample_freqs_kHz, rate_K_surface(f,:), Fs/(2*1000), rate_L_sample_freqs_kHz);    
+
+#{
     if pad_end
       AmdB_(f,1:L) = interp1([0 rate_K_sample_freqs_kHz Fs/2000], 
                              [rate_K_surface(f,1) rate_K_surface(f,:) rate_K_surface(f,K)], 
@@ -613,6 +616,7 @@ function [model_ AmdB_] = resample_rate_L(model, rate_K_surface, rate_K_sample_f
                              rate_L_sample_freqs_kHz, 
                              "spline");
     end
+#}
 
     %AmdB_(f,1:L) = interp_para(rate_K_sample_freqs_kHz, rate_K_surface(f,:), Fs/(2*1000), rate_L_sample_freqs_kHz);
     %printf("f: %d %f %f %f\n", f, rate_K_sample_freqs_kHz(1), rate_L_sample_freqs_kHz(1), AmdB_(1));