mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-22 12:08:43 -04:00
Resize arrays to enable processing up to full 60 seconds of data.
This commit is contained in:
parent
d62cdbaf2b
commit
bf861d9979
@ -7,7 +7,7 @@ extern "C" {
|
||||
|
||||
extern struct { //This is "common/datcom/..." in Fortran
|
||||
float d4[2*5760000]; //Raw I/Q data from Linrad
|
||||
float ss[373*NFFT]; //Half-symbol spectra at 0,45,90,135 deg pol
|
||||
float ss[400*NFFT]; //Half-symbol spectra at 0,45,90,135 deg pol
|
||||
float savg[NFFT]; //Avg spectra at 0,45,90,135 deg pol
|
||||
double fcenter; //Center freq from Linrad (MHz)
|
||||
int nutc; //UTC as integer, HHMM
|
||||
@ -47,7 +47,7 @@ extern struct { //This is "common/datcom/..." in Fortran
|
||||
|
||||
extern struct { //This is "common/datcom/..." in Fortran
|
||||
float d4[2*5760000]; //Raw I/Q data from Linrad
|
||||
float ss[373*NFFT]; //Half-symbol spectra at 0,45,90,135 deg pol
|
||||
float ss[400*NFFT]; //Half-symbol spectra at 0,45,90,135 deg pol
|
||||
float savg[NFFT]; //Avg spectra at 0,45,90,135 deg pol
|
||||
double fcenter; //Center freq from Linrad (MHz)
|
||||
int nutc; //UTC as integer, HHMM
|
||||
|
@ -39,7 +39,6 @@ void getfile(QString fname, bool xpol, int dbDgrd)
|
||||
datcom_.d4[j++]=(float)id[i+1];
|
||||
}
|
||||
}
|
||||
qDebug() << "cc" << j << j/(2.0*96000.0);
|
||||
fclose(fp);
|
||||
|
||||
datcom_.ndiskdat=1;
|
||||
|
@ -3,7 +3,7 @@ subroutine decode0(dd,ss,savg)
|
||||
use timer_module, only: timer
|
||||
parameter (NSMAX=60*96000)
|
||||
|
||||
real*4 dd(2,NSMAX),ss(373,NFFT),savg(NFFT)
|
||||
real*4 dd(2,NSMAX),ss(400,NFFT),savg(NFFT)
|
||||
real*8 fcenter
|
||||
integer offset
|
||||
integer hist(0:32768)
|
||||
|
@ -13,7 +13,7 @@ subroutine getcand2(ss,savg0,nts_q65,nagain,ntol,f0_selected,cand,ncand)
|
||||
parameter (NFFT=32768) !FFTs done in symspec()
|
||||
parameter (MAX_CANDIDATES=50)
|
||||
type(candidate) :: cand(MAX_CANDIDATES)
|
||||
real ss(373,NFFT) !Symbol spectra
|
||||
real ss(400,NFFT) !Symbol spectra
|
||||
real savg0(NFFT),savg(NFFT) !Average spectra over whole Rx sequence
|
||||
integer ipk1(1) !Peak index of local portion of spectrum
|
||||
logical sync_ok !True if sync pattern is present
|
||||
|
@ -4,7 +4,7 @@ subroutine q65_sync(ss,i0,nts_q65,ntrperiod,iseq,sync_ok,snr,xdt)
|
||||
|
||||
parameter (NFFT=32768)
|
||||
parameter (LAGMAX=33)
|
||||
real ss(373,NFFT) !Symbol spectra
|
||||
real ss(400,NFFT) !Symbol spectra
|
||||
real ccf(0:LAGMAX) !The WSJT "blue curve", peak at DT
|
||||
logical sync_ok
|
||||
integer isync0(22),isync(22),ipk(1)
|
||||
|
@ -16,7 +16,7 @@ subroutine q65c(itimer)
|
||||
character*6 mygrid,hisgrid
|
||||
character*20 datetime
|
||||
|
||||
common/datcom2/dd(2,5760000),ss(373,NFFT),savg(NFFT),nparams0
|
||||
common/datcom2/dd(2,5760000),ss(400,NFFT),savg(NFFT),nparams0
|
||||
|
||||
!### REMEMBER that /npar/ is not updated until nparams=nparams0 is executed. ###
|
||||
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
||||
|
@ -20,7 +20,7 @@ subroutine qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||
parameter (NSMAX=60*96000)
|
||||
complex cx(NSMAX/64) !Data at 1378.125 samples/s
|
||||
real dd(2,NSMAX) !I/Q data from Linrad
|
||||
real ss(373,NFFT) !Symbol spectra
|
||||
real ss(400,NFFT) !Symbol spectra
|
||||
real savg(NFFT) !Average spectrum
|
||||
real*8 fcenter !Center RF frequency, MHz
|
||||
character mycall*12,hiscall*12,hisgrid*6
|
||||
@ -57,7 +57,6 @@ subroutine qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||
call filbig(dd,NSMAX,f0,newdat,nfsample,cx,n5) !Do the full-length FFT
|
||||
call timer('filbig ',1)
|
||||
|
||||
|
||||
do icand=1,ncand !Attempt to decode each candidate
|
||||
f0=cand(icand)%f
|
||||
ntrperiod=cand(icand)%ntrperiod
|
||||
|
@ -11,7 +11,7 @@ subroutine recvpkt(nsam,nblock2,userx_no,k,buf4,buf8)
|
||||
integer*2 jd(4),kd(2),nblock2
|
||||
real*4 yd(2)
|
||||
real*8 fcenter
|
||||
common/datcom/dd(2,5760000),ss(373,NFFT),savg(NFFT),fcenter,nutc, &
|
||||
common/datcom/dd(2,5760000),ss(400,NFFT),savg(NFFT),fcenter,nutc, &
|
||||
junk(NJUNK)
|
||||
equivalence (kd,d4)
|
||||
equivalence (jd,d8,yd)
|
||||
|
@ -8,7 +8,7 @@ subroutine symspec(k,ndiskdat,nb,nbslider,nfsample, &
|
||||
! pxdb power in x channel (0-60 dB)
|
||||
! ssz5a polarized spectrum, for waterfall display
|
||||
! nkhz integer kHz portion of center frequency, e.g., 125 for 144.125
|
||||
! ihsym index number of this half-symbol (1-373)
|
||||
! ihsym index number of this half-symbol (1-400)
|
||||
! nzap number of samples zero'ed by noise blanker
|
||||
|
||||
include 'njunk.f90'
|
||||
@ -16,7 +16,7 @@ subroutine symspec(k,ndiskdat,nb,nbslider,nfsample, &
|
||||
parameter (NFFT=32768) !Length of FFTs
|
||||
real*8 ts,hsym
|
||||
real*8 fcenter
|
||||
common/datcom/dd(2,5760000),ss(373,NFFT),savg(NFFT),fcenter,nutc, &
|
||||
common/datcom/dd(2,5760000),ss(400,NFFT),savg(NFFT),fcenter,nutc, &
|
||||
junk(NJUNK)
|
||||
real*4 ssz5a(NFFT),w(NFFT)
|
||||
complex cx(NFFT)
|
||||
@ -105,7 +105,7 @@ subroutine symspec(k,ndiskdat,nb,nbslider,nfsample, &
|
||||
ihsym=ihsym+1
|
||||
cx=w*cx00 !Apply window for 2nd forward FFT
|
||||
call four2a(cx,NFFT,1,1,1) !Second forward FFT (X)
|
||||
n=min(373,ihsym)
|
||||
n=min(400,ihsym)
|
||||
do i=1,NFFT
|
||||
sx=real(cx(i))**2 + aimag(cx(i))**2
|
||||
ss(n,i)=sx ! Pol = 0
|
||||
|
@ -707,9 +707,9 @@ void MainWindow::diskDat() //diskDat()
|
||||
m_diskData=true;
|
||||
datcom_.newdat=1;
|
||||
hsym=0.15*96000.0; //Samples per Q65-30x half-symbol or Q65-60x quarter-symbol
|
||||
for(int i=0; i<380; i++) { // Do the half-symbol FFTs
|
||||
for(int i=0; i<400; i++) { // Do the half-symbol FFTs
|
||||
int k = i*hsym + 0.5;
|
||||
if(k > 56*96000) break;
|
||||
if(k > 60*96000) break;
|
||||
dataSink(k);
|
||||
qApp->processEvents(); // Allow the waterfall to update
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ extern "C"
|
||||
struct
|
||||
{
|
||||
double d8[60*96000]; //This is "common/datcom/..." in fortran
|
||||
float ss[373*NFFT];
|
||||
float ss[400*NFFT];
|
||||
float savg[NFFT];
|
||||
double fcenter;
|
||||
int nutc;
|
||||
|
Loading…
Reference in New Issue
Block a user