Remove DC spike from IQ stream and visuals

IQ post-process / distribution in separate thread, use of
iirfilt_crcf_create_dc_blocker to reduce DC offset in IQ stream.
This commit is contained in:
Charles J. Cliffe
2014-11-29 13:58:20 -05:00
parent 93b20454d3
commit 499e411048
10 changed files with 184 additions and 66 deletions
+18 -2
View File
@@ -36,11 +36,19 @@ bool CubicSDR::OnInit() {
threadCmdQueueSDR = new SDRThreadCommandQueue;
sdrThread = new SDRThread(threadCmdQueueSDR);
sdrThread->bindDemodulator(demodulatorTest);
sdrPostThread = new SDRPostThread();
iqPostDataQueue = new SDRThreadIQDataQueue;
iqVisualQueue = new SDRThreadIQDataQueue;
sdrThread->setIQVisualQueue(iqVisualQueue);
sdrThread->setIQDataOutQueue(iqPostDataQueue);
sdrPostThread->setIQDataInQueue(iqPostDataQueue);
sdrPostThread->setIQVisualQueue(iqVisualQueue);
sdrPostThread->bindDemodulator(demodulatorTest);
threadPostSDR = new std::thread(&SDRPostThread::threadMain, sdrPostThread);
threadSDR = new std::thread(&SDRThread::threadMain, sdrThread);
AppFrame *appframe = new AppFrame();
@@ -53,9 +61,15 @@ int CubicSDR::OnExit() {
sdrThread->terminate();
threadSDR->join();
sdrPostThread->terminate();
threadPostSDR->join();
delete sdrThread;
delete threadSDR;
delete sdrPostThread;
delete threadPostSDR;
demodMgr.terminateAll();
audioThread->terminate();
@@ -69,6 +83,8 @@ int CubicSDR::OnExit() {
delete iqVisualQueue;
delete audioVisualQueue;
delete iqPostDataQueue;
delete m_glContext;
return wxApp::OnExit();