WSJT-X/lib/smolorentz.f90
Joe Taylor d101acf14a 1. Use Lorentzian profile for smoothing (but not yet for message averaging).
2. Add ability to set ndepth and do message averaging ti fer65.
3. Correct SNR values for measured Doppler width.
4. Comment out the "write(62..." diagnostics.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6537 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-18 20:17:17 +00:00

43 lines
687 B
Fortran

!program smolorentz
subroutine smolorentz(s1,nz,w,s2)
! parameter (nz=512)
real s1(nz),s2(nz)
real y(-50:50)
! character*8 arg
! s1=0.
! s1(256)=1.
! call getarg(1,arg)
! read(arg,*) w
do i=-50,50
x=i
z=x/(0.5*w)
y(i)=0.
if(abs(z).lt.3.0) then
d=1.0 + z*z
y(i)=(1.0/d - 0.1)*10.0/9.0
endif
enddo
jz=nint(1.5*w)
if(jz.gt.50) jz=50
do i=1,nz
s=0.
sy=0.
do j=-jz,jz
k=i+j
if(k.ge.1 .and. k.le.nz) then
s=s + s1(k)*y(j)
sy=sy+y(j)
endif
enddo
s2(i)=s/sy
! write(52,3002) i-256,s1(i),s2(i)
!3002 format(i5,2f10.4)
enddo
end subroutine smolorentz