mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	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:
		
							parent
							
								
									23b514a2f8
								
							
						
					
					
						commit
						192665bdeb
					
				@ -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,7 +129,19 @@ 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
 | 
				
			||||||
 | 
					        if(iap.eq.1) then
 | 
				
			||||||
 | 
					           if(iaptype.eq.1) then   ! look for plain CQ
 | 
				
			||||||
 | 
					              apmask=0
 | 
				
			||||||
 | 
					              apmask(88:115)=1   ! plain CQ 
 | 
				
			||||||
 | 
					              apmask(144)=1      ! not free text
 | 
				
			||||||
 | 
					              apmask(160:162)=1  ! 3 extra bits
 | 
				
			||||||
 | 
					              llrap=0.0
 | 
				
			||||||
 | 
					              llrap(88:115)=apmag*cq/ss
 | 
				
			||||||
 | 
					              llrap(144)=-apmag/ss
 | 
				
			||||||
 | 
					              llrap(160:162)=apmag*apsym(73:75)/ss
 | 
				
			||||||
 | 
					           endif
 | 
				
			||||||
 | 
					           if(iaptype.eq.2) then   ! look for mycall
 | 
				
			||||||
              apmask=0
 | 
					              apmask=0
 | 
				
			||||||
              apmask(88:115)=1   ! mycall
 | 
					              apmask(88:115)=1   ! mycall
 | 
				
			||||||
              apmask(144)=1      ! not free text
 | 
					              apmask(144)=1      ! not free text
 | 
				
			||||||
@ -139,7 +151,10 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
 | 
				
			|||||||
              llrap(144)=-apmag/ss
 | 
					              llrap(144)=-apmag/ss
 | 
				
			||||||
              llrap(160:162)=apmag*apsym(73:75)/ss
 | 
					              llrap(160:162)=apmag*apsym(73:75)/ss
 | 
				
			||||||
              where(apmask.eq.0) llrap=llr
 | 
					              where(apmask.eq.0) llrap=llr
 | 
				
			||||||
        elseif(iap.eq.2) then
 | 
					           endif
 | 
				
			||||||
 | 
					        endif
 | 
				
			||||||
 | 
					        if(iap.eq.2) then
 | 
				
			||||||
 | 
					           if(iaptype.eq.1) then   ! look for mycall, dxcall
 | 
				
			||||||
              apmask=0
 | 
					              apmask=0
 | 
				
			||||||
              apmask(88:115)=1   ! mycall
 | 
					              apmask(88:115)=1   ! mycall
 | 
				
			||||||
              apmask(116:143)=1  ! hiscall
 | 
					              apmask(116:143)=1  ! hiscall
 | 
				
			||||||
@ -150,7 +165,8 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
 | 
				
			|||||||
              llrap(144)=-apmag/ss
 | 
					              llrap(144)=-apmag/ss
 | 
				
			||||||
              llrap(160:162)=apmag*apsym(73:75)/ss
 | 
					              llrap(160:162)=apmag*apsym(73:75)/ss
 | 
				
			||||||
              where(apmask.eq.0) llrap=llr
 | 
					              where(apmask.eq.0) llrap=llr
 | 
				
			||||||
        elseif(iap.eq.3) then
 | 
					           endif
 | 
				
			||||||
 | 
					           if(iaptype.eq.2) then   ! look mycall, dxcall, RRR/73
 | 
				
			||||||
              apmask=0
 | 
					              apmask=0
 | 
				
			||||||
              apmask(88:115)=1   ! mycall
 | 
					              apmask(88:115)=1   ! mycall
 | 
				
			||||||
              apmask(116:143)=1  ! hiscall
 | 
					              apmask(116:143)=1  ! hiscall
 | 
				
			||||||
@ -162,6 +178,7 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
 | 
				
			|||||||
              llrap(160:162)=apmag*apsym(73:75)/ss
 | 
					              llrap(160:162)=apmag*apsym(73:75)/ss
 | 
				
			||||||
              where(apmask.eq.0) llrap=llr
 | 
					              where(apmask.eq.0) llrap=llr
 | 
				
			||||||
           endif
 | 
					           endif
 | 
				
			||||||
 | 
					        endif
 | 
				
			||||||
        cw=0
 | 
					        cw=0
 | 
				
			||||||
        call timer('bpd174  ',0)
 | 
					        call timer('bpd174  ',0)
 | 
				
			||||||
        call bpdecode174(llrap,apmask,max_iterations,decoded,cw,nharderrors,  &
 | 
					        call bpdecode174(llrap,apmask,max_iterations,decoded,cw,nharderrors,  &
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user