mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	
		
			
	
	
		
			56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
| 
								 | 
							
								subroutine sync9f(s2,nq,nfa,nfb,ss2,ss3,lagpk,ipk,ccfbest)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								! Look for JT9 sync pattern in the folded symbol spectra, s2.
							 | 
						||
| 
								 | 
							
								! Frequency search extends from nfa to nfb.  Synchronized symbol
							 | 
						||
| 
								 | 
							
								! spectra are put into ss2() and ss3().
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  integer ii4(16)
							 | 
						||
| 
								 | 
							
								  real s2(240,340)
							 | 
						||
| 
								 | 
							
								  real ss2(0:8,85)
							 | 
						||
| 
								 | 
							
								  real ss3(0:7,69)
							 | 
						||
| 
								 | 
							
								  include 'jt9sync.f90'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  ii4=4*ii-3
							 | 
						||
| 
								 | 
							
								  ccf=0.
							 | 
						||
| 
								 | 
							
								  ccfbest=0.
							 | 
						||
| 
								 | 
							
								  nfft=4*nq
							 | 
						||
| 
								 | 
							
								  df=12000.0/nfft
							 | 
						||
| 
								 | 
							
								  ia=nfa/df
							 | 
						||
| 
								 | 
							
								  ib=nfb/df + 0.9999
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  do i=ia,ib
							 | 
						||
| 
								 | 
							
								     do lag=0,339
							 | 
						||
| 
								 | 
							
								        t=0.
							 | 
						||
| 
								 | 
							
								        do n=1,16
							 | 
						||
| 
								 | 
							
								           j=ii4(n)+lag
							 | 
						||
| 
								 | 
							
								           if(j.gt.340) j=j-340
							 | 
						||
| 
								 | 
							
								           t=t + s2(i,j)
							 | 
						||
| 
								 | 
							
								        enddo
							 | 
						||
| 
								 | 
							
								        if(t.gt.ccfbest) then
							 | 
						||
| 
								 | 
							
								           lagpk=lag
							 | 
						||
| 
								 | 
							
								           ipk=i
							 | 
						||
| 
								 | 
							
								           ccfbest=t
							 | 
						||
| 
								 | 
							
								        endif
							 | 
						||
| 
								 | 
							
								     enddo
							 | 
						||
| 
								 | 
							
								  enddo
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  do i=0,8
							 | 
						||
| 
								 | 
							
								     j4=lagpk-4
							 | 
						||
| 
								 | 
							
								     i2=2*i + ipk
							 | 
						||
| 
								 | 
							
								     if(i2.lt.1) i2=1
							 | 
						||
| 
								 | 
							
								     m=0
							 | 
						||
| 
								 | 
							
								     do j=1,85
							 | 
						||
| 
								 | 
							
								        j4=j4+4
							 | 
						||
| 
								 | 
							
								        if(j4.gt.340) j4=j4-340
							 | 
						||
| 
								 | 
							
								        if(j4.lt.1) j4=j4+340
							 | 
						||
| 
								 | 
							
								        ss2(i,j)=s2(i2,j4)
							 | 
						||
| 
								 | 
							
								        if(i.ge.1 .and. isync(j).eq.0) then
							 | 
						||
| 
								 | 
							
								           m=m+1
							 | 
						||
| 
								 | 
							
								           ss3(i-1,m)=ss2(i,j)
							 | 
						||
| 
								 | 
							
								        endif
							 | 
						||
| 
								 | 
							
								     enddo
							 | 
						||
| 
								 | 
							
								  enddo
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return
							 | 
						||
| 
								 | 
							
								end subroutine sync9f
							 |