diff --git a/lib/JTMSKfer.f90 b/lib/JTMSKfer.f90 index 04c638435..6c8642021 100644 --- a/lib/JTMSKfer.f90 +++ b/lib/JTMSKfer.f90 @@ -33,9 +33,10 @@ program JTMSKfer bias=0.0 scale=20.0 xln2=log(2.0) + mettab=0 do i=128,156 - x0=log(max(0.0001,2.0*xp(i-127)))/xln2 - x1=log(max(0.001,2.0*(1.0-xp(i-127))))/xln2 + x0=log(max(0.001,2.0*xp(i-127)))/xln2 + x1=log(max(0.001,2.0*(1-xp(i-127))))/xln2 mettab(i,0)=nint(scale*(x0-bias)) mettab(i,1)=nint(scale*(x1-bias)) mettab(256-i,0)=mettab(i,1) @@ -48,7 +49,7 @@ program JTMSKfer mettab(256-i,1)=mettab(i,0) enddo - rdscale=2.0 ! empirically optimized + rdscale=2.0 ntrials=1000000 rate=72.0/198.0 msg="123" @@ -67,7 +68,7 @@ program JTMSKfer ! call sgran() - do idb=0,11 + do idb=6,11 db=idb/2.0-0.5 ! Eb/N0=1/(2*R*sigma^2), so sigma= sqrt( 1/(2*R*Eb/N0) ) sigma=1/sqrt( 2*rate*(10**(db/10.0)) ) diff --git a/lib/ldpc/jtmode_codes/160-80-sf4.results b/lib/ldpc/jtmode_codes/160-80-sf4.results index c1d673709..d63e6bb2b 100644 --- a/lib/ldpc/jtmode_codes/160-80-sf4.results +++ b/lib/ldpc/jtmode_codes/160-80-sf4.results @@ -1,14 +1,15 @@ sf4 160,80 ldpc, Eb/N0_dB, ngood, nundet, 10^6 trials --0.5 2906 0 -0.0 18899 1 -0.5 78344 3 -1.0 220956 9 -1.5 447994 12 -2.0 694624 5 -2.5 876494 4 -3.0 965704 1 -3.5 993584 1 -4.0 999160 0 -4.5 999920 0 -5.0 999993 0 +columns 2,3 decoder uses variable sigma, columns 4,5 decoder uses fixed sigma=0.9 +-0.5 2906 0 10862 5 +0.0 18899 1 34663 6 +0.5 78344 3 94319 3 +1.0 220956 9 215720 9 +1.5 447994 12 405922 9 +2.0 694624 5 631688 5 +2.5 876494 4 825223 2 +3.0 965704 1 940486 1 +3.5 993584 1 986229 1 +4.0 999160 0 997916 0 +4.5 999920 0 999792 0 +5.0 999993 0 999982 0 diff --git a/lib/ldpc/jtmode_codes/fig_compare.gnuplot b/lib/ldpc/jtmode_codes/fig_compare.gnuplot index dd81188b4..73bec798a 100644 --- a/lib/ldpc/jtmode_codes/fig_compare.gnuplot +++ b/lib/ldpc/jtmode_codes/fig_compare.gnuplot @@ -14,7 +14,12 @@ set grid set logscale y plot [-1:6] [1e-6:1] \ "160-80-sf4.results" using 1:(1000000-$2)/1000000 with linespoints lt 2 lw 2 pt 2, \ - "160-80-sf4.results" using 1:($3/1000000) with linespoints lt 2 lw 2 pt 3, \ - "jtmskcode.results" using 1:(100000-$2)/100000 with linespoints lt 1 lw 2 pt 7, \ + "160-80-sf4.results" using 1:($3/1000000) with linespoints lt 2 lw 2 pt 2, \ + "160-80-sf4.results" using 1:(1000000-$4)/1000000 with linespoints lt 3 lw 2 pt 4, \ + "160-80-sf4.results" using 1:($5/1000000) with linespoints lt 2 lw 3 pt 4, \ + "ldpc-144-72-sf2.results" using 1:(1000000-$2)/1000000 with linespoints lt 3 lw 2 pt 5, \ + "ldpc-144-72-sf2.results" using 1:($3/1000000) with linespoints lt 3 lw 2 pt 5, \ + "jtmskcode.results" using 1:(1000000-$4)/1000000 with linespoints lt 1 lw 2 pt 7, \ + "jtmskcode.results" using 1:($5/1000000) with linespoints lt 1 lw 2 pt 7, \ "compare.lab" with labels - +exit diff --git a/lib/ldpc/jtmode_codes/jtmskcode.results b/lib/ldpc/jtmode_codes/jtmskcode.results index 0385ce0de..96bdbfbea 100644 --- a/lib/ldpc/jtmode_codes/jtmskcode.results +++ b/lib/ldpc/jtmode_codes/jtmskcode.results @@ -1,11 +1,12 @@ --0.50 1470 4 - 0.00 4403 2 - 0.50 11167 2 - 1.00 24082 1 - 1.50 42779 4 - 2.00 63417 0 - 2.50 81290 1 - 3.00 92388 0 +rate 1/2 constraint len 13, bpsk, ngood, nbad 10^5 trials, 10^6 trials +-0.50 1470 4 + 0.00 4403 2 43968 30 + 0.50 11167 2 111824 33 + 1.00 24082 1 238157 21 + 1.50 42779 4 425263 20 + 2.00 63417 0 634824 14 + 2.50 81290 1 812206 2 + 3.00 92388 0 924507 2 3.50 97560 0 4.00 99390 0 4.50 99864 0