Renamed DownSampleChannelizer back to (new) DownChannelizer

This commit is contained in:
f4exb 2019-12-13 15:15:21 +01:00
parent 73abde7666
commit 653f8c1330
35 changed files with 101 additions and 101 deletions

View File

@ -29,7 +29,7 @@
#include "chanalyzerbaseband.h"
class QThread;
class DownSampleChannelizer;
class DownChannelizer;
class ChannelAnalyzer : public BasebandSampleSink, public ChannelAPI {
public:

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "chanalyzerbaseband.h"
@ -30,7 +30,7 @@ ChannelAnalyzerBaseband::ChannelAnalyzerBaseband() :
{
qDebug("ChannelAnalyzerBaseband::ChannelAnalyzerBaseband");
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
QObject::connect(
&m_sampleFifo,

View File

@ -27,7 +27,7 @@
#include "chanalyzersink.h"
class DownSampleChannelizer;
class DownChannelizer;
class ChannelAnalyzerBaseband : public QObject
{
@ -73,7 +73,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
ChannelAnalyzerSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
ChannelAnalyzerSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "amdemodbaseband.h"
@ -31,7 +31,7 @@ AMDemodBaseband::AMDemodBaseband() :
qDebug("AMDemodBaseband::AMDemodBaseband");
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
QObject::connect(
&m_sampleFifo,

View File

@ -27,7 +27,7 @@
#include "amdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class AMDemodBaseband : public QObject
{
@ -72,7 +72,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
AMDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
AMDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "atvdemodbaseband.h"
@ -31,7 +31,7 @@ ATVDemodBaseband::ATVDemodBaseband() :
{
qDebug("ATVDemodBaseband::ATVDemodBaseband");
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
QObject::connect(
&m_sampleFifo,

View File

@ -27,7 +27,7 @@
#include "atvdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class ATVDemodBaseband : public QObject
{
@ -93,7 +93,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
ATVDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
ATVDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "bfmdemodreport.h"
#include "bfmdemodbaseband.h"
@ -30,7 +30,7 @@ BFMDemodBaseband::BFMDemodBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("BFMDemodBaseband::BFMDemodBaseband");
QObject::connect(

View File

@ -27,7 +27,7 @@
#include "bfmdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class BFMDemodBaseband : public QObject
{
@ -81,7 +81,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
BFMDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
BFMDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "datvdemodbaseband.h"
@ -31,7 +31,7 @@ DATVDemodBaseband::DATVDemodBaseband() :
{
qDebug("DATVDemodBaseband::DATVDemodBaseband");
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
QObject::connect(
&m_sampleFifo,

View File

@ -27,7 +27,7 @@
#include "datvdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class DATVDemodBaseband : public QObject
{
@ -101,7 +101,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
DATVDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
DATVDemodSettings m_settings;

View File

@ -34,7 +34,7 @@
class QNetworkAccessManager;
class QNetworkReply;
class QThread;
class DownSampleChannelizer;
class DownChannelizer;
class DSDDemod : public BasebandSampleSink, public ChannelAPI {
Q_OBJECT

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "dsddemodbaseband.h"
@ -30,7 +30,7 @@ DSDDemodBaseband::DSDDemodBaseband() :
{
qDebug("DSDDemodBaseband::DSDDemodBaseband");
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
QObject::connect(
&m_sampleFifo,

View File

@ -27,7 +27,7 @@
#include "dsddemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class DSDDemodBaseband : public QObject
{
@ -74,7 +74,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
DSDDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
DSDDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "freedvdemodbaseband.h"
@ -32,7 +32,7 @@ FreeDVDemodBaseband::FreeDVDemodBaseband() :
{
qDebug("FreeDVDemodBaseband::FreeDVDemodBaseband");
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
QObject::connect(
&m_sampleFifo,

View File

@ -27,7 +27,7 @@
#include "freedvdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class FreeDVDemodBaseband : public QObject
{
@ -101,7 +101,7 @@ signals:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
FreeDVDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
FreeDVDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "lorademodbaseband.h"
@ -29,7 +29,7 @@ LoRaDemodBaseband::LoRaDemodBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("LoRaDemodBaseband::LoRaDemodBaseband");
QObject::connect(

View File

@ -27,7 +27,7 @@
#include "lorademodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class LoRaDemodBaseband : public QObject
{
@ -67,7 +67,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
LoRaDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
LoRaDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "nfmdemodbaseband.h"
@ -29,7 +29,7 @@ NFMDemodBaseband::NFMDemodBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("NFMDemodBaseband::NFMDemodBaseband");
QObject::connect(

View File

@ -27,7 +27,7 @@
#include "nfmdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class NFMDemodBaseband : public QObject
{
@ -72,7 +72,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
NFMDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
NFMDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "ssbdemodbaseband.h"
@ -30,7 +30,7 @@ SSBDemodBaseband::SSBDemodBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("SSBDemodBaseband::SSBDemodBaseband");
QObject::connect(

View File

@ -27,7 +27,7 @@
#include "ssbdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class SSBDemodBaseband : public QObject
{
@ -72,7 +72,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
SSBDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
SSBDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "wfmdemodbaseband.h"
@ -29,7 +29,7 @@ WFMDemodBaseband::WFMDemodBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("WFMDemodBaseband::WFMDemodBaseband");
QObject::connect(

View File

@ -27,7 +27,7 @@
#include "wfmdemodsink.h"
class DownSampleChannelizer;
class DownChannelizer;
class WFMDemodBaseband : public QObject
{
@ -72,7 +72,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
WFMDemodSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
WFMDemodSettings m_settings;

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "freqtrackerreport.h"
#include "freqtrackerbaseband.h"
@ -30,7 +30,7 @@ FreqTrackerBaseband::FreqTrackerBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("FreqTrackerBaseband::FreqTrackerBaseband");
QObject::connect(

View File

@ -27,7 +27,7 @@
#include "freqtrackersink.h"
class DownSampleChannelizer;
class DownChannelizer;
class FreqTrackerBaseband : public QObject
{
@ -75,7 +75,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
FreqTrackerSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
FreqTrackerSettings m_settings;

View File

@ -17,7 +17,7 @@
#include <QDebug>
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
@ -33,7 +33,7 @@ LocalSinkBaseband::LocalSinkBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("LocalSinkBaseband::LocalSinkBaseband");
QObject::connect(

View File

@ -28,7 +28,7 @@
#include "localsinksink.h"
#include "localsinksettings.h"
class DownSampleChannelizer;
class DownChannelizer;
class LocalSinkBaseband : public QObject
{
@ -128,7 +128,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
LocalSinkSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
LocalSinkSettings m_settings;

View File

@ -17,7 +17,7 @@
#include <QDebug>
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
@ -29,7 +29,7 @@ RemoteSinkBaseband::RemoteSinkBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("RemoteSinkBaseband::RemoteSinkBaseband");
QObject::connect(

View File

@ -28,7 +28,7 @@
#include "remotesinksink.h"
#include "remotesinksettings.h"
class DownSampleChannelizer;
class DownChannelizer;
class RemoteSinkBaseband : public QObject
{
@ -71,7 +71,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
int m_basebandSampleRate;
RemoteSinkSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication

View File

@ -19,7 +19,7 @@
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/downsamplechannelizer.h"
#include "dsp/downchannelizer.h"
#include "udpsinkbaseband.h"
@ -30,7 +30,7 @@ UDPSinkBaseband::UDPSinkBaseband() :
m_mutex(QMutex::Recursive)
{
m_sampleFifo.setSize(SampleSinkFifo::getSizePolicy(48000));
m_channelizer = new DownSampleChannelizer(&m_sink);
m_channelizer = new DownChannelizer(&m_sink);
qDebug("WFMDemodBaseband::WFMDemodBaseband");
QObject::connect(

View File

@ -27,7 +27,7 @@
#include "udpsinksink.h"
class DownSampleChannelizer;
class DownChannelizer;
class UDPSinkBaseband : public QObject
{
@ -91,7 +91,7 @@ public:
private:
SampleSinkFifo m_sampleFifo;
DownSampleChannelizer *m_channelizer;
DownChannelizer *m_channelizer;
UDPSinkSink m_sink;
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
UDPSinkSettings m_settings;

View File

@ -62,7 +62,7 @@ set(sdrbase_SOURCES
dsp/afsquelch.cpp
dsp/agc.cpp
dsp/downsamplechannelizer.cpp
dsp/downchannelizer.cpp
dsp/upchannelizer.cpp
dsp/channelmarker.cpp
dsp/ctcssdetector.cpp
@ -177,7 +177,7 @@ set(sdrbase_HEADERS
dsp/afsquelch.h
dsp/autocorrector.h
dsp/downsamplechannelizer.h
dsp/downchannelizer.h
dsp/upchannelizer.h
dsp/channelmarker.h
dsp/channelsamplesink.h

View File

@ -22,9 +22,9 @@
#include "dsp/inthalfbandfilter.h"
#include "dsp/dspcommands.h"
#include "dsp/hbfilterchainconverter.h"
#include "downsamplechannelizer.h"
#include "downchannelizer.h"
DownSampleChannelizer::DownSampleChannelizer(ChannelSampleSink* sampleSink) :
DownChannelizer::DownChannelizer(ChannelSampleSink* sampleSink) :
m_filterChainSetMode(false),
m_sampleSink(sampleSink),
m_basebandSampleRate(0),
@ -37,12 +37,12 @@ DownSampleChannelizer::DownSampleChannelizer(ChannelSampleSink* sampleSink) :
{
}
DownSampleChannelizer::~DownSampleChannelizer()
DownChannelizer::~DownChannelizer()
{
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)
{
@ -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_requestedCenterFrequency = requestedCenterFrequency;
applyChannelization();
}
void DownSampleChannelizer::setBasebandSampleRate(int basebandSampleRate, bool decim)
void DownChannelizer::setBasebandSampleRate(int basebandSampleRate, bool decim)
{
m_basebandSampleRate = basebandSampleRate;
@ -105,13 +105,13 @@ void DownSampleChannelizer::setBasebandSampleRate(int basebandSampleRate, bool d
}
}
void DownSampleChannelizer::applyChannelization()
void DownChannelizer::applyChannelization()
{
m_filterChainSetMode = false;
if (m_basebandSampleRate == 0)
{
qDebug() << "DownSampleChannelizer::applyChannelization: aborting (in=0)"
qDebug() << "DownChannelizer::applyChannelization: aborting (in=0)"
<< " in (baseband):" << m_basebandSampleRate
<< " req:" << m_requestedOutputSampleRate
<< " out (channel):" << m_channelSampleRate
@ -127,21 +127,21 @@ void DownSampleChannelizer::applyChannelization()
m_channelSampleRate = m_basebandSampleRate / (1 << m_filterStages.size());
qDebug() << "DownSampleChannelizer::applyChannelization done:"
qDebug() << "DownChannelizer::applyChannelization done:"
<< " in (baseband):" << m_basebandSampleRate
<< " req:" << m_requestedOutputSampleRate
<< " out (channel):" << m_channelSampleRate
<< " 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_filterChainHash = filterChainHash;
applyDecimation();
}
void DownSampleChannelizer::applyDecimation()
void DownChannelizer::applyDecimation()
{
m_filterChainSetMode = true;
std::vector<unsigned int> stageIndexes;
@ -163,7 +163,7 @@ void DownSampleChannelizer::applyDecimation()
}
#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_workFunction(0),
m_mode(mode),
@ -184,7 +184,7 @@ DownSampleChannelizer::FilterStage::FilterStage(Mode mode) :
}
}
#else
DownSampleChannelizer::FilterStage::FilterStage(Mode mode) :
DownChannelizer::FilterStage::FilterStage(Mode mode) :
m_filter(new IntHalfbandFilterEO<qint32, qint32, DOWNCHANNELIZER_HB_FILTER_ORDER>),
m_workFunction(0),
m_mode(mode),
@ -206,12 +206,12 @@ DownSampleChannelizer::FilterStage::FilterStage(Mode mode) :
}
#endif
DownSampleChannelizer::FilterStage::~FilterStage()
DownChannelizer::FilterStage::~FilterStage()
{
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);
if(sigEnd <= sigStart)
@ -221,17 +221,17 @@ bool DownSampleChannelizer::signalContainsChannel(Real sigStart, Real sigEnd, Re
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 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
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));
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
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));
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
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));
return createFilterChain(sigStart + rot, sigEnd - rot, chanStart, chanEnd);
}
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;
}
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
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));
ofs -= ofs_stage;
qDebug("DownSampleChannelizer::setFilterChain: lower half: ofs: %f", ofs);
qDebug("DownChannelizer::setFilterChain: lower half: ofs: %f", ofs);
}
else if (*rit == 1)
{
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)
{
m_filterStages.push_back(new FilterStage(FilterStage::ModeUpperHalf));
ofs += ofs_stage;
qDebug("DownSampleChannelizer::setFilterChain: upper half: ofs: %f", ofs);
qDebug("DownChannelizer::setFilterChain: upper half: ofs: %f", ofs);
}
}
return ofs;
}
void DownSampleChannelizer::freeFilterChain()
void DownChannelizer::freeFilterChain()
{
for(FilterStages::iterator it = m_filterStages.begin(); it != m_filterStages.end(); ++it)
delete *it;
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)
{
switch ((*it)->m_mode)
{
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;
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;
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;
default:
qDebug("DownSampleChannelizer::debugFilterChain: none %s", (*it)->m_sse ? "sse" : "no_sse");
qDebug("DownChannelizer::debugFilterChain: none %s", (*it)->m_sse ? "sse" : "no_sse");
break;
}
}

View File

@ -16,8 +16,8 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
///////////////////////////////////////////////////////////////////////////////////
#ifndef SDRBASE_DSP_DOWNSAMPLECHANNELIZER_H
#define SDRBASE_DSP_DOWNSAMPLECHANNELIZER_H
#ifndef SDRBASE_DSP_DOWNCHANNELIZER_H
#define SDRBASE_DSP_DOWNCHANNELIZER_H
#include <list>
#include <vector>
@ -30,10 +30,10 @@
#define DOWNCHANNELIZER_HB_FILTER_ORDER 48
class SDRBASE_API DownSampleChannelizer : public ChannelSampleSink {
class SDRBASE_API DownChannelizer : public ChannelSampleSink {
public:
DownSampleChannelizer(ChannelSampleSink* sampleSink);
virtual ~DownSampleChannelizer();
DownChannelizer(ChannelSampleSink* sampleSink);
virtual ~DownChannelizer();
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);