Add early termination code to the msk144 long-message decoder. Remove references to Radford Neal's ldpc code, which served us well but is no longer needed.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7051 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke
2016-09-01 21:50:52 +00:00
parent 6a7a9ce6bf
commit ca19e977c0
13 changed files with 43 additions and 124 deletions
+2 -23
View File
@@ -109,7 +109,7 @@ extern "C" {
float* width);
void fast_decode_(short id2[], int narg[], int* ntrperiod, bool* bShMsgs,
char msg[], char pchkFile[], char mycall[], char hiscall[],
char msg[], char mycall[], char hiscall[],
int len1, int len2, int len3, int len4);
void hash_calls_(char calls[], int* ih9, int len);
void degrade_snr_(short d2[], int* n, float* db, float* bandwidth);
@@ -831,27 +831,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
int ntr[]={5,10,15,30};
m_TRperiod=ntr[m_TRindex-11];
}
QString pchkFile = m_config.data_dir().absoluteFilePath("peg-128-80-reg3.pchk");
QByteArray ba = pchkFile.toLocal8Bit();
for(int i=0; i<512; i++) {
m_pchkFile[i]=32;
if(i<pchkFile.length()) m_pchkFile[i]=ba[i];
}
QString ldpcMsgFile = m_config.temp_dir().absoluteFilePath("ldpc_msg");
ba = ldpcMsgFile.toLocal8Bit();
for(int i=0; i<512; i++) {
m_ldpcMsgFile[i]=32;
if(i<ldpcMsgFile.length()) m_ldpcMsgFile[i]=ba[i];
}
QString encodeExeFile = QDir::toNativeSeparators (m_appDir) +
QDir::separator () + "encode";
ba = encodeExeFile.toLocal8Bit();
for(int i=0; i<512; i++) {
m_encodeExeFile[i]=32;
if(i<encodeExeFile.length()) m_encodeExeFile[i]=ba[i];
}
statusChanged();
m_wideGraph->setMode(m_mode);
@@ -2235,7 +2214,7 @@ void MainWindow::decode() //decode()
narg[14]=m_config.aggressive();
memcpy(d2b,dec_data.d2,2*360000);
watcher3.setFuture (QtConcurrent::run (std::bind (fast_decode_,&d2b[0],
&narg[0],&m_TRperiod,&m_bShMsgs,&m_msg[0][0],&m_pchkFile[0],
&narg[0],&m_TRperiod,&m_bShMsgs,&m_msg[0][0],
dec_data.params.mycall,dec_data.params.hiscall,80,512,12,12)));
} else {
memcpy(to, from, qMin(mem_jt9->size(), size));