From 17ac99344cc58050c738ae733d328cbcd7c593a7 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Sat, 23 Feb 2019 14:18:22 -0600 Subject: [PATCH] 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. --- lib/ft8/gen_ft8wave.f90 | 2 +- lib/symspec.f90 | 21 +++++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/ft8/gen_ft8wave.f90 b/lib/ft8/gen_ft8wave.f90 index 755b3bac1..51c0033df 100644 --- a/lib/ft8/gen_ft8wave.f90 +++ b/lib/ft8/gen_ft8wave.f90 @@ -17,7 +17,7 @@ subroutine gen_ft8wave(itone,nsym,nsps,fsample,f0,cwave,wave,icmplx,nwave) twopi=8.0*atan(1.0) dt=1.0/fsample hmod=1.0 - bt=1.0 + bt=1.5 ! Compute the frequency-smoothing pulse do i=1,3*nsps tt=(i-1.5*nsps)/real(nsps) diff --git a/lib/symspec.f90 b/lib/symspec.f90 index 28035d2c8..be2bd296e 100644 --- a/lib/symspec.f90 +++ b/lib/symspec.f90 @@ -48,10 +48,23 @@ subroutine symspec(shared_data,k,ntrperiod,nsps,ingain,nminw,pxdb,s, & if(nfft3.ne.nfft3z) then ! Compute new window 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 - z=(i-nfft3/2)/width - w3(i)=exp(-z*z) + w3(i)=a0-a1*cos(2*pi*(i-1)/(nfft3))+ & + a2*cos(4*pi*(i-1)/(nfft3))+ & + a3*cos(6*pi*(i-1)/(nfft3)) enddo nfft3z=nfft3 endif @@ -86,7 +99,7 @@ subroutine symspec(shared_data,k,ntrperiod,nsps,ingain,nminw,pxdb,s, & enddo 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 df3=12000.0/nfft3 !JT9-1: 0.732 Hz = 0.42 * tone spacing