WSJT-X/lib/spec64.f90
Joe Taylor 2440950470 In QRA64 decoder, downsample by 1/2 rather than 1/3. Fix some things in sync64 and spec64.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7316 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-14 19:56:13 +00:00

31 lines
905 B
Fortran

subroutine spec64(c0,npts2,mode64,jpk,s3,LL,NN)
parameter (NSPS=3456) !Samples per symbol at 6000 Hz
complex c0(0:360000) !Complex spectrum of dd()
complex cs(0:NSPS-1) !Complex symbol spectrum
real s3(LL,NN) !Synchronized symbol spectra
nfft6=nsps
fac=1.0/nfft6
do j=1,63
jj=j+7 !Skip first Costas array
if(j.ge.32) jj=j+14 !Skip middle Costas array
ja=jpk + (jj-1)*nfft6
jb=ja+nfft6-1
cs(0:nfft6-1)=fac*c0(ja:jb)
call four2a(cs,nfft6,1,-1,1)
smax=0.
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
if(s3(ii,j).gt.smax) then
smax=s3(ii,j)
ipk=ii-65
endif
enddo
enddo
return
end subroutine spec64