mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-25 10:00:23 -04:00 
			
		
		
		
	1. Measure Doppler width by fitting a (modified) Lorentzian. 2. Don't call "slope" in sync65(). 3. New definition of "sync1". 4. Get snr from sync1. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6536 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			41 lines
		
	
	
		
			728 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			728 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
| subroutine slope(y,npts,xpk)
 | |
| 
 | |
| ! Remove best-fit slope from data in y(i).  When fitting the straight line,
 | |
| ! ignore the peak around xpk +/- nhw
 | |
| 
 | |
|   real y(npts)
 | |
| 
 | |
|   sumw=0.
 | |
|   sumx=0.
 | |
|   sumy=0.
 | |
|   sumx2=0.
 | |
|   sumxy=0.
 | |
|   sumy2=0.
 | |
|   do i=1,npts
 | |
|      if(abs(i-xpk).gt.2.0) then
 | |
|         sumw=sumw + 1.0
 | |
|         x=i
 | |
|         sumx=sumx + x
 | |
|         sumy=sumy + y(i)
 | |
|         sumx2=sumx2 + x*x
 | |
|         sumxy=sumxy + x*y(i)
 | |
|         sumy2=sumy2 + y(i)**2
 | |
|      endif
 | |
|   enddo
 | |
| 
 | |
|   delta=sumw*sumx2 - sumx**2
 | |
|   a=(sumx2*sumy - sumx*sumxy) / delta
 | |
|   b=(sumw*sumxy - sumx*sumy) / delta
 | |
| 
 | |
|   sq=0.
 | |
|   do i=1,npts
 | |
|      y(i)=y(i)-(a + b*i)
 | |
|      if(abs(i-xpk).gt.2.0) sq=sq + y(i)**2
 | |
|   enddo
 | |
|   rms=sqrt(sq/(sumw-2.0))
 | |
|   y=y/rms
 | |
| 
 | |
|   return
 | |
| end subroutine slope
 | |
| 
 |