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
This commit is contained in:
Joe Taylor 2016-04-12 19:20:14 +00:00
parent 3b2a918eb0
commit 092a2301a0

View File

@ -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