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);
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
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
% 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)],
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));