mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-07-25 10:16:52 -04:00
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6494 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# this script characterizes a single code over a range of Eb/N0
|
|
# a baseband signal with mean power = 1
|
|
# 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
|
|
# make-ldpc ldpc.pchk "$m" "$n" $seed evenboth 2x3/8x4 no4cycle
|
|
|
|
set -e # Stop if an error occurs
|
|
#set -v # Echo commands as they are read
|
|
|
|
n=128
|
|
k=80
|
|
m=$((n-k))
|
|
seed=873
|
|
ntrials=1000000
|
|
niterations=10
|
|
|
|
rate=$(echo "scale=5; $k/$n" | bc)
|
|
echo n=$n k=$k rate=$rate m=$m
|
|
|
|
make-ldpc ldpc.pchk "$m" "$n" $seed evenboth 120x3/8x4 no4cycle
|
|
|
|
make-gen ldpc.pchk ldpc.gen sparse
|
|
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 $niterations
|
|
verify ldpc.pchk ldpc.dec ldpc.gen ldpc.src
|
|
done
|