| 
									
										
										
										
											2021-10-26 12:31:24 -04:00
										 |  |  | program test_ft8q3
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ! Test q3-style decodes for FT8.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   use packjt77
 | 
					
						
							|  |  |  |   parameter(NN=79,NSPS=32)
 | 
					
						
							|  |  |  |   parameter(NWAVE=NN*NSPS)               !2528
 | 
					
						
							|  |  |  |   parameter(NZ=3200,NLAGS=NZ-NWAVE)
 | 
					
						
							|  |  |  |   character arg*12
 | 
					
						
							| 
									
										
										
										
											2021-10-26 16:40:14 -04:00
										 |  |  |   character*37 msg
 | 
					
						
							|  |  |  |   character*12 call_1,call_2
 | 
					
						
							|  |  |  |   character*4 grid4
 | 
					
						
							| 
									
										
										
										
											2021-10-26 12:31:24 -04:00
										 |  |  |   complex cd(0:NZ-1)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ! Get command-line argument(s)
 | 
					
						
							|  |  |  |   nargs=iargc()
 | 
					
						
							| 
									
										
										
										
											2021-10-26 16:40:14 -04:00
										 |  |  |   if(nargs.ne.4 .and. nargs.ne.5) then
 | 
					
						
							|  |  |  |      print*,'Usage: ft8q3 DT f0 call_1 call_2 [grid4]'
 | 
					
						
							| 
									
										
										
										
											2021-10-26 12:31:24 -04:00
										 |  |  |      go to 999
 | 
					
						
							|  |  |  |   endif
 | 
					
						
							|  |  |  |   call getarg(1,arg)
 | 
					
						
							|  |  |  |   read(arg,*) xdt                        !Time offset from nominal (s)
 | 
					
						
							|  |  |  |   call getarg(2,arg)
 | 
					
						
							|  |  |  |   read(arg,*) f0                         !Frequency (Hz)
 | 
					
						
							| 
									
										
										
										
											2021-10-26 16:40:14 -04:00
										 |  |  |   call getarg(3,call_1)                  !First callsign
 | 
					
						
							|  |  |  |   call getarg(4,call_2)                  !Second callsign
 | 
					
						
							|  |  |  |   grid4='    '
 | 
					
						
							|  |  |  |   if(nargs.eq.5) call getarg(5,grid4)    !Locator for call_2
 | 
					
						
							| 
									
										
										
										
											2021-10-26 12:31:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |   do i=0,NZ-1
 | 
					
						
							|  |  |  |      read(40,3040) cd(i)
 | 
					
						
							|  |  |  | 3040 format(17x,2f10.3)
 | 
					
						
							|  |  |  |   enddo
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-26 16:40:14 -04:00
										 |  |  |   call sec0(0,t)
 | 
					
						
							|  |  |  |   call ft8q3(cd,xdt,f0,call_1,call_2,grid4,msg,snr)
 | 
					
						
							|  |  |  |   call sec0(1,t)
 | 
					
						
							|  |  |  |   write(*,1100) t,snr,trim(msg)
 | 
					
						
							|  |  |  | 1100 format('Time:',f6.2,'   S/N:',f6.1,'   msg: ',a)
 | 
					
						
							| 
									
										
										
										
											2021-10-26 12:31:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 999 end program test_ft8q3
 |