mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-23 12:38:53 -04:00
QRA66: change NSPS from 1920 to 1800. TxT=85*1800/12000=12.75 s.
This commit is contained in:
parent
2bb9566731
commit
7256d70016
@ -226,6 +226,7 @@ program jt9
|
||||
endif
|
||||
shared_data%id2=0 !??? Why is this necessary ???
|
||||
if(mode.eq.5) npts=21*3456
|
||||
if(mode.eq.66) npts=15*12000
|
||||
do iblk=1,npts/kstep
|
||||
k=iblk*kstep
|
||||
if(mode.eq.8 .and. k.gt.179712) exit
|
||||
|
@ -43,11 +43,11 @@ program qra66sim
|
||||
dt=1.d0/fsample !Sample interval (s)
|
||||
twopi=8.d0*atan(1.d0)
|
||||
npts=NMAX !Total samples in .wav file
|
||||
nsps=1920
|
||||
nsps=1800
|
||||
nsym=85 !Number of channel symbols
|
||||
if(csubmode.eq.'B') then
|
||||
nsps=960
|
||||
nsym=169
|
||||
nsps=nsps/2
|
||||
nsym=2*nsym-1
|
||||
endif
|
||||
|
||||
ichk=66 !Flag sent to genqra64
|
||||
|
@ -50,7 +50,7 @@ contains
|
||||
save nc1z,nc2z,ng2z,maxaptypez
|
||||
|
||||
this%callback => callback
|
||||
nsps=1920
|
||||
nsps=1800
|
||||
baud=12000.0/nsps
|
||||
df1=12000.0/NFFT1
|
||||
|
||||
@ -100,11 +100,13 @@ contains
|
||||
a(1)=-(f0 + 2.0*baud) !Data tones start 2 bins higher
|
||||
call twkfreq(c0,c0,15*6000,6000.0,a)
|
||||
xdt=jpk/6000.0 - 0.5
|
||||
call spec66(c0(jpk:jpk+85*NSPS/2-1),s3)
|
||||
call spec66(c0(jpk:),nsps/2,s3)
|
||||
|
||||
do j=1,63 !Normalize to symbol baseline
|
||||
call pctile(s3(:,j),192,40,base)
|
||||
s3(:,j)=s3(:,j)/base
|
||||
write(71,3071)j,maxloc(s3(:,j))
|
||||
3071 format(2i5)
|
||||
enddo
|
||||
|
||||
s3max=20.0
|
||||
|
@ -1,30 +1,28 @@
|
||||
subroutine spec66(c0,s3)
|
||||
subroutine spec66(c0,nsps,s3)
|
||||
|
||||
parameter (LL=3*64) !Frequency channels
|
||||
parameter (NN=63) !Data symbols
|
||||
parameter (NSPS=960) !Samples per symbol at 6000 Hz
|
||||
parameter (NMAX=85*NSPS)
|
||||
complex c0(0:NMAX-1) !Synchrinized complex data
|
||||
complex cs(0:NSPS-1) !Complex symbol spectrum
|
||||
real s3(LL,NN) !Synchronized symbol spectra
|
||||
parameter (LL=3*64) !Frequency channels
|
||||
parameter (NN=63) !Data symbols
|
||||
complex c0(0:85*nsps-1) !Synchronized complex data at 6000 S/s
|
||||
complex cs(0:nsps-1) !Complex symbol spectrum
|
||||
real s3(LL,NN) !Synchronized symbol spectra
|
||||
real xbase0(LL),xbase(LL)
|
||||
|
||||
fac=1.0/NSPS
|
||||
ja=-NSPS
|
||||
fac=1.0/nsps
|
||||
ja=-nsps
|
||||
do j=1,NN
|
||||
ja=ja+NSPS
|
||||
if(mod(ja/NSPS,4).eq.0) ja=ja+NSPS
|
||||
jb=ja+NSPS-1
|
||||
ja=ja+nsps
|
||||
if(mod(ja/nsps,4).eq.0) ja=ja+nsps
|
||||
jb=ja+nsps-1
|
||||
cs=fac*c0(ja:jb)
|
||||
call four2a(cs,NSPS,1,-1,1) !c2c FFT to frequency
|
||||
call four2a(cs,nsps,1,-1,1) !c2c FFT to frequency
|
||||
do ii=1,LL
|
||||
i=ii-65
|
||||
if(i.lt.0) i=i+NSPS
|
||||
if(i.lt.0) i=i+nsps
|
||||
s3(ii,j)=real(cs(i))**2 + aimag(cs(i))**2
|
||||
enddo
|
||||
enddo
|
||||
|
||||
df=6000.0/NSPS
|
||||
df=6000.0/nsps
|
||||
do i=1,LL
|
||||
call pctile(s3(i,1:NN),NN,45,xbase0(i)) !Get baseline for passband shape
|
||||
enddo
|
||||
|
@ -7390,9 +7390,9 @@ void MainWindow::transmit (double snr)
|
||||
}
|
||||
|
||||
if (m_modeTx == "QRA66") {
|
||||
toneSpacing=12000.0/1920.0;
|
||||
toneSpacing=12000.0/1800.0;
|
||||
Q_EMIT sendMessage (m_mode, NUM_QRA66_SYMBOLS,
|
||||
1920.0, ui->TxFreqSpinBox->value () - m_XIT,
|
||||
1800.0, ui->TxFreqSpinBox->value () - m_XIT,
|
||||
toneSpacing, m_soundOutput, m_config.audio_output_channel (),
|
||||
true, false, snr, m_TRperiod);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user