mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-10-01 01:06:35 -04:00
Renamed DownSampleChannelizer back to (new) DownChannelizer
This commit is contained in:
parent
73abde7666
commit
653f8c1330
@ -29,7 +29,7 @@
|
|||||||
#include "chanalyzerbaseband.h"
|
#include "chanalyzerbaseband.h"
|
||||||
|
|
||||||
class QThread;
|
class QThread;
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class ChannelAnalyzer : public BasebandSampleSink, public ChannelAPI {
|
class ChannelAnalyzer : public BasebandSampleSink, public ChannelAPI {
|
||||||
public:
|
public:
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "chanalyzerbaseband.h"
|
#include "chanalyzerbaseband.h"
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ ChannelAnalyzerBaseband::ChannelAnalyzerBaseband() :
|
|||||||
{
|
{
|
||||||
qDebug("ChannelAnalyzerBaseband::ChannelAnalyzerBaseband");
|
qDebug("ChannelAnalyzerBaseband::ChannelAnalyzerBaseband");
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&m_sampleFifo,
|
&m_sampleFifo,
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "chanalyzersink.h"
|
#include "chanalyzersink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class ChannelAnalyzerBaseband : public QObject
|
class ChannelAnalyzerBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -73,7 +73,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
ChannelAnalyzerSink m_sink;
|
ChannelAnalyzerSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
ChannelAnalyzerSettings m_settings;
|
ChannelAnalyzerSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "amdemodbaseband.h"
|
#include "amdemodbaseband.h"
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ AMDemodBaseband::AMDemodBaseband() :
|
|||||||
qDebug("AMDemodBaseband::AMDemodBaseband");
|
qDebug("AMDemodBaseband::AMDemodBaseband");
|
||||||
|
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&m_sampleFifo,
|
&m_sampleFifo,
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "amdemodsink.h"
|
#include "amdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class AMDemodBaseband : public QObject
|
class AMDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -72,7 +72,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
AMDemodSink m_sink;
|
AMDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
AMDemodSettings m_settings;
|
AMDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "atvdemodbaseband.h"
|
#include "atvdemodbaseband.h"
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ ATVDemodBaseband::ATVDemodBaseband() :
|
|||||||
{
|
{
|
||||||
qDebug("ATVDemodBaseband::ATVDemodBaseband");
|
qDebug("ATVDemodBaseband::ATVDemodBaseband");
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&m_sampleFifo,
|
&m_sampleFifo,
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "atvdemodsink.h"
|
#include "atvdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class ATVDemodBaseband : public QObject
|
class ATVDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -93,7 +93,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
ATVDemodSink m_sink;
|
ATVDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
ATVDemodSettings m_settings;
|
ATVDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "bfmdemodreport.h"
|
#include "bfmdemodreport.h"
|
||||||
#include "bfmdemodbaseband.h"
|
#include "bfmdemodbaseband.h"
|
||||||
@ -30,7 +30,7 @@ BFMDemodBaseband::BFMDemodBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("BFMDemodBaseband::BFMDemodBaseband");
|
qDebug("BFMDemodBaseband::BFMDemodBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "bfmdemodsink.h"
|
#include "bfmdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class BFMDemodBaseband : public QObject
|
class BFMDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -81,7 +81,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
BFMDemodSink m_sink;
|
BFMDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
BFMDemodSettings m_settings;
|
BFMDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "datvdemodbaseband.h"
|
#include "datvdemodbaseband.h"
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ DATVDemodBaseband::DATVDemodBaseband() :
|
|||||||
{
|
{
|
||||||
qDebug("DATVDemodBaseband::DATVDemodBaseband");
|
qDebug("DATVDemodBaseband::DATVDemodBaseband");
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&m_sampleFifo,
|
&m_sampleFifo,
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "datvdemodsink.h"
|
#include "datvdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class DATVDemodBaseband : public QObject
|
class DATVDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -101,7 +101,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
DATVDemodSink m_sink;
|
DATVDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
DATVDemodSettings m_settings;
|
DATVDemodSettings m_settings;
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
class QNetworkAccessManager;
|
class QNetworkAccessManager;
|
||||||
class QNetworkReply;
|
class QNetworkReply;
|
||||||
class QThread;
|
class QThread;
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class DSDDemod : public BasebandSampleSink, public ChannelAPI {
|
class DSDDemod : public BasebandSampleSink, public ChannelAPI {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "dsddemodbaseband.h"
|
#include "dsddemodbaseband.h"
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ DSDDemodBaseband::DSDDemodBaseband() :
|
|||||||
{
|
{
|
||||||
qDebug("DSDDemodBaseband::DSDDemodBaseband");
|
qDebug("DSDDemodBaseband::DSDDemodBaseband");
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&m_sampleFifo,
|
&m_sampleFifo,
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "dsddemodsink.h"
|
#include "dsddemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class DSDDemodBaseband : public QObject
|
class DSDDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -74,7 +74,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
DSDDemodSink m_sink;
|
DSDDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
DSDDemodSettings m_settings;
|
DSDDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "freedvdemodbaseband.h"
|
#include "freedvdemodbaseband.h"
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ FreeDVDemodBaseband::FreeDVDemodBaseband() :
|
|||||||
{
|
{
|
||||||
qDebug("FreeDVDemodBaseband::FreeDVDemodBaseband");
|
qDebug("FreeDVDemodBaseband::FreeDVDemodBaseband");
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&m_sampleFifo,
|
&m_sampleFifo,
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "freedvdemodsink.h"
|
#include "freedvdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class FreeDVDemodBaseband : public QObject
|
class FreeDVDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -101,7 +101,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
FreeDVDemodSink m_sink;
|
FreeDVDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
FreeDVDemodSettings m_settings;
|
FreeDVDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "lorademodbaseband.h"
|
#include "lorademodbaseband.h"
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ LoRaDemodBaseband::LoRaDemodBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("LoRaDemodBaseband::LoRaDemodBaseband");
|
qDebug("LoRaDemodBaseband::LoRaDemodBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "lorademodsink.h"
|
#include "lorademodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class LoRaDemodBaseband : public QObject
|
class LoRaDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -67,7 +67,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
LoRaDemodSink m_sink;
|
LoRaDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
LoRaDemodSettings m_settings;
|
LoRaDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "nfmdemodbaseband.h"
|
#include "nfmdemodbaseband.h"
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ NFMDemodBaseband::NFMDemodBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("NFMDemodBaseband::NFMDemodBaseband");
|
qDebug("NFMDemodBaseband::NFMDemodBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "nfmdemodsink.h"
|
#include "nfmdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class NFMDemodBaseband : public QObject
|
class NFMDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -72,7 +72,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
NFMDemodSink m_sink;
|
NFMDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
NFMDemodSettings m_settings;
|
NFMDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "ssbdemodbaseband.h"
|
#include "ssbdemodbaseband.h"
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ SSBDemodBaseband::SSBDemodBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("SSBDemodBaseband::SSBDemodBaseband");
|
qDebug("SSBDemodBaseband::SSBDemodBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "ssbdemodsink.h"
|
#include "ssbdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class SSBDemodBaseband : public QObject
|
class SSBDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -72,7 +72,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
SSBDemodSink m_sink;
|
SSBDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
SSBDemodSettings m_settings;
|
SSBDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "wfmdemodbaseband.h"
|
#include "wfmdemodbaseband.h"
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ WFMDemodBaseband::WFMDemodBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("WFMDemodBaseband::WFMDemodBaseband");
|
qDebug("WFMDemodBaseband::WFMDemodBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "wfmdemodsink.h"
|
#include "wfmdemodsink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class WFMDemodBaseband : public QObject
|
class WFMDemodBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -72,7 +72,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
WFMDemodSink m_sink;
|
WFMDemodSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
WFMDemodSettings m_settings;
|
WFMDemodSettings m_settings;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "freqtrackerreport.h"
|
#include "freqtrackerreport.h"
|
||||||
#include "freqtrackerbaseband.h"
|
#include "freqtrackerbaseband.h"
|
||||||
@ -30,7 +30,7 @@ FreqTrackerBaseband::FreqTrackerBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("FreqTrackerBaseband::FreqTrackerBaseband");
|
qDebug("FreqTrackerBaseband::FreqTrackerBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "freqtrackersink.h"
|
#include "freqtrackersink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class FreqTrackerBaseband : public QObject
|
class FreqTrackerBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -75,7 +75,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
FreqTrackerSink m_sink;
|
FreqTrackerSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
FreqTrackerSettings m_settings;
|
FreqTrackerSettings m_settings;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ LocalSinkBaseband::LocalSinkBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("LocalSinkBaseband::LocalSinkBaseband");
|
qDebug("LocalSinkBaseband::LocalSinkBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#include "localsinksink.h"
|
#include "localsinksink.h"
|
||||||
#include "localsinksettings.h"
|
#include "localsinksettings.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class LocalSinkBaseband : public QObject
|
class LocalSinkBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -128,7 +128,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
LocalSinkSink m_sink;
|
LocalSinkSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
LocalSinkSettings m_settings;
|
LocalSinkSettings m_settings;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ RemoteSinkBaseband::RemoteSinkBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("RemoteSinkBaseband::RemoteSinkBaseband");
|
qDebug("RemoteSinkBaseband::RemoteSinkBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#include "remotesinksink.h"
|
#include "remotesinksink.h"
|
||||||
#include "remotesinksettings.h"
|
#include "remotesinksettings.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class RemoteSinkBaseband : public QObject
|
class RemoteSinkBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -71,7 +71,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
int m_basebandSampleRate;
|
int m_basebandSampleRate;
|
||||||
RemoteSinkSink m_sink;
|
RemoteSinkSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/downsamplechannelizer.h"
|
#include "dsp/downchannelizer.h"
|
||||||
|
|
||||||
#include "udpsinkbaseband.h"
|
#include "udpsinkbaseband.h"
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ UDPSinkBaseband::UDPSinkBaseband() :
|
|||||||
m_mutex(QMutex::Recursive)
|
m_mutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
|
||||||
m_channelizer = new DownSampleChannelizer(&m_sink);
|
m_channelizer = new DownChannelizer(&m_sink);
|
||||||
|
|
||||||
qDebug("WFMDemodBaseband::WFMDemodBaseband");
|
qDebug("WFMDemodBaseband::WFMDemodBaseband");
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "udpsinksink.h"
|
#include "udpsinksink.h"
|
||||||
|
|
||||||
class DownSampleChannelizer;
|
class DownChannelizer;
|
||||||
|
|
||||||
class UDPSinkBaseband : public QObject
|
class UDPSinkBaseband : public QObject
|
||||||
{
|
{
|
||||||
@ -91,7 +91,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SampleSinkFifo m_sampleFifo;
|
SampleSinkFifo m_sampleFifo;
|
||||||
DownSampleChannelizer *m_channelizer;
|
DownChannelizer *m_channelizer;
|
||||||
UDPSinkSink m_sink;
|
UDPSinkSink m_sink;
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
UDPSinkSettings m_settings;
|
UDPSinkSettings m_settings;
|
||||||
|
@ -62,7 +62,7 @@ set(sdrbase_SOURCES
|
|||||||
|
|
||||||
dsp/afsquelch.cpp
|
dsp/afsquelch.cpp
|
||||||
dsp/agc.cpp
|
dsp/agc.cpp
|
||||||
dsp/downsamplechannelizer.cpp
|
dsp/downchannelizer.cpp
|
||||||
dsp/upchannelizer.cpp
|
dsp/upchannelizer.cpp
|
||||||
dsp/channelmarker.cpp
|
dsp/channelmarker.cpp
|
||||||
dsp/ctcssdetector.cpp
|
dsp/ctcssdetector.cpp
|
||||||
@ -177,7 +177,7 @@ set(sdrbase_HEADERS
|
|||||||
|
|
||||||
dsp/afsquelch.h
|
dsp/afsquelch.h
|
||||||
dsp/autocorrector.h
|
dsp/autocorrector.h
|
||||||
dsp/downsamplechannelizer.h
|
dsp/downchannelizer.h
|
||||||
dsp/upchannelizer.h
|
dsp/upchannelizer.h
|
||||||
dsp/channelmarker.h
|
dsp/channelmarker.h
|
||||||
dsp/channelsamplesink.h
|
dsp/channelsamplesink.h
|
||||||
|
@ -22,9 +22,9 @@
|
|||||||
#include "dsp/inthalfbandfilter.h"
|
#include "dsp/inthalfbandfilter.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/hbfilterchainconverter.h"
|
#include "dsp/hbfilterchainconverter.h"
|
||||||
#include "downsamplechannelizer.h"
|
#include "downchannelizer.h"
|
||||||
|
|
||||||
DownSampleChannelizer::DownSampleChannelizer(ChannelSampleSink* sampleSink) :
|
DownChannelizer::DownChannelizer(ChannelSampleSink* sampleSink) :
|
||||||
m_filterChainSetMode(false),
|
m_filterChainSetMode(false),
|
||||||
m_sampleSink(sampleSink),
|
m_sampleSink(sampleSink),
|
||||||
m_basebandSampleRate(0),
|
m_basebandSampleRate(0),
|
||||||
@ -37,12 +37,12 @@ DownSampleChannelizer::DownSampleChannelizer(ChannelSampleSink* sampleSink) :
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
DownSampleChannelizer::~DownSampleChannelizer()
|
DownChannelizer::~DownChannelizer()
|
||||||
{
|
{
|
||||||
freeFilterChain();
|
freeFilterChain();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
|
void DownChannelizer::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
|
||||||
{
|
{
|
||||||
if (m_sampleSink == 0)
|
if (m_sampleSink == 0)
|
||||||
{
|
{
|
||||||
@ -87,14 +87,14 @@ void DownSampleChannelizer::feed(const SampleVector::const_iterator& begin, cons
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::setChannelization(int requestedSampleRate, qint64 requestedCenterFrequency)
|
void DownChannelizer::setChannelization(int requestedSampleRate, qint64 requestedCenterFrequency)
|
||||||
{
|
{
|
||||||
m_requestedOutputSampleRate = requestedSampleRate;
|
m_requestedOutputSampleRate = requestedSampleRate;
|
||||||
m_requestedCenterFrequency = requestedCenterFrequency;
|
m_requestedCenterFrequency = requestedCenterFrequency;
|
||||||
applyChannelization();
|
applyChannelization();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::setBasebandSampleRate(int basebandSampleRate, bool decim)
|
void DownChannelizer::setBasebandSampleRate(int basebandSampleRate, bool decim)
|
||||||
{
|
{
|
||||||
m_basebandSampleRate = basebandSampleRate;
|
m_basebandSampleRate = basebandSampleRate;
|
||||||
|
|
||||||
@ -105,13 +105,13 @@ void DownSampleChannelizer::setBasebandSampleRate(int basebandSampleRate, bool d
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::applyChannelization()
|
void DownChannelizer::applyChannelization()
|
||||||
{
|
{
|
||||||
m_filterChainSetMode = false;
|
m_filterChainSetMode = false;
|
||||||
|
|
||||||
if (m_basebandSampleRate == 0)
|
if (m_basebandSampleRate == 0)
|
||||||
{
|
{
|
||||||
qDebug() << "DownSampleChannelizer::applyChannelization: aborting (in=0)"
|
qDebug() << "DownChannelizer::applyChannelization: aborting (in=0)"
|
||||||
<< " in (baseband):" << m_basebandSampleRate
|
<< " in (baseband):" << m_basebandSampleRate
|
||||||
<< " req:" << m_requestedOutputSampleRate
|
<< " req:" << m_requestedOutputSampleRate
|
||||||
<< " out (channel):" << m_channelSampleRate
|
<< " out (channel):" << m_channelSampleRate
|
||||||
@ -127,21 +127,21 @@ void DownSampleChannelizer::applyChannelization()
|
|||||||
|
|
||||||
m_channelSampleRate = m_basebandSampleRate / (1 << m_filterStages.size());
|
m_channelSampleRate = m_basebandSampleRate / (1 << m_filterStages.size());
|
||||||
|
|
||||||
qDebug() << "DownSampleChannelizer::applyChannelization done:"
|
qDebug() << "DownChannelizer::applyChannelization done:"
|
||||||
<< " in (baseband):" << m_basebandSampleRate
|
<< " in (baseband):" << m_basebandSampleRate
|
||||||
<< " req:" << m_requestedOutputSampleRate
|
<< " req:" << m_requestedOutputSampleRate
|
||||||
<< " out (channel):" << m_channelSampleRate
|
<< " out (channel):" << m_channelSampleRate
|
||||||
<< " fc:" << m_channelFrequencyOffset;
|
<< " fc:" << m_channelFrequencyOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::setDecimation(unsigned int log2Decim, unsigned int filterChainHash)
|
void DownChannelizer::setDecimation(unsigned int log2Decim, unsigned int filterChainHash)
|
||||||
{
|
{
|
||||||
m_log2Decim = log2Decim;
|
m_log2Decim = log2Decim;
|
||||||
m_filterChainHash = filterChainHash;
|
m_filterChainHash = filterChainHash;
|
||||||
applyDecimation();
|
applyDecimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::applyDecimation()
|
void DownChannelizer::applyDecimation()
|
||||||
{
|
{
|
||||||
m_filterChainSetMode = true;
|
m_filterChainSetMode = true;
|
||||||
std::vector<unsigned int> stageIndexes;
|
std::vector<unsigned int> stageIndexes;
|
||||||
@ -163,7 +163,7 @@ void DownSampleChannelizer::applyDecimation()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SDR_RX_SAMPLE_24BIT
|
#ifdef SDR_RX_SAMPLE_24BIT
|
||||||
DownSampleChannelizer::FilterStage::FilterStage(Mode mode) :
|
DownChannelizer::FilterStage::FilterStage(Mode mode) :
|
||||||
m_filter(new IntHalfbandFilterEO<qint64, qint64, DOWNCHANNELIZER_HB_FILTER_ORDER>),
|
m_filter(new IntHalfbandFilterEO<qint64, qint64, DOWNCHANNELIZER_HB_FILTER_ORDER>),
|
||||||
m_workFunction(0),
|
m_workFunction(0),
|
||||||
m_mode(mode),
|
m_mode(mode),
|
||||||
@ -184,7 +184,7 @@ DownSampleChannelizer::FilterStage::FilterStage(Mode mode) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
DownSampleChannelizer::FilterStage::FilterStage(Mode mode) :
|
DownChannelizer::FilterStage::FilterStage(Mode mode) :
|
||||||
m_filter(new IntHalfbandFilterEO<qint32, qint32, DOWNCHANNELIZER_HB_FILTER_ORDER>),
|
m_filter(new IntHalfbandFilterEO<qint32, qint32, DOWNCHANNELIZER_HB_FILTER_ORDER>),
|
||||||
m_workFunction(0),
|
m_workFunction(0),
|
||||||
m_mode(mode),
|
m_mode(mode),
|
||||||
@ -206,12 +206,12 @@ DownSampleChannelizer::FilterStage::FilterStage(Mode mode) :
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DownSampleChannelizer::FilterStage::~FilterStage()
|
DownChannelizer::FilterStage::~FilterStage()
|
||||||
{
|
{
|
||||||
delete m_filter;
|
delete m_filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DownSampleChannelizer::signalContainsChannel(Real sigStart, Real sigEnd, Real chanStart, Real chanEnd) const
|
bool DownChannelizer::signalContainsChannel(Real sigStart, Real sigEnd, Real chanStart, Real chanEnd) const
|
||||||
{
|
{
|
||||||
//qDebug(" testing signal [%f, %f], channel [%f, %f]", sigStart, sigEnd, chanStart, chanEnd);
|
//qDebug(" testing signal [%f, %f], channel [%f, %f]", sigStart, sigEnd, chanStart, chanEnd);
|
||||||
if(sigEnd <= sigStart)
|
if(sigEnd <= sigStart)
|
||||||
@ -221,17 +221,17 @@ bool DownSampleChannelizer::signalContainsChannel(Real sigStart, Real sigEnd, Re
|
|||||||
return (sigStart <= chanStart) && (sigEnd >= chanEnd);
|
return (sigStart <= chanStart) && (sigEnd >= chanEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
Real DownSampleChannelizer::createFilterChain(Real sigStart, Real sigEnd, Real chanStart, Real chanEnd)
|
Real DownChannelizer::createFilterChain(Real sigStart, Real sigEnd, Real chanStart, Real chanEnd)
|
||||||
{
|
{
|
||||||
Real sigBw = sigEnd - sigStart;
|
Real sigBw = sigEnd - sigStart;
|
||||||
Real rot = sigBw / 4;
|
Real rot = sigBw / 4;
|
||||||
|
|
||||||
//qDebug("DownSampleChannelizer::createFilterChain: Signal [%.1f, %.1f] (BW %.1f), Channel [%.1f, %.1f], Rot %.1f", sigStart, sigEnd, sigBw, chanStart, chanEnd, rot);
|
//qDebug("DownChannelizer::createFilterChain: Signal [%.1f, %.1f] (BW %.1f), Channel [%.1f, %.1f], Rot %.1f", sigStart, sigEnd, sigBw, chanStart, chanEnd, rot);
|
||||||
|
|
||||||
// check if it fits into the left half
|
// check if it fits into the left half
|
||||||
if(signalContainsChannel(sigStart, sigStart + sigBw / 2.0, chanStart, chanEnd))
|
if(signalContainsChannel(sigStart, sigStart + sigBw / 2.0, chanStart, chanEnd))
|
||||||
{
|
{
|
||||||
//qDebug("DownSampleChannelizer::createFilterChain: -> take left half (rotate by +1/4 and decimate by 2)");
|
//qDebug("DownChannelizer::createFilterChain: -> take left half (rotate by +1/4 and decimate by 2)");
|
||||||
m_filterStages.push_back(new FilterStage(FilterStage::ModeLowerHalf));
|
m_filterStages.push_back(new FilterStage(FilterStage::ModeLowerHalf));
|
||||||
return createFilterChain(sigStart, sigStart + sigBw / 2.0, chanStart, chanEnd);
|
return createFilterChain(sigStart, sigStart + sigBw / 2.0, chanStart, chanEnd);
|
||||||
}
|
}
|
||||||
@ -239,7 +239,7 @@ Real DownSampleChannelizer::createFilterChain(Real sigStart, Real sigEnd, Real c
|
|||||||
// check if it fits into the right half
|
// check if it fits into the right half
|
||||||
if(signalContainsChannel(sigEnd - sigBw / 2.0f, sigEnd, chanStart, chanEnd))
|
if(signalContainsChannel(sigEnd - sigBw / 2.0f, sigEnd, chanStart, chanEnd))
|
||||||
{
|
{
|
||||||
//qDebug("DownSampleChannelizer::createFilterChain: -> take right half (rotate by -1/4 and decimate by 2)");
|
//qDebug("DownChannelizer::createFilterChain: -> take right half (rotate by -1/4 and decimate by 2)");
|
||||||
m_filterStages.push_back(new FilterStage(FilterStage::ModeUpperHalf));
|
m_filterStages.push_back(new FilterStage(FilterStage::ModeUpperHalf));
|
||||||
return createFilterChain(sigEnd - sigBw / 2.0f, sigEnd, chanStart, chanEnd);
|
return createFilterChain(sigEnd - sigBw / 2.0f, sigEnd, chanStart, chanEnd);
|
||||||
}
|
}
|
||||||
@ -247,17 +247,17 @@ Real DownSampleChannelizer::createFilterChain(Real sigStart, Real sigEnd, Real c
|
|||||||
// check if it fits into the center
|
// check if it fits into the center
|
||||||
if(signalContainsChannel(sigStart + rot, sigEnd - rot, chanStart, chanEnd))
|
if(signalContainsChannel(sigStart + rot, sigEnd - rot, chanStart, chanEnd))
|
||||||
{
|
{
|
||||||
//qDebug("DownSampleChannelizer::createFilterChain: -> take center half (decimate by 2)");
|
//qDebug("DownChannelizer::createFilterChain: -> take center half (decimate by 2)");
|
||||||
m_filterStages.push_back(new FilterStage(FilterStage::ModeCenter));
|
m_filterStages.push_back(new FilterStage(FilterStage::ModeCenter));
|
||||||
return createFilterChain(sigStart + rot, sigEnd - rot, chanStart, chanEnd);
|
return createFilterChain(sigStart + rot, sigEnd - rot, chanStart, chanEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
Real ofs = ((chanEnd - chanStart) / 2.0 + chanStart) - ((sigEnd - sigStart) / 2.0 + sigStart);
|
Real ofs = ((chanEnd - chanStart) / 2.0 + chanStart) - ((sigEnd - sigStart) / 2.0 + sigStart);
|
||||||
//qDebug("DownSampleChannelizer::createFilterChain: -> complete (final BW %.1f, frequency offset %.1f)", sigBw, ofs);
|
//qDebug("DownChannelizer::createFilterChain: -> complete (final BW %.1f, frequency offset %.1f)", sigBw, ofs);
|
||||||
return ofs;
|
return ofs;
|
||||||
}
|
}
|
||||||
|
|
||||||
double DownSampleChannelizer::setFilterChain(const std::vector<unsigned int>& stageIndexes)
|
double DownChannelizer::setFilterChain(const std::vector<unsigned int>& stageIndexes)
|
||||||
{
|
{
|
||||||
// filters are described from lower to upper level but the chain is constructed the other way round
|
// filters are described from lower to upper level but the chain is constructed the other way round
|
||||||
std::vector<unsigned int>::const_reverse_iterator rit = stageIndexes.rbegin();
|
std::vector<unsigned int>::const_reverse_iterator rit = stageIndexes.rbegin();
|
||||||
@ -272,50 +272,50 @@ double DownSampleChannelizer::setFilterChain(const std::vector<unsigned int>& st
|
|||||||
{
|
{
|
||||||
m_filterStages.push_back(new FilterStage(FilterStage::ModeLowerHalf));
|
m_filterStages.push_back(new FilterStage(FilterStage::ModeLowerHalf));
|
||||||
ofs -= ofs_stage;
|
ofs -= ofs_stage;
|
||||||
qDebug("DownSampleChannelizer::setFilterChain: lower half: ofs: %f", ofs);
|
qDebug("DownChannelizer::setFilterChain: lower half: ofs: %f", ofs);
|
||||||
}
|
}
|
||||||
else if (*rit == 1)
|
else if (*rit == 1)
|
||||||
{
|
{
|
||||||
m_filterStages.push_back(new FilterStage(FilterStage::ModeCenter));
|
m_filterStages.push_back(new FilterStage(FilterStage::ModeCenter));
|
||||||
qDebug("DownSampleChannelizer::setFilterChain: center: ofs: %f", ofs);
|
qDebug("DownChannelizer::setFilterChain: center: ofs: %f", ofs);
|
||||||
}
|
}
|
||||||
else if (*rit == 2)
|
else if (*rit == 2)
|
||||||
{
|
{
|
||||||
m_filterStages.push_back(new FilterStage(FilterStage::ModeUpperHalf));
|
m_filterStages.push_back(new FilterStage(FilterStage::ModeUpperHalf));
|
||||||
ofs += ofs_stage;
|
ofs += ofs_stage;
|
||||||
qDebug("DownSampleChannelizer::setFilterChain: upper half: ofs: %f", ofs);
|
qDebug("DownChannelizer::setFilterChain: upper half: ofs: %f", ofs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ofs;
|
return ofs;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::freeFilterChain()
|
void DownChannelizer::freeFilterChain()
|
||||||
{
|
{
|
||||||
for(FilterStages::iterator it = m_filterStages.begin(); it != m_filterStages.end(); ++it)
|
for(FilterStages::iterator it = m_filterStages.begin(); it != m_filterStages.end(); ++it)
|
||||||
delete *it;
|
delete *it;
|
||||||
m_filterStages.clear();
|
m_filterStages.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownSampleChannelizer::debugFilterChain()
|
void DownChannelizer::debugFilterChain()
|
||||||
{
|
{
|
||||||
qDebug("DownSampleChannelizer::debugFilterChain: %lu stages", m_filterStages.size());
|
qDebug("DownChannelizer::debugFilterChain: %lu stages", m_filterStages.size());
|
||||||
|
|
||||||
for(FilterStages::iterator it = m_filterStages.begin(); it != m_filterStages.end(); ++it)
|
for(FilterStages::iterator it = m_filterStages.begin(); it != m_filterStages.end(); ++it)
|
||||||
{
|
{
|
||||||
switch ((*it)->m_mode)
|
switch ((*it)->m_mode)
|
||||||
{
|
{
|
||||||
case FilterStage::ModeCenter:
|
case FilterStage::ModeCenter:
|
||||||
qDebug("DownSampleChannelizer::debugFilterChain: center %s", (*it)->m_sse ? "sse" : "no_sse");
|
qDebug("DownChannelizer::debugFilterChain: center %s", (*it)->m_sse ? "sse" : "no_sse");
|
||||||
break;
|
break;
|
||||||
case FilterStage::ModeLowerHalf:
|
case FilterStage::ModeLowerHalf:
|
||||||
qDebug("DownSampleChannelizer::debugFilterChain: lower %s", (*it)->m_sse ? "sse" : "no_sse");
|
qDebug("DownChannelizer::debugFilterChain: lower %s", (*it)->m_sse ? "sse" : "no_sse");
|
||||||
break;
|
break;
|
||||||
case FilterStage::ModeUpperHalf:
|
case FilterStage::ModeUpperHalf:
|
||||||
qDebug("DownSampleChannelizer::debugFilterChain: upper %s", (*it)->m_sse ? "sse" : "no_sse");
|
qDebug("DownChannelizer::debugFilterChain: upper %s", (*it)->m_sse ? "sse" : "no_sse");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
qDebug("DownSampleChannelizer::debugFilterChain: none %s", (*it)->m_sse ? "sse" : "no_sse");
|
qDebug("DownChannelizer::debugFilterChain: none %s", (*it)->m_sse ? "sse" : "no_sse");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -16,8 +16,8 @@
|
|||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef SDRBASE_DSP_DOWNSAMPLECHANNELIZER_H
|
#ifndef SDRBASE_DSP_DOWNCHANNELIZER_H
|
||||||
#define SDRBASE_DSP_DOWNSAMPLECHANNELIZER_H
|
#define SDRBASE_DSP_DOWNCHANNELIZER_H
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
@ -30,10 +30,10 @@
|
|||||||
|
|
||||||
#define DOWNCHANNELIZER_HB_FILTER_ORDER 48
|
#define DOWNCHANNELIZER_HB_FILTER_ORDER 48
|
||||||
|
|
||||||
class SDRBASE_API DownSampleChannelizer : public ChannelSampleSink {
|
class SDRBASE_API DownChannelizer : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
DownSampleChannelizer(ChannelSampleSink* sampleSink);
|
DownChannelizer(ChannelSampleSink* sampleSink);
|
||||||
virtual ~DownSampleChannelizer();
|
virtual ~DownChannelizer();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user