From 092a2301a04a32f5e533fb08ca483f72f5fe1b27 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 12 Apr 2016 19:20:14 +0000 Subject: [PATCH] Roll off the corrected spectrum at points where the uncorrected spectrum is -20 dB relative to 1500 Hz -- or at maximum width 240 to 4000 Hz. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6615 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/refspectrum.f90 | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/refspectrum.f90 b/lib/refspectrum.f90 index c186555fa..8993acc43 100644 --- a/lib/refspectrum.f90 +++ b/lib/refspectrum.f90 @@ -56,15 +56,24 @@ subroutine refspectrum(id2,brefspec,buseref,fname) avemid=sum(s(ia:ib))/(ib-ia+1) do i=0,NH fil(i)=0. - filter(i)=-60.0 if(s(i).gt.0.0) then fil(i)=sqrt(avemid/s(i)) endif enddo -! Modify these if spectrum falls off steeply inside these stated bounds: +! Default range is 240 - 4000 Hz. For narrower filters, use frequencies +! at which gain is -20 dB relative to 1500 Hz. ia=nint(240.0/df) ib=nint(4000.0/df) + i0=nint(1500.0/df) + do i=i0,ia,-1 + if(s(i)/s(i0).lt.0.01) exit + enddo + ia=i + do i=i0,ib,1 + if(s(i)/s(i0).lt.0.01) exit + enddo + ib=i fac=fac0 do i=ia,1,-1 @@ -78,7 +87,7 @@ subroutine refspectrum(id2,brefspec,buseref,fname) fil(i)=fac*fil(i) enddo - do iter=1,1000 !### ??? ### + do iter=1,100 !### ??? ### call smo121(fil,NH) enddo