mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-12-23 19:25:37 -05:00
First functional decoder for QRA01.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6805 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
6a8e4a7d01
commit
529ad6eec9
@ -30,7 +30,7 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, &
|
||||
! NB: cx has sample rate 12000*77125/672000 = 1378.125 Hz
|
||||
|
||||
! Check for a shorthand message
|
||||
if(single_decode) then
|
||||
if(single_decode .and. mode65.ne.101) then
|
||||
call sh65(cx,n5,mode65,ntol,xdf,nspecial,sync2)
|
||||
if(nspecial.gt.0) then
|
||||
a=0.
|
||||
@ -96,7 +96,7 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, &
|
||||
qual0=-1.e30
|
||||
minsmo=0
|
||||
maxsmo=0
|
||||
if(mode65.ge.2) then
|
||||
if(mode65.ge.2 .and. mode65.ne.101) then
|
||||
minsmo=nint(width/df)
|
||||
maxsmo=2*minsmo
|
||||
endif
|
||||
|
@ -84,7 +84,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
||||
!$omp parallel sections num_threads(2) copyin(/timer_private/) shared(ndecoded) if(.true.) !iif() needed on Mac
|
||||
|
||||
!$omp section
|
||||
if(params%nmode.eq.65 .or. (params%nmode.eq.(65+9) .and. params%ntxmode.eq.65)) then
|
||||
if(params%nmode.eq.65 .or. params%nmode.eq.165 .or. &
|
||||
(params%nmode.eq.(65+9) .and. params%ntxmode.eq.65)) then
|
||||
! We're in JT65 mode, or should do JT65 first
|
||||
if(newdat65) dd(1:npts65)=id2(1:npts65)
|
||||
nf1=params%nfa
|
||||
@ -274,8 +275,13 @@ contains
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
write(*,1010) params%nutc,snr,dt,freq,csync,decoded,cflags
|
||||
1010 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,1x,a3)
|
||||
if(ft.ge.100) then
|
||||
write(*,1009) params%nutc,snr,dt,freq,csync,decoded,ft-100
|
||||
1009 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,i2)
|
||||
else
|
||||
write(*,1010) params%nutc,snr,dt,freq,csync,decoded,cflags
|
||||
1010 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,1x,a3)
|
||||
endif
|
||||
endif
|
||||
|
||||
write(13,1012) params%nutc,nint(sync),snr,dt,float(freq),drift, &
|
||||
|
@ -61,6 +61,19 @@ subroutine extract(s3,nadd,mode65,ntrials,naggressive,ndepth,nflip, &
|
||||
go to 1
|
||||
endif
|
||||
|
||||
if(mode65.eq.101) then
|
||||
call qra65_dec(s3,dat4,irc) !Decode
|
||||
decoded=" "
|
||||
if(irc.ge.0) then
|
||||
call unpackmsg(dat4,decoded) !Unpack the user message
|
||||
call fmtmsg(decoded,iz)
|
||||
nft=100 + irc
|
||||
else
|
||||
dec=0
|
||||
endif
|
||||
go to 900
|
||||
endif
|
||||
|
||||
mrs=mrsym
|
||||
mrs2=mr2sym
|
||||
|
||||
|
@ -163,7 +163,9 @@ contains
|
||||
nvec=100
|
||||
endif
|
||||
|
||||
mode65=2**nsubmode
|
||||
if(nsubmode.le.8) mode65=2**nsubmode
|
||||
if(nsubmode.eq.101) mode65=101
|
||||
|
||||
nflip=1
|
||||
nqd=0
|
||||
decoded=' '
|
||||
|
@ -8,9 +8,9 @@ program QRA65code
|
||||
! Return codes from qra65_dec:
|
||||
! irc=0 [? ? ?] AP0 (decoding with no a-priori information)
|
||||
! irc=1 [CQ ? ?] AP27
|
||||
! irc=2 [CQ ? ] AP44
|
||||
! irc=2 [CQ ? ] AP42
|
||||
! irc=3 [CALL ? ?] AP29
|
||||
! irc=4 [CALL ? ] AP45
|
||||
! irc=4 [CALL ? ] AP44
|
||||
! irc=5 [CALL CALL ?] AP57
|
||||
|
||||
use packjt
|
||||
|
@ -820,7 +820,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
}
|
||||
|
||||
statusChanged();
|
||||
//###
|
||||
//### The following is temporary ###
|
||||
{
|
||||
QString t=m_config.my_callsign();
|
||||
if(t!="IV3NWV" and t!="K1JT" and t!="K9AN" and t!="G4WJS"
|
||||
@ -1991,7 +1991,9 @@ void MainWindow::decode() //decode()
|
||||
dec_data.params.ntxmode=9;
|
||||
if(m_modeTx=="JT65") dec_data.params.ntxmode=65;
|
||||
dec_data.params.nmode=9;
|
||||
if(m_mode=="JT65" or m_mode=="QRA65") dec_data.params.nmode=65;
|
||||
if(m_mode=="JT65") dec_data.params.nmode=65;
|
||||
if(m_mode=="QRA65") dec_data.params.nmode=165;
|
||||
if(m_mode=="QRA65") dec_data.params.ntxmode=165;
|
||||
if(m_mode=="JT9+JT65") dec_data.params.nmode=9+65; // = 74
|
||||
if(m_mode=="JT4") {
|
||||
dec_data.params.nmode=4;
|
||||
@ -1999,6 +2001,7 @@ void MainWindow::decode() //decode()
|
||||
}
|
||||
dec_data.params.ntrperiod=m_TRperiod;
|
||||
dec_data.params.nsubmode=m_nSubMode;
|
||||
if(m_mode=="QRA65") dec_data.params.nsubmode=101;
|
||||
dec_data.params.minw=0;
|
||||
dec_data.params.nclearave=m_nclearave;
|
||||
if(m_nclearave!=0) {
|
||||
|
Loading…
Reference in New Issue
Block a user