mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-08-17 21:22:26 -04:00
Merge in ldpc work.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6468 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
3b206b4fa8
commit
39ae2d156f
@ -1,4 +1,4 @@
|
||||
sf4 160,80 ldpc, Eb/N0_dB, ngood, nundet, 10^6 trials
|
||||
sf4 160,80 ldpc 2x3/8x4 seed=3, Eb/N0_dB, ngood, nundet, 10^6 trials
|
||||
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
|
||||
|
@ -1,2 +1,4 @@
|
||||
5.1 0.005 "(198,72) JTMSK"
|
||||
3.1 0.0003 "(160,80) LDPC"
|
||||
3.9 0.15 "(198,72) JTMSK"
|
||||
2.7 0.003 "(174,87) LDPC"
|
||||
5.6 0.00003 "(160,80) LDPC"
|
||||
5.6 0.00008 "(140,80) LDPC"
|
||||
|
@ -15,11 +15,13 @@ 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 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:(100000-$2)/100000 with linespoints lt 1 lw 2 pt 7, \
|
||||
"jtmskcode.results" using 1:($5/1000000) with linespoints lt 1 lw 2 pt 7, \
|
||||
"140-80-sf5.results" using 1:(100000-$2)/100000 with linespoints lt 4 lw 2 pt 4, \
|
||||
"140-80-sf5.results" using 1:($3/100000) with linespoints lt 4 lw 2 pt 4, \
|
||||
"174-87-sf6.results" using 1:(1000000-$2)/1000000 with linespoints lt 5 lw 2 pt 5, \
|
||||
"174-87-sf6.results" using 1:($3/1000000) with linespoints lt 5 lw 2 pt 5, \
|
||||
"compare.lab" with labels
|
||||
exit
|
||||
# "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, \
|
||||
|
@ -1,5 +1,5 @@
|
||||
rate 1/2 constraint len 13, bpsk, ngood, nbad 10^5 trials, 10^6 trials
|
||||
-0.50 1470 4
|
||||
-0.50 1470 4
|
||||
0.00 4403 2 43968 30
|
||||
0.50 11167 2 111824 33
|
||||
1.00 24082 1 238157 21
|
||||
@ -7,7 +7,7 @@ rate 1/2 constraint len 13, bpsk, ngood, nbad 10^5 trials, 10^6 trials
|
||||
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
|
||||
5.00 99977 0
|
||||
3.50 97560 0 975836 0
|
||||
4.00 99390 0 993832 0
|
||||
4.50 99864 0 998695 0
|
||||
5.00 99977 0 999771 0
|
||||
|
@ -1,32 +0,0 @@
|
||||
#!/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
|
BIN
lib/ldpc/jtmode_codes/ldpc-174-87-sf6.pchk
Normal file
BIN
lib/ldpc/jtmode_codes/ldpc-174-87-sf6.pchk
Normal file
Binary file not shown.
22
lib/ldpc/jtmode_codes/ldpc-search
Executable file
22
lib/ldpc/jtmode_codes/ldpc-search
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
# search for a good code
|
||||
n=160
|
||||
k=72
|
||||
m=$((n-k))
|
||||
|
||||
set -e # Stop if an error occurs
|
||||
|
||||
rand-src ldpc.src 2 "$k"x1000000
|
||||
|
||||
for i in `seq 1 1000`
|
||||
do
|
||||
seed=$i
|
||||
echo seed $seed
|
||||
make-ldpc ldpc.pchk $m $n $seed evenboth 2x3/8x4 no4cycle
|
||||
make-gen ldpc.pchk ldpc.gen dense
|
||||
encode ldpc.pchk ldpc.gen ldpc.src ldpc.enc
|
||||
transmit ldpc.enc ldpc.rec 1 awgn 0.8
|
||||
decode ldpc.pchk ldpc.rec ldpc.dec awgn 0.80 prprp 250
|
||||
verify ldpc.pchk ldpc.dec ldpc.gen ldpc.src
|
||||
done
|
||||
|
38
lib/ldpc/jtmode_codes/ldpc-waterfall
Executable file
38
lib/ldpc/jtmode_codes/ldpc-waterfall
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
# this script characterizes a single code over a range of Eb/N0
|
||||
# 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
|
||||
|
||||
set -e # Stop if an error occurs
|
||||
#set -v # Echo commands as they are read
|
||||
|
||||
n=174
|
||||
k=87
|
||||
m=$((n-k))
|
||||
seed=4
|
||||
ntrials=1000000
|
||||
|
||||
rate=$(echo "scale=5; $k/$n" | bc)
|
||||
echo n=$n k=$k rate=$rate m=$m
|
||||
|
||||
make-ldpc ldpc.pchk "$m" "$n" $seed evenboth 2x3/8x4 no4cycle
|
||||
|
||||
make-gen ldpc.pchk ldpc.gen dense
|
||||
rand-src ldpc.src 1 "$k"x"$ntrials"
|
||||
encode ldpc.pchk ldpc.gen ldpc.src ldpc.enc
|
||||
|
||||
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.enc ldpc.rec 1 awgn $sigma
|
||||
decode ldpc.pchk ldpc.rec ldpc.dec awgn $sigma\
|
||||
prprp 250
|
||||
verify ldpc.pchk ldpc.dec ldpc.gen \
|
||||
ldpc.src
|
||||
|
||||
done
|
Loading…
x
Reference in New Issue
Block a user