mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-07-31 21:22:27 -04:00
Better algorithm in timf2 for determining frequencies with strong sigs.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@2552 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
a90fbc4033
commit
e941c44930
@ -75,8 +75,8 @@ subroutine symspec(k,nxpol,ndiskdat,nb,nbslider,idphi,nfsample,fgreen, &
|
|||||||
cx0(i)=cmplx(dd(1,j+i),dd(2,j+i))
|
cx0(i)=cmplx(dd(1,j+i),dd(2,j+i))
|
||||||
if(nxpol.ne.0) cy0(i)=cmplx(dd(3,j+i),dd(4,j+i))
|
if(nxpol.ne.0) cy0(i)=cmplx(dd(3,j+i),dd(4,j+i))
|
||||||
enddo
|
enddo
|
||||||
call timf2(k,nxpol,nfft2,nwindow,nb,peaklimit,iqadjust0,iqapply0,faclim, &
|
call timf2(k,nxpol,nfft2,nwindow,nb,peaklimit,iqadjust0,iqapply0, &
|
||||||
cx0,cy0,gainx,gainy,phasex,phasey,cx1,cy1,slimit,lstrong, &
|
faclim,cx0,cy0,gainx,gainy,phasex,phasey,cx1,cy1,slimit,lstrong, &
|
||||||
px,py,nzap)
|
px,py,nzap)
|
||||||
|
|
||||||
do i=0,kstep-1
|
do i=0,kstep-1
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine timf2(k,nxpol,nfft,nwindow,nb,peaklimit,iqadjust,iqapply,faclim, &
|
subroutine timf2(k,nxpol,nfft,nwindow,nb,peaklimit,iqadjust,iqapply,faclim, &
|
||||||
cx0,cy0,gainx,gainy,phasex,phasey,cx1,cy1,slimit,lstrong,px,py,nzap)
|
cx0,cy0,gainx,gainy,phasex,phasey,cx1,cy1,slimit,lstrong,px,py,nzap)
|
||||||
|
|
||||||
! Sequential processing of time-domain I/Q data, using Linrad-like
|
! Sequential processing of time-domain I/Q data, using Linrad-like
|
||||||
@ -31,14 +31,14 @@ subroutine timf2(k,nxpol,nfft,nwindow,nb,peaklimit,iqadjust,iqapply,faclim, &
|
|||||||
complex cxw(0:MAXFFT-1),covxw(0:MAXNH-1) !Weak X signals
|
complex cxw(0:MAXFFT-1),covxw(0:MAXNH-1) !Weak X signals
|
||||||
complex cyw(0:MAXFFT-1),covyw(0:MAXNH-1) !Weak Y signals
|
complex cyw(0:MAXFFT-1),covyw(0:MAXNH-1) !Weak Y signals
|
||||||
real*4 w(0:MAXFFT-1)
|
real*4 w(0:MAXFFT-1)
|
||||||
real*4 s(0:MAXFFT-1),stmp(0:MAXFFT-1)
|
real*4 s(0:MAXFFT-1)
|
||||||
logical*1 lstrong(0:MAXFFT-1),lprev
|
logical*1 lstrong(0:MAXFFT-1),lprev
|
||||||
integer ia(MAXSIGS),ib(MAXSIGS)
|
integer ia(MAXSIGS),ib(MAXSIGS)
|
||||||
complex h,u,v
|
complex h,u,v
|
||||||
logical first
|
logical first
|
||||||
data first/.true./
|
data first/.true./
|
||||||
data k0/99999999/
|
data k0/99999999/
|
||||||
save w,covxs,covxw,covys,covyw,s,ntc,ntot,nh,kstep,fac,first,k0
|
save
|
||||||
|
|
||||||
if(first) then
|
if(first) then
|
||||||
pi=4.0*atan(1.0)
|
pi=4.0*atan(1.0)
|
||||||
@ -46,8 +46,6 @@ subroutine timf2(k,nxpol,nfft,nwindow,nb,peaklimit,iqadjust,iqapply,faclim, &
|
|||||||
w(i)=(sin(i*pi/nfft))**2
|
w(i)=(sin(i*pi/nfft))**2
|
||||||
enddo
|
enddo
|
||||||
s=0.
|
s=0.
|
||||||
ntc=0
|
|
||||||
ntot=0
|
|
||||||
nh=nfft/2
|
nh=nfft/2
|
||||||
kstep=nfft
|
kstep=nfft
|
||||||
if(nwindow.eq.2) kstep=nh
|
if(nwindow.eq.2) kstep=nh
|
||||||
@ -111,22 +109,13 @@ subroutine timf2(k,nxpol,nfft,nwindow,nb,peaklimit,iqadjust,iqapply,faclim, &
|
|||||||
! Identify frequencies with strong signals, copy frequency-domain
|
! Identify frequencies with strong signals, copy frequency-domain
|
||||||
! data into array cs (strong) or cw (weak).
|
! data into array cs (strong) or cw (weak).
|
||||||
|
|
||||||
ntot=ntot+1
|
|
||||||
if(mod(ntot,128).eq.5) then
|
|
||||||
call pctile(s,stmp,1024,50,xmedian)
|
|
||||||
slimit=faclim*xmedian
|
|
||||||
endif
|
|
||||||
|
|
||||||
if(ntc.lt.96000/nfft) ntc=ntc+1
|
|
||||||
uu=1.0/ntc
|
|
||||||
smax=0.
|
|
||||||
do i=0,nfft-1
|
do i=0,nfft-1
|
||||||
p=real(cxt(i))**2 + aimag(cxt(i))**2
|
p=real(cxt(i))**2 + aimag(cxt(i))**2
|
||||||
if(nxpol.ne.0) p=p + real(cyt(i))**2 + aimag(cyt(i))**2
|
if(nxpol.ne.0) p=p + real(cyt(i))**2 + aimag(cyt(i))**2
|
||||||
s(i)=(1.0-uu)*s(i) + uu*p
|
s(i)=p
|
||||||
lstrong(i)=(s(i).gt.slimit)
|
|
||||||
if(s(i).gt.smax) smax=s(i)
|
|
||||||
enddo
|
enddo
|
||||||
|
ave=sum(s(0:nfft-1))/nfft
|
||||||
|
lstrong(0:nfft-1)=s(0:nfft-1).gt.10.0*ave
|
||||||
|
|
||||||
nsigs=0
|
nsigs=0
|
||||||
lprev=.false.
|
lprev=.false.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//---------------------------------------------------------------- MainWindow
|
//--------------------------------------------------------------- MainWindow
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "devsetup.h"
|
#include "devsetup.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user