From 6fb451145b380b87eacd694aafd40c84c89285a2 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 7 Mar 2021 07:41:19 +0100 Subject: [PATCH] DATV demod: use ldpctool in Linux only --- CMakeLists.txt | 1 + doc/img/ChAnalyzerNG_plugin_settings.png | Bin 19706 -> 19549 bytes doc/img/ChAnalyzerNG_plugin_settings.xcf | Bin 92035 -> 84619 bytes plugins/channelrx/demoddatv/CMakeLists.txt | 33 ++++++++++---- plugins/channelrx/demoddatv/datvdemodgui.cpp | 41 ++++++++++++++---- plugins/channelrx/demoddatv/datvdemodsink.cpp | 22 ++++++++++ plugins/channelrx/demoddatv/leansdr/dvbs2.h | 6 ++- plugins/channelrx/demoddatv/readme.md | 2 +- 8 files changed, 86 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3ebbef6d..21df20ae7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,6 +163,7 @@ set(CUSTOM_WINDOWS_INCLUDE "${CMAKE_SOURCE_DIR}/custom/windows" CACHE INTERNAL " if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") set(LINUX TRUE) + add_definitions(-DLINUX) # populate distribution name # LSB_CODENAME will hold trusty for example find_program(LSB_RELEASE_EXECUTABLE lsb_release) diff --git a/doc/img/ChAnalyzerNG_plugin_settings.png b/doc/img/ChAnalyzerNG_plugin_settings.png index f80fabcb60126ad810450885778e43483c76b518..f3417357718ea3198a77ab96c29b97a363e1f16c 100644 GIT binary patch literal 19549 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≪lkQkP+wfCLY; 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 connect(audioMuteRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(audioSelect())); +#ifdef LINUX CRightClickEnabler *ldpcToolRightClickEnabler = new CRightClickEnabler(ui->softLDPC); connect(ldpcToolRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(ldpcToolSelect())); +#else + ui->softLDPC->setEnabled(false); + ui->softLDPC->setStyleSheet("QCheckBox { color: gray }"); +#endif resetToDefaults(); // does applySettings() } @@ -294,13 +299,11 @@ void DATVDemodGUI::displaySettings() ui->chkHardMetric->setEnabled(true); ui->chkFastlock->setEnabled(true); ui->chkViterbi->setEnabled(true); - ui->softLDPC->setEnabled(false); ui->maxBitflips->setEnabled(false); ui->chkAllowDrift->setStyleSheet("QCheckBox { color: white }"); ui->chkHardMetric->setStyleSheet("QCheckBox { color: white }"); ui->chkFastlock->setStyleSheet("QCheckBox { color: white }"); ui->chkViterbi->setStyleSheet("QCheckBox { color: white }"); - ui->softLDPC->setStyleSheet("QCheckBox { color: gray }"); ui->maxBitflips->setStyleSheet("QSpinBox { color: gray }"); ui->maxBitflipsLabel->setStyleSheet("QLabel { color: gray }"); } @@ -310,17 +313,28 @@ void DATVDemodGUI::displaySettings() ui->chkHardMetric->setEnabled(false); ui->chkFastlock->setEnabled(false); ui->chkViterbi->setEnabled(false); - ui->softLDPC->setEnabled(true); ui->maxBitflips->setEnabled(true); ui->chkAllowDrift->setStyleSheet("QCheckBox { color: gray }"); ui->chkHardMetric->setStyleSheet("QCheckBox { color: gray }"); ui->chkFastlock->setStyleSheet("QCheckBox { color: gray }"); ui->chkViterbi->setStyleSheet("QCheckBox { color: gray }"); - ui->softLDPC->setStyleSheet("QCheckBox { color: white }"); ui->maxBitflips->setStyleSheet("QSpinBox { color: white }"); ui->maxBitflipsLabel->setStyleSheet("QLabel { color: white }"); } +#ifdef LINUX + if (m_settings.m_standard == DATVDemodSettings::dvb_version::DVB_S) + { + ui->softLDPC->setEnabled(false); + ui->softLDPC->setStyleSheet("QCheckBox { color: gray }"); + } + else + { + ui->softLDPC->setEnabled(true); + ui->softLDPC->setStyleSheet("QCheckBox { color: white }"); + } +#endif + if (m_settings.m_standard == DATVDemodSettings::dvb_version::DVB_S) { ui->statusText->clear(); } @@ -539,13 +553,11 @@ void DATVDemodGUI::on_cmbStandard_currentIndexChanged(int index) ui->chkHardMetric->setEnabled(true); ui->chkFastlock->setEnabled(true); ui->chkViterbi->setEnabled(true); - ui->softLDPC->setEnabled(false); ui->maxBitflips->setEnabled(false); ui->chkAllowDrift->setStyleSheet("QCheckBox { color: white }"); ui->chkHardMetric->setStyleSheet("QCheckBox { color: white }"); ui->chkFastlock->setStyleSheet("QCheckBox { color: white }"); ui->chkViterbi->setStyleSheet("QCheckBox { color: white }"); - ui->softLDPC->setStyleSheet("QCheckBox { color: gray }"); ui->maxBitflips->setStyleSheet("QSpinBox { color: gray }"); ui->maxBitflipsLabel->setStyleSheet("QLabel { color: gray }"); } @@ -555,17 +567,28 @@ void DATVDemodGUI::on_cmbStandard_currentIndexChanged(int index) ui->chkHardMetric->setEnabled(false); ui->chkFastlock->setEnabled(false); ui->chkViterbi->setEnabled(false); - ui->softLDPC->setEnabled(true); ui->maxBitflips->setEnabled(true); ui->chkAllowDrift->setStyleSheet("QCheckBox { color: gray }"); ui->chkHardMetric->setStyleSheet("QCheckBox { color: gray }"); ui->chkFastlock->setStyleSheet("QCheckBox { color: gray }"); ui->chkViterbi->setStyleSheet("QCheckBox { color: gray }"); - ui->softLDPC->setStyleSheet("QCheckBox { color: white }"); ui->maxBitflips->setStyleSheet("QSpinBox { color: white }"); ui->maxBitflipsLabel->setStyleSheet("QLabel { color: white }"); } +#ifdef LINUX + if (m_settings.m_standard == DATVDemodSettings::dvb_version::DVB_S) + { + ui->softLDPC->setEnabled(false); + ui->softLDPC->setStyleSheet("QCheckBox { color: gray }"); + } + else + { + ui->softLDPC->setEnabled(true); + ui->softLDPC->setStyleSheet("QCheckBox { color: white }"); + } +#endif + if (m_settings.m_standard == DATVDemodSettings::dvb_version::DVB_S) { ui->statusText->clear(); } @@ -603,8 +626,10 @@ void DATVDemodGUI::on_cmbFEC_currentIndexChanged(const QString &arg1) void DATVDemodGUI::on_softLDPC_clicked() { +#ifdef LINUX m_settings.m_softLDPC = ui->softLDPC->isChecked(); applySettings(); +#endif } void DATVDemodGUI::on_maxBitflips_valueChanged(int value) diff --git a/plugins/channelrx/demoddatv/datvdemodsink.cpp b/plugins/channelrx/demoddatv/datvdemodsink.cpp index 2bfc8c26d..62f5dee15 100644 --- a/plugins/channelrx/demoddatv/datvdemodsink.cpp +++ b/plugins/channelrx/demoddatv/datvdemodsink.cpp @@ -425,10 +425,12 @@ void DATVDemodSink::CleanUpDATVFramework(bool blnRelease) delete (leansdr::s2_fecdec*) r_fecdec; } +#ifdef LINUX if(r_fecdecsoft != nullptr) { delete (leansdr::s2_fecdec_soft*) r_fecdecsoft; } +#endif if(p_deframer != nullptr) { @@ -1140,6 +1142,7 @@ void DATVDemodSink::InitDATVS2Framework() p_vbitcount= new leansdr::pipebuf(m_objScheduler, "Bits processed", BUF_S2PACKETS); p_verrcount = new leansdr::pipebuf(m_objScheduler, "Bits corrected", BUF_S2PACKETS); +#ifdef LINUX bool commandFileValid = false; if (QFileInfo::exists(m_settings.m_softLDPCToolPath)) @@ -1216,6 +1219,25 @@ void DATVDemodSink::InitDATVS2Framework() leansdr::s2_fecdec *fecdec = (leansdr::s2_fecdec * ) r_fecdec; fecdec->bitflips=m_settings.m_maxBitflips; } +#else + // Bit-flipping mode. + // Deinterleave into hard bits. + p_fecframes = new leansdr::pipebuf< leansdr::fecframe >(m_objScheduler, "FEC frames", BUF_FRAMES); + p_s2_deinterleaver = new leansdr::s2_deinterleaver( + m_objScheduler, + *(leansdr::pipebuf< leansdr::plslot > *) p_slots_dvbs2, + *(leansdr::pipebuf< leansdr::fecframe > * ) p_fecframes + ); + r_fecdec = new leansdr::s2_fecdec( + m_objScheduler, + *(leansdr::pipebuf< leansdr::fecframe > * ) p_fecframes, + *(leansdr::pipebuf *) p_bbframes, + p_vbitcount, + p_verrcount + ); + leansdr::s2_fecdec *fecdec = (leansdr::s2_fecdec * ) r_fecdec; + fecdec->bitflips=m_settings.m_maxBitflips; +#endif // Deframe BB frames to TS packets p_lock = new leansdr::pipebuf (m_objScheduler, "lock", BUF_SLOW); diff --git a/plugins/channelrx/demoddatv/leansdr/dvbs2.h b/plugins/channelrx/demoddatv/leansdr/dvbs2.h index ee3539fbb..d7d1585fd 100644 --- a/plugins/channelrx/demoddatv/leansdr/dvbs2.h +++ b/plugins/channelrx/demoddatv/leansdr/dvbs2.h @@ -36,9 +36,11 @@ #include "ldpc.h" #include "sdr.h" +#ifdef LINUX #include "ldpctool/layered_decoder.h" #include "ldpctool/testbench.h" #include "ldpctool/algorithms.h" +#endif namespace leansdr { @@ -2174,6 +2176,8 @@ struct s2_fecdec : runnable pipewriter *bitcount, *errcount; }; // s2_fecdec +#ifdef LINUX + // Soft LDPC decoder // Internally implemented LDPC tool. Replaces external LDPC decoder @@ -2316,7 +2320,6 @@ private: // External LDPC decoder // Spawns a user-specified command, FEC frames on stdin/stdout. - template struct simplequeue { @@ -2620,6 +2623,7 @@ struct s2_fecdec_helper : runnable std::deque errcount_q; pipewriter *bitcount, *errcount; }; // s2_fecdec_helper +#endif // S2 FRAMER // EN 302 307-1 section 5.1 Mode adaptation diff --git a/plugins/channelrx/demoddatv/readme.md b/plugins/channelrx/demoddatv/readme.md index b1448c39a..e5f91c2cf 100644 --- a/plugins/channelrx/demoddatv/readme.md +++ b/plugins/channelrx/demoddatv/readme.md @@ -165,7 +165,7 @@ The controls specific to DVB-S are disabled and greyed out. These are: Fast Lock
B.2b.6: DVB-S2 specific - Soft LDPC decoder
-This is for experimenters only. It can be used to decode signals lower that ~10 db MER which is the limit of LDPC hard decoding as explained next (B.2b.7). Video degrades progressively down to about 7.5 dB MER and drops below this limit. +This is for experimenters only working in Linux. It can be used to decode signals lower that ~10 db MER which is the limit of LDPC hard decoding as explained next (B.2b.7). Video degrades progressively down to about 7.5 dB MER and drops below this limit. Runs the `ldpctool` program for soft LDPC decoding. Frames are sent on its standard input and decoded frames retrieved from its standard output. Two processes executing `ldpctool` are spawned but so far it seems that only one is effectively used.