mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	
		
			
	
	
		
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
| 
								 | 
							
								program t6
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  parameter (MAXFFT=1404)
							 | 
						||
| 
								 | 
							
								  complex c(0:MAXFFT-1)
							 | 
						||
| 
								 | 
							
								  real s(0:MAXFFT-1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  m1=45
							 | 
						||
| 
								 | 
							
								  m2=67
							 | 
						||
| 
								 | 
							
								  m3=89
							 | 
						||
| 
								 | 
							
								  nsym=3*11 + m1 + m2 + m3
							 | 
						||
| 
								 | 
							
								  nfft=6*nsym
							 | 
						||
| 
								 | 
							
								  nh=nfft/2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  best=9999.
							 | 
						||
| 
								 | 
							
								!  do m1=22,67
							 | 
						||
| 
								 | 
							
								!     do m2=37,97
							 | 
						||
| 
								 | 
							
								  do m1=30,67
							 | 
						||
| 
								 | 
							
								     do m2=26,100
							 | 
						||
| 
								 | 
							
								        m3=201-m2-m1
							 | 
						||
| 
								 | 
							
								        if(m3.lt.13) cycle
							 | 
						||
| 
								 | 
							
								        c=0.
							 | 
						||
| 
								 | 
							
								        n1=6*(11+m1)
							 | 
						||
| 
								 | 
							
								        n2=n1+6*(11+m2)
							 | 
						||
| 
								 | 
							
								        c(1:66)=1.
							 | 
						||
| 
								 | 
							
								        c(1+n1:66+n1)=1.
							 | 
						||
| 
								 | 
							
								        c(1+n2:66+n2)=1.
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								        call four2a(c,nfft,1,-1,1)            !c2c FFT
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        df=12000.0/nfft
							 | 
						||
| 
								 | 
							
								        smax=0.
							 | 
						||
| 
								 | 
							
								        do i=0,nfft-1
							 | 
						||
| 
								 | 
							
								           s(i)=real(c(i))**2 + aimag(c(i))**2
							 | 
						||
| 
								 | 
							
								           if(i.ne.0) smax=max(s(i),smax)
							 | 
						||
| 
								 | 
							
								        enddo
							 | 
						||
| 
								 | 
							
								        sidelobe=db(smax/s(0))
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        if(sidelobe.lt.best) then
							 | 
						||
| 
								 | 
							
								           write(*,1000) m1,m2,m3,sidelobe
							 | 
						||
| 
								 | 
							
								1000       format(3i5,f8.2)
							 | 
						||
| 
								 | 
							
								           best=sidelobe
							 | 
						||
| 
								 | 
							
								           s=s/s(0)
							 | 
						||
| 
								 | 
							
								           rewind 13
							 | 
						||
| 
								 | 
							
								           do j=0,nfft-1
							 | 
						||
| 
								 | 
							
								              i=mod(j+nh,nfft)
							 | 
						||
| 
								 | 
							
								              f=i*df
							 | 
						||
| 
								 | 
							
								              if(i.gt.nh) f=f-12000.0
							 | 
						||
| 
								 | 
							
								              write(13,1020) f,s(i)
							 | 
						||
| 
								 | 
							
								1020          format(2f12.4)
							 | 
						||
| 
								 | 
							
								           enddo
							 | 
						||
| 
								 | 
							
								        endif
							 | 
						||
| 
								 | 
							
								     enddo
							 | 
						||
| 
								 | 
							
								  enddo
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								end program t6
							 | 
						||
| 
								 | 
							
								
							 |