55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
subroutine peakdt9(c2,nsps8,nspsd,c3,xdt)
 | 
						|
 | 
						|
  parameter (NZ2=1512,NZ3=1360)
 | 
						|
  complex c2(0:NZ2-1)
 | 
						|
  complex c3(0:NZ3-1)
 | 
						|
  complex z
 | 
						|
  real p(0:3300)
 | 
						|
  include 'jt9sync.f90'
 | 
						|
 | 
						|
  p=0.
 | 
						|
  i0=5*nspsd 
 | 
						|
  do i=0,NZ2-1
 | 
						|
     z=1.e-3*sum(c2(max(i-(nspsd-1),0):i))
 | 
						|
     p(i0+i)=real(z)**2 + aimag(z)**2      !Integrated symbol power at freq=0
 | 
						|
  enddo
 | 
						|
 | 
						|
  call getlags(nsps8,lag0,lag1,lag2)
 | 
						|
  tsymbol=nsps8/1500.0
 | 
						|
  dtlag=tsymbol/nspsd
 | 
						|
  smax=0.
 | 
						|
  lagpk=0
 | 
						|
  do lag=lag1,lag2
 | 
						|
     sum0=0.
 | 
						|
     sum1=0.
 | 
						|
     j=-nspsd
 | 
						|
     do i=1,85
 | 
						|
        j=j+nspsd
 | 
						|
        if(isync(i).eq.1) then
 | 
						|
           sum1=sum1+p(j+lag)
 | 
						|
        else
 | 
						|
           sum0=sum0+p(j+lag)
 | 
						|
        endif
 | 
						|
     enddo
 | 
						|
     ss=(sum1/16.0)/(sum0/69.0) - 1.0
 | 
						|
     xdt=(lag-lag0)*dtlag
 | 
						|
     if(ss.gt.smax) then
 | 
						|
        smax=ss
 | 
						|
        lagpk=lag
 | 
						|
     endif
 | 
						|
  enddo
 | 
						|
 | 
						|
  xdt=(lagpk-lag0)*dtlag
 | 
						|
 | 
						|
  do i=0,NZ3-1
 | 
						|
     j=i+lagpk-i0-nspsd+1
 | 
						|
     if(j.ge.0 .and. j.lt.NZ2) then
 | 
						|
        c3(i)=c2(j)
 | 
						|
     else
 | 
						|
        c3(i)=0.
 | 
						|
     endif
 | 
						|
  enddo
 | 
						|
 
 | 
						|
  return
 | 
						|
end subroutine peakdt9
 |