mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 20:28:42 -05:00
Fix an "off by one" times mode_q65 error, and some code cleanup.
This commit is contained in:
parent
fe1aefe93a
commit
cc2ca0f7e7
@ -148,14 +148,6 @@ contains
|
|||||||
1060 format(13b6.6)
|
1060 format(13b6.6)
|
||||||
write(c78,1050) apsymbols1
|
write(c78,1050) apsymbols1
|
||||||
read(c78,1060) apsymbols
|
read(c78,1060) apsymbols
|
||||||
if(iaptype.eq.4) then
|
|
||||||
do j=1,3
|
|
||||||
ng15=32401+j
|
|
||||||
write(c78(60:74),'(b15.15)') ng15
|
|
||||||
read(c78,1060) dgen
|
|
||||||
call q65_enc(dgen,codewords(1,j))
|
|
||||||
enddo
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call timer('q65loops',0)
|
call timer('q65loops',0)
|
||||||
@ -168,7 +160,6 @@ contains
|
|||||||
! There was no single-transmission decode.
|
! There was no single-transmission decode.
|
||||||
if(iand(ndepth,16).eq.16) then
|
if(iand(ndepth,16).eq.16) then
|
||||||
! Try for an average decode.
|
! Try for an average decode.
|
||||||
|
|
||||||
call timer('q65_avg2',0)
|
call timer('q65_avg2',0)
|
||||||
call q65_avg2(ntrperiod,baud,nsubmode,nQSOprogress,lapcqonly, &
|
call q65_avg2(ntrperiod,baud,nsubmode,nQSOprogress,lapcqonly, &
|
||||||
codewords,ncw,xdt,f0,snr2,dat4,idec)
|
codewords,ncw,xdt,f0,snr2,dat4,idec)
|
||||||
|
@ -12,14 +12,9 @@ subroutine q65_loops(c00,npts2,nsps,mode_q65,nsubmode,ndepth,jpk0, &
|
|||||||
character decoded*37
|
character decoded*37
|
||||||
real a(3) !twkfreq params f,f1,f2
|
real a(3) !twkfreq params f,f1,f2
|
||||||
real s3(LN) !Symbol spectra
|
real s3(LN) !Symbol spectra
|
||||||
integer cw4(63)
|
|
||||||
integer dat4(13) !Decoded message (as 13 six-bit integers)
|
integer dat4(13) !Decoded message (as 13 six-bit integers)
|
||||||
integer nap(0:11) !AP return codes
|
integer nap(0:11) !AP return codes
|
||||||
data nap/0,2,3,2,3,4,2,3,6,4,6,6/
|
data nap/0,2,3,2,3,4,2,3,6,4,6,6/
|
||||||
data cw4/0, 0, 0, 0, 8, 4,60,35,17,48,33,25,34,43,43,43,35,15,46,30, &
|
|
||||||
54,24,26,26,57,57,42, 3,23,11,49,49,16, 2, 6, 6,55,21,39,51, &
|
|
||||||
51,51,42,42,50,25,31,35,57,30, 1,54,54,10,10,22,44,58,57,40, &
|
|
||||||
21,21,19/
|
|
||||||
|
|
||||||
idec=-1
|
idec=-1
|
||||||
ircbest=9999
|
ircbest=9999
|
||||||
|
@ -176,7 +176,7 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,codewords,ncw,nsps, &
|
|||||||
n=n+1
|
n=n+1
|
||||||
if(j.ge.1 .and. j.le.jz) then
|
if(j.ge.1 .and. j.le.jz) then
|
||||||
do i=0,LL-1
|
do i=0,LL-1
|
||||||
s3(i-64,n)=s1(i+i1,j)
|
s3(i-64,n)=s1(i+i1,j) !Copy from s1 into s3
|
||||||
enddo
|
enddo
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
@ -262,8 +262,8 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,codewords,ncw,nsps, &
|
|||||||
ccf1=ccf(:,jpk)/rms
|
ccf1=ccf(:,jpk)/rms
|
||||||
if(snr1.gt.10.0) ccf1=(10.0/snr1)*ccf1
|
if(snr1.gt.10.0) ccf1=(10.0/snr1)*ccf1
|
||||||
if(iand(ndepth,16).eq.16) then
|
if(iand(ndepth,16).eq.16) then
|
||||||
! Fill s3() from s1() here, then call q65_avg().
|
! Copy from s1 into s3, then call q65_avg().
|
||||||
i1=i0+ipk-64
|
i1=i0+ipk-64 + mode_q65
|
||||||
i2=i1+LL-1
|
i2=i1+LL-1
|
||||||
if(snr1.ge.2.8 .and. i1.ge.1 .and. i2.le.iz) then
|
if(snr1.ge.2.8 .and. i1.ge.1 .and. i2.le.iz) then
|
||||||
j=j0+jpk-7
|
j=j0+jpk-7
|
||||||
|
Loading…
Reference in New Issue
Block a user