More related to ecc comparisons.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6453 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke 2016-01-31 16:15:39 +00:00
parent 8c53e407e2
commit 2327fe8094
6 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,14 @@
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

View File

@ -0,0 +1,2 @@
5.1 0.005 "(198,72) JTMSK"
3.1 0.0003 "(160,80) LDPC"

View File

@ -0,0 +1,20 @@
# run: gnuplot fig_compare.gnuplot
# then: pdflatex fig_compare.tex
set term epslatex standalone size 6in,2*6/3in
set output "fig_compare.tex"
set xlabel "$E_b/N_0$ (dB)"
set ylabel "Word Error Rate"
set style func linespoints
set key off
set tics in
set mxtics 2
set mytics 10
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, \
"compare.lab" with labels

View File

@ -0,0 +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
3.50 97560 0
4.00 99390 0
4.50 99864 0
5.00 99977 0

View File

@ -0,0 +1,32 @@
#!/bin/sh
# this script characterizes a single code over a narrow range of Eb/No
# note relationship between noise standard deviation, sigma, and Eb/No:
# Eb/No = 1/(2*R*sigma^2)
# If R=1/2, then Eb/No = 1/sigma^2 Right? Check this.
set -e # Stop if an error occurs
set -v # Echo commands as they are read
#make-ldpc ldpc-160-80.pchk 80 160 3 evenboth 2x3/8x4 no4cycle
cp ldpc-160-80-2x3-8x4-sf4.pchk ldpc-160-80.pchk
make-gen ldpc-160-80.pchk ldpc-160-80.gen dense
rand-src ldpc-160-80.src 1 80x1000000
encode ldpc-160-80.pchk ldpc-160-80.gen ldpc-160-80.src \
ldpc-160-80.enc
rate=0.5
for i in `seq -1 10`;
do
db=$(echo "scale=5; $i/2.0" | bc)
ebno=$(echo "scale=5; e(0.1*$db*l(10.0))" | bc -l)
sigma=$(echo "scale=5; 1/sqrt(2*$rate*$ebno)" | bc)
echo db $db ebno $ebno sigma $sigma
transmit ldpc-160-80.enc ldpc-160-80.rec 1 awgn $sigma
decode ldpc-160-80.pchk ldpc-160-80.rec ldpc-160-80.dec awgn 0.9\
prprp 250
verify ldpc-160-80.pchk ldpc-160-80.dec ldpc-160-80.gen \
ldpc-160-80.src
done

Binary file not shown.