WSJT-X/lib/degrade_snr.f90
Joe Taylor 2a0602b19d Add degrade_snr.f90
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6167 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-23 18:20:55 +00:00

21 lines
382 B
Fortran

subroutine degrade_snr(d2,npts,db)
integer*2 d2(npts)
real dat(60*12000)
dat(1:npts)=d2
p0=dot_product(dat(1:npts),dat(1:npts))/npts
s=sqrt(p0*(10.0**(0.1*db) - 1.0))
do i=1,npts
d2(i)=nint(dat(i) + s*gran())
enddo
! dat(1:npts)=d2
! p1=dot_product(dat(1:npts),dat(1:npts))/npts
! print*,db,p0,s,10.0*log10(p1/p0)
return
end subroutine degrade_snr