From: drowe67 Date: Tue, 26 Feb 2013 01:48:52 +0000 (+0000) Subject: interleaving tests, not useful with no FEC X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=b5de36281f59b993b5317f9acda0e75aca847aa2;p=freetel-svn-tracking.git interleaving tests, not useful with no FEC git-svn-id: https://svn.code.sf.net/p/freetel/code@1169 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/octave/fdmdv_demod.m b/codec2-dev/octave/fdmdv_demod.m index ff6a7fc0..b08d7ffa 100644 --- a/codec2-dev/octave/fdmdv_demod.m +++ b/codec2-dev/octave/fdmdv_demod.m @@ -8,7 +8,7 @@ % Version 2 % -function fdmdv_demod(rawfilename, nbits, pngname) +function fdmdv_demod(rawfilename, nbits, errorpatternfilename) fdmdv; % include modem code @@ -170,7 +170,6 @@ function fdmdv_demod(rawfilename, nbits, pngname) % --------------------------------------------------------------------- ber = total_bit_errors / total_bits; - Fcentre printf("%d bits %d errors BER: %1.4f\n",total_bits, total_bit_errors, ber); % --------------------------------------------------------------------- @@ -252,4 +251,36 @@ function fdmdv_demod(rawfilename, nbits, pngname) grid title('FDM Rx Spectrum'); + % interleaving tests + + load ../unittest/inter560.txt + lep = length(error_pattern_log); + lep = floor(lep/560)*560; + error_pattern_log_inter = zeros(1,lep); + for i=1:560:lep + for j=1:560 + %printf("i: %4d j: %4d inter560(j): %4d\n", i,j,inter560(j)); + index = inter560(j); + error_pattern_log_inter(i-1+index+1) = error_pattern_log(i-1+j); + end + end + + figure(8) + clf; + hold on; + for p=1:Nc + plot(p + 0.25*error_pattern_log_inter((p-1)*2+1:Nc*Nb:lep)); + plot(0.30 + p + 0.25*error_pattern_log_inter(p*2:Nc*Nb:lep),'r') + end + hold off; + axis([1 lep/(Nc*Nb) 0 15]) + + % save error pattern file + + if nargin == 3 + fout = fopen(errorpatternfilename, "wb"); + fwrite(fout, error_pattern_log_inter, "short"); + fclose(fout); + end + endfunction