mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-21 03:28:59 -04:00
Correct a flaw in assigning bin numbers for in sync64(), fixing QRA65 submodes B C D E.
This commit is contained in:
parent
0ce6556611
commit
b68ccee2fa
@ -50,7 +50,7 @@ subroutine qra_loops(c00,npts2,mode,mode64,nsubmode,nFadingModel, &
|
||||
jpk=jpk0 + 240*ndt !240/6000 = 0.04 s = tsym/32
|
||||
if(jpk.lt.0) jpk=0
|
||||
call timer('spec64 ',0)
|
||||
call spec64(c0,nsps,mode,jpk,s3,LL,NN)
|
||||
call spec64(c0,nsps,mode,mode64,jpk,s3,LL,NN)
|
||||
call timer('spec64 ',1)
|
||||
call pctile(s3,LL*NN,40,base)
|
||||
s3=s3/base
|
||||
@ -98,7 +98,7 @@ subroutine qra_loops(c00,npts2,mode,mode64,nsubmode,nFadingModel, &
|
||||
call twkfreq(c00,c0,npts2,6000.0,a)
|
||||
! jpk=4320
|
||||
jpk=4080
|
||||
call spec64(c0,nsps,mode,jpk,s3,LL,NN)
|
||||
call spec64(c0,nsps,mode,mode64,jpk,s3,LL,NN)
|
||||
call pctile(s3,LL*NN,40,base)
|
||||
s3=s3/base
|
||||
where(s3(1:LL*NN)>s3lim) s3(1:LL*NN)=s3lim
|
||||
|
@ -1,10 +1,11 @@
|
||||
subroutine spec64(c0,nsps,mode,jpk,s3,LL,NN)
|
||||
subroutine spec64(c0,nsps,mode,mode64,jpk,s3,LL,NN)
|
||||
|
||||
parameter (MAXFFT=3840)
|
||||
complex c0(0:360000) !Complex spectrum of dd()
|
||||
complex cs(0:MAXFFT-1) !Complex symbol spectrum
|
||||
real s3(LL,NN) !Synchronized symbol spectra
|
||||
real xbase0(LL),xbase(LL)
|
||||
! integer ipk1(1)
|
||||
integer isync(22) !Indices of sync symbols
|
||||
data isync/1,9,12,13,15,22,23,26,27,33,35,38,46,50,55,60,62,66,69,74,76,85/
|
||||
|
||||
@ -39,7 +40,7 @@ subroutine spec64(c0,nsps,mode,jpk,s3,LL,NN)
|
||||
cs(0:nfft-1)=fac*c0(ja:jb)
|
||||
call four2a(cs,nsps,1,-1,1) !c2c FFT to frequency
|
||||
do ii=1,LL
|
||||
i=ii-65
|
||||
i=ii-65+mode64 !mode64 = 1 2 4 8 16 for QRA65 A B C D E
|
||||
if(i.lt.0) i=i+nsps
|
||||
s3(ii,j)=real(cs(i))**2 + aimag(cs(i))**2
|
||||
enddo
|
||||
@ -62,16 +63,18 @@ subroutine spec64(c0,nsps,mode,jpk,s3,LL,NN)
|
||||
s3(i,1:NN)=s3(i,1:NN)/(xbase(i)+0.001) !Apply frequency equalization
|
||||
enddo
|
||||
|
||||
! print*,'a',LL,NN,jpk
|
||||
! print*,'a',LL,NN,jpk,mode,mode64
|
||||
! df=6000.0/nfft
|
||||
! do i=1,LL
|
||||
! write(71,3071) i,i-65,i*df,(s3(i,j),j=1,4)
|
||||
!3071 format(2i8,f10.3,4e12.3)
|
||||
! enddo
|
||||
!
|
||||
|
||||
! do j=1,NN
|
||||
! write(72,3072) j,maxloc(s3(1:LL,j)),maxloc(s3(1:LL,j))-65
|
||||
!3072 format(3i8)
|
||||
! ipk1=maxloc(s3(1:LL,j))
|
||||
! m=ipk1(1)-65
|
||||
! write(72,3072) j,m,m/2,m/4,m/8
|
||||
!3072 format(5i8)
|
||||
! enddo
|
||||
! if(nfft.ne.-999) stop
|
||||
|
||||
|
@ -107,12 +107,19 @@ subroutine sync_qra65(iwave,nmax,mode65,nsps,nfqso,ntol,xdt,f0,snr1)
|
||||
endif
|
||||
enddo
|
||||
rms=sqrt(sq/nsq)
|
||||
snr1=ccf(ipk,jpk)/rms
|
||||
smax=ccf(ipk,jpk)
|
||||
snr1=smax/rms
|
||||
|
||||
! do j=lag1,lag2
|
||||
! write(55,3055) j,j*dtstep,ccf(ipk,j)/rms
|
||||
!3055 format(i5,f8.3,f10.3)
|
||||
! enddo
|
||||
|
||||
|
||||
! ncall=ncall+1
|
||||
! do i=-ia,ia
|
||||
! write(56,3056) ncall,i*df,ncall+0.3*ccf(i,0)/rms
|
||||
!3056 format(i6,f7.2,f10.3)
|
||||
! enddo
|
||||
|
||||
return
|
||||
end subroutine sync_qra65
|
||||
|
@ -6403,7 +6403,7 @@ void MainWindow::on_actionQRA65_triggered()
|
||||
m_hsymStop=49;
|
||||
ui->sbTR->values ({15, 30, 60, 120, 300});
|
||||
on_sbTR_valueChanged (ui->sbTR->value());
|
||||
ui->sbSubmode->setMaximum(3);
|
||||
ui->sbSubmode->setMaximum(4);
|
||||
ui->sbSubmode->setValue(m_nSubMode); m_wideGraph->setMode(m_mode);
|
||||
m_wideGraph->setMode(m_mode);
|
||||
m_wideGraph->setModeTx(m_modeTx);
|
||||
|
Loading…
Reference in New Issue
Block a user