2016-11-07 11:47:40 -05:00
|
|
|
subroutine spec64(c0,npts2,mode64,jpk,s3,LL,NN)
|
2016-07-26 13:51:13 -04:00
|
|
|
|
2016-11-13 15:36:27 -05:00
|
|
|
parameter (NSPS=2304) !Samples per symbol at 4000 Hz
|
2016-07-26 13:51:13 -04:00
|
|
|
complex c0(0:360000) !Complex spectrum of dd()
|
|
|
|
complex cs(0:NSPS-1) !Complex symbol spectrum
|
2016-11-07 11:47:40 -05:00
|
|
|
real s3(LL,NN) !Synchronized symbol spectra
|
2016-07-26 13:51:13 -04:00
|
|
|
|
2016-11-07 11:47:40 -05:00
|
|
|
nfft6=nsps
|
2016-07-26 13:51:13 -04:00
|
|
|
do j=1,63
|
2016-11-07 11:47:40 -05:00
|
|
|
jj=j+7 !Skip first Costas array
|
|
|
|
if(j.ge.32) jj=j+14 !Skip middle Costas array
|
|
|
|
ja=jpk + (jj-1)*nfft6
|
2016-07-26 13:51:13 -04:00
|
|
|
jb=ja+nfft6-1
|
2016-11-13 15:36:27 -05:00
|
|
|
cs(0:nfft6-1)=c0(ja:jb)
|
2016-07-26 13:51:13 -04:00
|
|
|
call four2a(cs,nfft6,1,-1,1)
|
2016-11-07 11:47:40 -05:00
|
|
|
do ii=1,LL
|
|
|
|
i=ii-65
|
|
|
|
if(i.lt.0) i=i+nfft6
|
|
|
|
s3(ii,j)=real(cs(i))**2 + aimag(cs(i))**2
|
2016-07-26 13:51:13 -04:00
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
|
2016-11-13 15:36:27 -05:00
|
|
|
! df=4000.0/nfft6
|
|
|
|
! do i=1,LL
|
|
|
|
! freq=(i-65)*df
|
|
|
|
! write(73,3002) i-65,freq,(1.e-6*s3(i,j),j=1,5)
|
|
|
|
!3002 format(i5,6f10.3)
|
|
|
|
! enddo
|
|
|
|
|
2016-07-26 13:51:13 -04:00
|
|
|
return
|
|
|
|
end subroutine spec64
|