mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	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
 |