For now, change to BT=1.5 for FT8. This commit enables the waterfall analysis window. This decreases sidelobes significantly in exchange for increased noise bandwidth. Sensitivity to weak tones will be degraded somewhat.

This commit is contained in:
Steve Franke 2019-02-23 14:18:22 -06:00
parent 5d914a1eb1
commit 17ac99344c
2 changed files with 18 additions and 5 deletions

View File

@ -17,7 +17,7 @@ subroutine gen_ft8wave(itone,nsym,nsps,fsample,f0,cwave,wave,icmplx,nwave)
twopi=8.0*atan(1.0) twopi=8.0*atan(1.0)
dt=1.0/fsample dt=1.0/fsample
hmod=1.0 hmod=1.0
bt=1.0 bt=1.5
! Compute the frequency-smoothing pulse ! Compute the frequency-smoothing pulse
do i=1,3*nsps do i=1,3*nsps
tt=(i-1.5*nsps)/real(nsps) tt=(i-1.5*nsps)/real(nsps)

View File

@ -48,10 +48,23 @@ subroutine symspec(shared_data,k,ntrperiod,nsps,ingain,nminw,pxdb,s, &
if(nfft3.ne.nfft3z) then if(nfft3.ne.nfft3z) then
! Compute new window ! Compute new window
pi=4.0*atan(1.0) pi=4.0*atan(1.0)
width=0.25*nsps ! width=0.25*nsps
! do i=1,nfft3
! z=(i-nfft3/2)/width
! w3(i)=exp(-z*z)
! enddo
! Coefficients taken from equation 37 of NUSC report:
! "Some windows with very good sidelobe behavior: application to
! discrete Hilbert Transform, by Albert Nuttall"
!
a0=0.3635819
a1=0.4891775;
a2=0.1365995;
a3=0.0106411;
do i=1,nfft3 do i=1,nfft3
z=(i-nfft3/2)/width w3(i)=a0-a1*cos(2*pi*(i-1)/(nfft3))+ &
w3(i)=exp(-z*z) a2*cos(4*pi*(i-1)/(nfft3))+ &
a3*cos(6*pi*(i-1)/(nfft3))
enddo enddo
nfft3z=nfft3 nfft3z=nfft3
endif endif
@ -86,7 +99,7 @@ subroutine symspec(shared_data,k,ntrperiod,nsps,ingain,nminw,pxdb,s, &
enddo enddo
ihsym=ihsym+1 ihsym=ihsym+1
! xc(0:nfft3-1)=w3(1:nfft3)*xc(0:nfft3-1) !Apply window w3 xc(0:nfft3-1)=w3(1:nfft3)*xc(0:nfft3-1) !Apply window w3
call four2a(xc,nfft3,1,-1,0) !Real-to-complex FFT call four2a(xc,nfft3,1,-1,0) !Real-to-complex FFT
df3=12000.0/nfft3 !JT9-1: 0.732 Hz = 0.42 * tone spacing df3=12000.0/nfft3 !JT9-1: 0.732 Hz = 0.42 * tone spacing