mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-28 11:30:25 -04:00 
			
		
		
		
	
		
			
	
	
		
			113 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			113 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
|  | subroutine zplt(z,iplt,sync,dtx,nfreq,flip,sync2,nplot,emedelay,dttol,   &
 | ||
|  |   nfqso,ntol)
 | ||
|  | 
 | ||
|  |   real z(458,65)
 | ||
|  |   real zz(458,65)
 | ||
|  |   integer ij(2)
 | ||
|  |   character*4 lab
 | ||
|  | 
 | ||
|  |   call pctile(z,458*65,84,rms)
 | ||
|  |   fac=0.05/rms
 | ||
|  |   z=fac*z
 | ||
|  |   dtq=0.114286
 | ||
|  |   df=11025.0/(2.0*2520.0)
 | ||
|  | 
 | ||
|  |   ia=nint((nfqso-ntol)/df) - 273
 | ||
|  |   if(ia.lt.1) ia=1
 | ||
|  |   ib=nint((nfqso+ntol)/df) - 273
 | ||
|  |   if(ib.gt.458) ib=458
 | ||
|  |   ja=(emedelay+0.8-dttol)/dtq
 | ||
|  |   if(ja.lt.1) ja=1
 | ||
|  |   jb=(emedelay+0.8+dttol)/dtq
 | ||
|  |   if(jb.gt.65) jb=65
 | ||
|  | 
 | ||
|  |   zz=0.
 | ||
|  |   zz(ia:ib,ja:jb)=z(ia:ib,ja:jb)
 | ||
|  | 
 | ||
|  |   zmin=minval(zz)
 | ||
|  |   zmax=maxval(zz)
 | ||
|  |   flip=1.0
 | ||
|  |   if(abs(zmin).gt.abs(zmax)) flip=-1.0
 | ||
|  | 
 | ||
|  |   ij=maxloc(zz)
 | ||
|  |   if(flip.lt.0.0) ij=minloc(zz)
 | ||
|  |   i0=ij(1)
 | ||
|  |   j0=ij(2)
 | ||
|  |   nfreq=nint((i0+273)*df)
 | ||
|  |   dtx=j0*dtq-0.8
 | ||
|  | !  write(69,3101) ia,ib,ja,jb,ij,dtx,nfreq
 | ||
|  | !3101 format(6i5,f8.2,i6)
 | ||
|  | 
 | ||
|  |   ia=max(1,i0-72)
 | ||
|  |   ib=min(458,i0+72)
 | ||
|  |   sync=16.33*flip*(z(i0,j0) - 0.5*(z(ia,j0)+z(ib,j0)))
 | ||
|  |   sync2=20.0*flip*z(i0,j0)
 | ||
|  | 
 | ||
|  |   if(nplot.eq.0) go to 900
 | ||
|  | 
 | ||
|  |   zmax=max(abs(zmin),abs(zmax),1.0)
 | ||
|  |   zmin=-zmax
 | ||
|  | 
 | ||
|  |   do j=1,65
 | ||
|  |      write(61,1100) j*dtq-0.8,z(i0,j)
 | ||
|  | 1100 format(2f10.3)
 | ||
|  |   enddo
 | ||
|  | 
 | ||
|  |   do i=1,458
 | ||
|  |      write(62,1100) (i+273)*df,flip*z(i,j0)
 | ||
|  |   enddo
 | ||
|  | 
 | ||
|  |   xx=1.5
 | ||
|  |   yy=7.5 - 3.0*iplt
 | ||
|  |   width=6.0
 | ||
|  |   height=2.0
 | ||
|  |   IP=458
 | ||
|  |   JP=65
 | ||
|  |   imax=IP
 | ||
|  |   jmax=JP
 | ||
|  | 
 | ||
|  |   if(iplt.eq.0) then
 | ||
|  |      call imopen("testjt4.ps")
 | ||
|  |      call imfont("Helvetica",16)
 | ||
|  |      call impalette("BlueRed.pal")
 | ||
|  |   endif
 | ||
|  | 
 | ||
|  |   call imr4mat_color(z,IP,JP,imax,jmax,zmin,zmax,xx,yy,   &
 | ||
|  |        width,height,1)
 | ||
|  |   call imstring("Frequency (Hz)",xx+0.5*width,yy-0.5,2,0)
 | ||
|  |   dy=0.1
 | ||
|  |   do i=1,9
 | ||
|  |      x=xx + 0.1*i*width
 | ||
|  |      call imyline(x,yy,dy)
 | ||
|  |      call imyline(x,yy+height,-dy)
 | ||
|  |   enddo
 | ||
|  |   do i=1,6
 | ||
|  |      nf=(i-1)*200 + 600
 | ||
|  |      write(lab,1020) nf
 | ||
|  | 1020  format(i4)
 | ||
|  |      x=xx + (i-1)*0.2*width
 | ||
|  |      call imstring(lab,x,yy-0.25,2,0)
 | ||
|  |   enddo
 | ||
|  | 
 | ||
|  |   dx=0.1
 | ||
|  |   do i=0,6
 | ||
|  |      y=yy + height*(0.8+i)/(65.0*0.114286)
 | ||
|  |      call imxline(xx,y,dx)
 | ||
|  |      call imxline(xx+width,y,-dx)
 | ||
|  |   enddo
 | ||
|  | 
 | ||
|  |   do i=0,6,2
 | ||
|  |      y=yy + height*(0.8+i)/(65.0*0.114286)
 | ||
|  |      write(lab,1020) i
 | ||
|  |      call imstring(lab(4:4),xx-0.15,y-0.08,2,0)
 | ||
|  |   enddo
 | ||
|  | 
 | ||
|  |   y=yy + height*(3.8)/(65.0*0.114286)
 | ||
|  |   call imstring("DT", xx-0.5,y     ,2,0)
 | ||
|  |   call imstring("(s)",xx-0.5,y-0.25,2,0)
 | ||
|  | 
 | ||
|  |   if(iplt.eq.2) call imclose
 | ||
|  | 
 | ||
|  | 900 return
 | ||
|  | end subroutine zplt
 |