mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-16 00:51:56 -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
|
||
|
|