mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-18 01:52:05 -05:00
Remove bit re-ordering in msk144.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6908 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
211f8ba291
commit
42b6ef859c
@ -39,8 +39,7 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc,ntol)
|
||||
real tonespec(NFFT)
|
||||
real*8 dt, df, fs, pi, twopi
|
||||
real softbits(144)
|
||||
real*8 unscrambledsoftbits(128)
|
||||
real lratio(128)
|
||||
real*8 lratio(128)
|
||||
logical first
|
||||
data first/.true./
|
||||
data s8/0,1,1,1,0,0,1,0/
|
||||
@ -352,12 +351,9 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc,ntol)
|
||||
lratio(49:128)=softbits(65:65+80-1)
|
||||
lratio=exp(2.0*lratio/(sigma*sigma))
|
||||
|
||||
unscrambledsoftbits(1:127:2)=lratio(1:64)
|
||||
unscrambledsoftbits(2:128:2)=lratio(65:128)
|
||||
|
||||
max_iterations=10
|
||||
max_dither=1
|
||||
call ldpc_decode(unscrambledsoftbits, decoded, &
|
||||
call ldpc_decode(lratio, decoded, &
|
||||
max_iterations, niterations, max_dither, ndither)
|
||||
|
||||
if( niterations .ge. 0.0 ) then
|
||||
|
@ -31,7 +31,6 @@ subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file)
|
||||
integer*1, target:: i1Msg8BitBytes(10) !80 bits represented in 10 bytes
|
||||
integer*1 codeword(128) !Encoded bits before re-ordering
|
||||
integer*1 msgbits(80) !72-bit message + 8-bit hash
|
||||
integer*1 reorderedcodeword(128) !Odd bits first, then even
|
||||
integer*1 bitseq(144) !Tone #s, data and sync (values 0-1)
|
||||
integer*1 i1hash(4)
|
||||
integer*1 b7(7)
|
||||
@ -124,17 +123,13 @@ subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file)
|
||||
|
||||
call ldpc_encode(msgbits,codeword)
|
||||
|
||||
! Reorder the bits.
|
||||
reorderedcodeword(1:64)=codeword(1:127:2)
|
||||
reorderedcodeword(65:128)=codeword(2:128:2)
|
||||
|
||||
!Create 144-bit channel vector:
|
||||
!8-bit sync word + 48 bits + 8-bit sync word + 80 bits
|
||||
bitseq=0
|
||||
bitseq(1:8)=s8
|
||||
bitseq(9:56)=reorderedcodeword(1:48)
|
||||
bitseq(9:56)=codeword(1:48)
|
||||
bitseq(57:64)=s8
|
||||
bitseq(65:144)=reorderedcodeword(49:128)
|
||||
bitseq(65:144)=codeword(49:128)
|
||||
bitseq=2*bitseq-1
|
||||
|
||||
xq(1:6)=bitseq(1)*pp(7:12) !first bit is mapped to 1st half-symbol on q
|
||||
|
Loading…
Reference in New Issue
Block a user