mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-14 08:01:49 -05:00
9458acb01b
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7689 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
22 lines
369 B
Fortran
22 lines
369 B
Fortran
subroutine degrade_snr(d2,npts,db,bw)
|
|
|
|
! Degrade S/N by specified number of dB.
|
|
|
|
integer*2 d2(npts)
|
|
|
|
p0=0.
|
|
do i=1,npts
|
|
x=d2(i)
|
|
p0=p0 + x*x
|
|
enddo
|
|
p0=p0/npts
|
|
if(bw.gt.0.0) p0=p0*6000.0/bw
|
|
s=sqrt(p0*(10.0**(0.1*db) - 1.0))
|
|
fac=sqrt(p0/(p0+s*s))
|
|
do i=1,npts
|
|
d2(i)=nint(fac*(d2(i) + s*gran()))
|
|
enddo
|
|
|
|
return
|
|
end subroutine degrade_snr
|