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 tonespec(NFFT)
|
||||||
real*8 dt, df, fs, pi, twopi
|
real*8 dt, df, fs, pi, twopi
|
||||||
real softbits(144)
|
real softbits(144)
|
||||||
real*8 unscrambledsoftbits(128)
|
real*8 lratio(128)
|
||||||
real lratio(128)
|
|
||||||
logical first
|
logical first
|
||||||
data first/.true./
|
data first/.true./
|
||||||
data s8/0,1,1,1,0,0,1,0/
|
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(49:128)=softbits(65:65+80-1)
|
||||||
lratio=exp(2.0*lratio/(sigma*sigma))
|
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_iterations=10
|
||||||
max_dither=1
|
max_dither=1
|
||||||
call ldpc_decode(unscrambledsoftbits, decoded, &
|
call ldpc_decode(lratio, decoded, &
|
||||||
max_iterations, niterations, max_dither, ndither)
|
max_iterations, niterations, max_dither, ndither)
|
||||||
|
|
||||||
if( niterations .ge. 0.0 ) then
|
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, target:: i1Msg8BitBytes(10) !80 bits represented in 10 bytes
|
||||||
integer*1 codeword(128) !Encoded bits before re-ordering
|
integer*1 codeword(128) !Encoded bits before re-ordering
|
||||||
integer*1 msgbits(80) !72-bit message + 8-bit hash
|
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 bitseq(144) !Tone #s, data and sync (values 0-1)
|
||||||
integer*1 i1hash(4)
|
integer*1 i1hash(4)
|
||||||
integer*1 b7(7)
|
integer*1 b7(7)
|
||||||
@ -124,17 +123,13 @@ subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file)
|
|||||||
|
|
||||||
call ldpc_encode(msgbits,codeword)
|
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:
|
!Create 144-bit channel vector:
|
||||||
!8-bit sync word + 48 bits + 8-bit sync word + 80 bits
|
!8-bit sync word + 48 bits + 8-bit sync word + 80 bits
|
||||||
bitseq=0
|
bitseq=0
|
||||||
bitseq(1:8)=s8
|
bitseq(1:8)=s8
|
||||||
bitseq(9:56)=reorderedcodeword(1:48)
|
bitseq(9:56)=codeword(1:48)
|
||||||
bitseq(57:64)=s8
|
bitseq(57:64)=s8
|
||||||
bitseq(65:144)=reorderedcodeword(49:128)
|
bitseq(65:144)=codeword(49:128)
|
||||||
bitseq=2*bitseq-1
|
bitseq=2*bitseq-1
|
||||||
|
|
||||||
xq(1:6)=bitseq(1)*pp(7:12) !first bit is mapped to 1st half-symbol on q
|
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