mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	
		
			
	
	
		
			41 lines
		
	
	
		
			730 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			730 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 +/- 2.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  real y(npts)
							 | 
						||
| 
								 | 
							
								  real x(100)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  do i=1,npts
							 | 
						||
| 
								 | 
							
								     x(i)=i
							 | 
						||
| 
								 | 
							
								  enddo
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  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
							 | 
						||
| 
								 | 
							
								        sumx=sumx + x(i)
							 | 
						||
| 
								 | 
							
								        sumy=sumy + y(i)
							 | 
						||
| 
								 | 
							
								        sumx2=sumx2 + x(i)**2
							 | 
						||
| 
								 | 
							
								        sumxy=sumxy + x(i)*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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  do i=1,npts
							 | 
						||
| 
								 | 
							
								     y(i)=y(i)-(a + b*x(i))
							 | 
						||
| 
								 | 
							
								  enddo
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return
							 | 
						||
| 
								 | 
							
								end subroutine slope
							 |