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
|
|
|
|
|
|
|
parameter (NSPS=2304) !Samples per symbol at 4000 Hz
|
|
|
|
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
|
|
|
|
fsample=4000.0
|
2016-07-28 11:18:06 -04:00
|
|
|
df=fsample/nfft6
|
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
|
|
|
|
cs(0:nfft6-1)=1.3e-8*c0(ja:jb)
|
|
|
|
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
|
|
|
|
|
|
|
|
return
|
|
|
|
end subroutine spec64
|