More work on ap.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7886 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke 2017-07-14 20:12:29 +00:00
parent 23b514a2f8
commit 192665bdeb

View File

@ -13,14 +13,14 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
real dd0(15*12000) real dd0(15*12000)
integer*1 decoded(KK),apmask(3*ND),cw(3*ND) integer*1 decoded(KK),apmask(3*ND),cw(3*ND)
integer*1 msgbits(KK) integer*1 msgbits(KK)
integer apsym(KK),rr73(11) integer apsym(KK),rr73(11),cq(28)
integer itone(NN) integer itone(NN)
complex cd0(3200) complex cd0(3200)
complex ctwk(32) complex ctwk(32)
complex csymb(32) complex csymb(32)
logical newdat,lsubtract logical newdat,lsubtract
data rr73/-1,1,1,1,1,1,1,-1,1,1,-1/ data rr73/-1,1,1,1,1,1,1,-1,1,1,-1/
data cq/1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,1,1,-1,-1,1/
max_iterations=30 max_iterations=30
norder=2 norder=2
nharderrors=-1 nharderrors=-1
@ -129,38 +129,55 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
apmask(160:162)=1 apmask(160:162)=1
llrap=llr llrap=llr
llrap(160:162)=apmag*apsym(73:75)/ss llrap(160:162)=apmag*apsym(73:75)/ss
elseif(iap.eq.1) then endif
apmask=0 if(iap.eq.1) then
apmask(88:115)=1 ! mycall if(iaptype.eq.1) then ! look for plain CQ
apmask(144)=1 ! not free text apmask=0
apmask(160:162)=1 ! 3 extra bits apmask(88:115)=1 ! plain CQ
llrap=0.0 apmask(144)=1 ! not free text
llrap(88:115)=apmag*apsym(1:28)/ss apmask(160:162)=1 ! 3 extra bits
llrap(144)=-apmag/ss llrap=0.0
llrap(160:162)=apmag*apsym(73:75)/ss llrap(88:115)=apmag*cq/ss
where(apmask.eq.0) llrap=llr llrap(144)=-apmag/ss
elseif(iap.eq.2) then llrap(160:162)=apmag*apsym(73:75)/ss
apmask=0 endif
apmask(88:115)=1 ! mycall if(iaptype.eq.2) then ! look for mycall
apmask(116:143)=1 ! hiscall apmask=0
apmask(144)=1 ! not free text apmask(88:115)=1 ! mycall
apmask(160:162)=1 ! 3 extra bits apmask(144)=1 ! not free text
llrap=0.0 apmask(160:162)=1 ! 3 extra bits
llrap(88:143)=apmag*apsym(1:56)/ss llrap=0.0
llrap(144)=-apmag/ss llrap(88:115)=apmag*apsym(1:28)/ss
llrap(160:162)=apmag*apsym(73:75)/ss llrap(144)=-apmag/ss
where(apmask.eq.0) llrap=llr llrap(160:162)=apmag*apsym(73:75)/ss
elseif(iap.eq.3) then where(apmask.eq.0) llrap=llr
apmask=0 endif
apmask(88:115)=1 ! mycall endif
apmask(116:143)=1 ! hiscall if(iap.eq.2) then
apmask(144:154)=1 ! RRR or 73 if(iaptype.eq.1) then ! look for mycall, dxcall
apmask(160:162)=1 ! 3 extra bits apmask=0
llrap=0.0 apmask(88:115)=1 ! mycall
llrap(88:143)=apmag*apsym(1:56)/ss apmask(116:143)=1 ! hiscall
llrap(144:154)=apmag*rr73/ss apmask(144)=1 ! not free text
llrap(160:162)=apmag*apsym(73:75)/ss apmask(160:162)=1 ! 3 extra bits
where(apmask.eq.0) llrap=llr llrap=0.0
llrap(88:143)=apmag*apsym(1:56)/ss
llrap(144)=-apmag/ss
llrap(160:162)=apmag*apsym(73:75)/ss
where(apmask.eq.0) llrap=llr
endif
if(iaptype.eq.2) then ! look mycall, dxcall, RRR/73
apmask=0
apmask(88:115)=1 ! mycall
apmask(116:143)=1 ! hiscall
apmask(144:154)=1 ! RRR or 73
apmask(160:162)=1 ! 3 extra bits
llrap=0.0
llrap(88:143)=apmag*apsym(1:56)/ss
llrap(144:154)=apmag*rr73/ss
llrap(160:162)=apmag*apsym(73:75)/ss
where(apmask.eq.0) llrap=llr
endif
endif endif
cw=0 cw=0
call timer('bpd174 ',0) call timer('bpd174 ',0)