mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	Tweaking msk32 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6875 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									d987f8c507
								
							
						
					
					
						commit
						73c5fef39b
					
				| @ -108,7 +108,7 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
|     likelymessages(irpt)=ig | ||||
| !    write(*,*) hashmsg,ig,ig24(ig) | ||||
|   enddo   | ||||
|   qsocontext=.true. | ||||
|   qsocontext=.false. | ||||
| 
 | ||||
|   ! fill the detmet, detferr arrays | ||||
|   nstepsize=48  ! 4ms steps | ||||
| @ -225,7 +225,7 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
|     ddr=abs(ccr1)*abs(ccr2) | ||||
|     crmax=maxval(abs(ccr)) | ||||
| 
 | ||||
| ! Find 3 largest peaks | ||||
| ! Find 6 largest peaks | ||||
|     do ipk=1,6 | ||||
|       iloc=maxloc(abs(ccr)) | ||||
|       ic1=iloc(1) | ||||
| @ -235,7 +235,7 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
|       ccr(max(1,ic1-7):min(NPTS-32*6-41,ic1+7))=0.0 | ||||
|     enddo | ||||
| 
 | ||||
|     do ipk=1,6 | ||||
|     do ipk=1,2 | ||||
| 
 | ||||
| ! we want ic to be the index of the first sample of the frame | ||||
|       ic0=ipeaks(ipk) | ||||
| @ -279,7 +279,7 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
| ! Final estimate of the carrier frequency - returned to the calling program | ||||
|         fest=1500+ferr+ferr2  | ||||
| 
 | ||||
|         do idf=0,10   ! frequency jitter | ||||
|         do idf=0,6                         ! frequency jitter | ||||
|           if( idf .eq. 0 ) then | ||||
|             deltaf=0.0 | ||||
|           elseif( mod(idf,2) .eq. 0 ) then | ||||
| @ -294,7 +294,7 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
| ! place the beginning of frame at index NSPM+1 | ||||
|           cdat2=cshift(cdat2,ic-(NSPM+1)) | ||||
| 
 | ||||
|           do iav=1,8 ! Hopefully we can eliminate some of these after looking at more examples  | ||||
|           do iav=1,8 ! Frame averaging patterns  | ||||
|             if( iav .eq. 1 ) then | ||||
|               c=cdat2(NSPM+1:2*NSPM)   | ||||
|             elseif( iav .eq. 2 ) then | ||||
| @ -397,7 +397,8 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
|             iloc=minloc(cd) | ||||
|             imsg2=iloc(1)-1 | ||||
|             cdrat=cdm2/(cdm+0.001) | ||||
|             if( cdrat .gt. cdratbest ) then | ||||
| !            if( cdrat .gt. cdratbest ) then | ||||
|             if( cdm .lt. cdbest ) then | ||||
|               cdratbest = cdrat | ||||
|               cdbest = cdm | ||||
|               imsgbest = imsg | ||||
| @ -407,7 +408,7 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
|               idfbest = idf | ||||
|               idbest = id | ||||
|               nbadsyncbest = nbadsync | ||||
|               if( ( ihammd(imsgbest)+nbadsyncbest  .le. 5 )  .and. ( (cdratbest .gt. 1000.0) .or. (cdbest .eq. 0.0) ) ) goto 999 | ||||
|               if( ( ihammd(imsgbest)+nbadsyncbest  .le. 4 )  .and. ( (cdratbest .gt. 100.0) .and. (cdbest .le. 0.05) ) ) goto 999 | ||||
|             endif | ||||
| 
 | ||||
|           enddo ! frame averaging loop | ||||
| @ -423,7 +424,7 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc) | ||||
|   enddo | ||||
| 999 continue | ||||
|   if( imsgbest .ge. 0 ) then | ||||
|     if(ihammd(imsgbest)+nbadsyncbest .le. 5) then | ||||
|     if( ( ihammd(imsgbest)+nbadsyncbest  .le. 4 )  .and. ( (cdratbest .gt. 50.0) .and. (cdbest .le. 0.05) ) ) then | ||||
|       if( qsocontext ) then | ||||
|         nrxrpt=iand(likelymessages(imsgbest),31) | ||||
|         nrxhash=(likelymessages(imsgbest)-nrxrpt)/32 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user