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/map65@334 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			36 lines
		
	
	
		
			611 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			611 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
|       subroutine getsnr(x,nz,snr)
 | |
| 
 | |
|       real x(nz)
 | |
| 
 | |
|       smax=-1.e30
 | |
|       do i=1,nz
 | |
|          if(x(i).gt.smax) then
 | |
|             ipk=i
 | |
|             smax=x(i)
 | |
|          endif
 | |
|          s=s+x(i)
 | |
|       enddo
 | |
| 
 | |
|       s=0.
 | |
|       ns=0
 | |
|       do i=1,nz
 | |
|          if(abs(i-ipk).ge.3) then
 | |
|             s=s+x(i)
 | |
|             ns=ns+1
 | |
|          endif
 | |
|       enddo
 | |
|       ave=s/ns
 | |
| 
 | |
|       sq=0.
 | |
|       do i=1,nz
 | |
|          if(abs(i-ipk).ge.3) then
 | |
|             sq=sq+(x(i)-ave)**2
 | |
|             ns=ns+1
 | |
|          endif
 | |
|       enddo
 | |
|       rms=sqrt(sq/(nz-2))
 | |
|       snr=(smax-ave)/rms
 | |
| 
 | |
|       return
 | |
|       end
 |