diff --git a/plugins/channel/nfm/nfmdemod.cpp b/plugins/channel/nfm/nfmdemod.cpp
index 359bf090f..d9bbc08d9 100644
--- a/plugins/channel/nfm/nfmdemod.cpp
+++ b/plugins/channel/nfm/nfmdemod.cpp
@@ -36,9 +36,9 @@ NFMDemod::NFMDemod(AudioFifo* audioFifo, SampleSink* sampleSink) :
m_nco.setFreq(m_frequency, m_sampleRate);
m_interpolator.create(16, m_sampleRate, 12500);
- m_sampleDistanceRemain = (Real)m_sampleRate / 44100.0;
+ m_sampleDistanceRemain = (Real)m_sampleRate / 48000.0;
- m_lowpass.create(21, 44100, 3000);
+ m_lowpass.create(21, 48000, 3000);
m_audioBuffer.resize(256);
m_audioBufferFill = 0;
@@ -96,7 +96,7 @@ void NFMDemod::feed(SampleVector::const_iterator begin, SampleVector::const_iter
}
}
- m_sampleDistanceRemain += (Real)m_sampleRate / 44100.0;
+ m_sampleDistanceRemain += (Real)m_sampleRate / 48000.0;
}
}
if(m_audioFifo->write((const quint8*)&m_audioBuffer[0], m_audioBufferFill, 0) != m_audioBufferFill)
@@ -125,7 +125,7 @@ bool NFMDemod::handleMessage(Message* cmd)
m_sampleRate = signal->getSampleRate();
m_nco.setFreq(-signal->getFrequencyOffset(), m_sampleRate);
m_interpolator.create(16, m_sampleRate, m_rfBandwidth / 2.1);
- m_sampleDistanceRemain = m_sampleRate / 44100.0;
+ m_sampleDistanceRemain = m_sampleRate / 48000.0;
m_squelchState = 0;
cmd->completed();
return true;
@@ -133,7 +133,7 @@ bool NFMDemod::handleMessage(Message* cmd)
MsgConfigureNFMDemod* cfg = (MsgConfigureNFMDemod*)cmd;
m_rfBandwidth = cfg->getRFBandwidth();
m_interpolator.create(16, m_sampleRate, m_rfBandwidth / 2.1);
- m_lowpass.create(21, 44100, cfg->getAFBandwidth());
+ m_lowpass.create(21, 48000, cfg->getAFBandwidth());
m_squelchLevel = pow(10.0, cfg->getSquelch() / 20.0);
m_squelchLevel *= m_squelchLevel;
m_volume = cfg->getVolume();
diff --git a/plugins/channel/nfm/nfmdemodgui.cpp b/plugins/channel/nfm/nfmdemodgui.cpp
index 53f2de0f6..446fbcae6 100644
--- a/plugins/channel/nfm/nfmdemodgui.cpp
+++ b/plugins/channel/nfm/nfmdemodgui.cpp
@@ -155,7 +155,7 @@ NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) :
connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
- m_audioFifo = new AudioFifo(4, 44100 / 4);
+ m_audioFifo = new AudioFifo(4, 48000 / 4);
m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_nfmDemod = new NFMDemod(m_audioFifo, m_spectrumVis);
m_channelizer = new Channelizer(m_nfmDemod);
@@ -164,7 +164,7 @@ NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) :
m_pluginAPI->addSampleSink(m_threadedSampleSink);
ui->glSpectrum->setCenterFrequency(0);
- ui->glSpectrum->setSampleRate(44100);
+ ui->glSpectrum->setSampleRate(48000);
ui->glSpectrum->setDisplayWaterfall(true);
ui->glSpectrum->setDisplayMaxHold(true);
m_spectrumVis->configure(m_threadedSampleSink->getMessageQueue(), 64, 10, FFTWindow::BlackmanHarris);
@@ -200,7 +200,7 @@ void NFMDemodGUI::applySettings()
{
setTitleColor(m_channelMarker->getColor());
m_channelizer->configure(m_threadedSampleSink->getMessageQueue(),
- 44100,
+ 48000,
m_channelMarker->getCenterFrequency());
m_nfmDemod->configure(m_threadedSampleSink->getMessageQueue(),
m_rfBW[ui->rfBW->value()],
diff --git a/sdrbase/dsp/channelizer.cpp b/sdrbase/dsp/channelizer.cpp
index 2028a0fca..d57ef8b5d 100644
--- a/sdrbase/dsp/channelizer.cpp
+++ b/sdrbase/dsp/channelizer.cpp
@@ -173,8 +173,6 @@ void Channelizer::freeFilterChain()
m_filterStages.clear();
}
-#if 0
-
///////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
// written by Christian Daniel //
@@ -191,138 +189,3 @@ void Channelizer::freeFilterChain()
// You should have received a copy of the GNU General Public License //
// along with this program. If not, see . //
///////////////////////////////////////////////////////////////////////////////////
-
-#include
-#include
-#include "channelizer.h"
-#include "hardware/audiooutput.h"
-
-Channelizer::Channelizer()
-{
-#if 0
- m_spectrum.configure(128 , 25, FFTWindow::Bartlett);
- m_buffer.resize(2048);
- m_bufferFill = 0;
- m_nco.setFreq(-100000, 500000);
- m_interpolator.create(51, 32, 32 * 500000, 150000 / 2);
- m_distance = 500000.0 / 176400.0;
-
- m_interpolator2.create(19, 8, 8 * 176400, 15000 / 2);
- m_distance2 = 4;
-
- m_audioFifo.setSize(4, 44100 / 2 * 4);
- m_audioOutput = new AudioOutput;
- m_audioOutput->start(0, 44100, &m_audioFifo);
- m_resampler = 1.0;
-
- m_resamplerCtrl.setup(0.00001, 0, -0.00001);
-#endif
-}
-
-Channelizer::~Channelizer()
-{
-#if 0
- m_audioOutput->stop();
- delete m_audioOutput;
-#endif
-}
-
-#if 0
-void Channelizer::setGLSpectrum(GLSpectrum* glSpectrum)
-{
- m_spectrum.setGLSpectrum(glSpectrum);
-}
-#endif
-
-size_t Channelizer::workUnitSize()
-{
-#if 0
- return m_buffer.size();
-#endif
- return 0;
-}
-
-size_t Channelizer::work(SampleVector::const_iterator begin, SampleVector::const_iterator end)
-{
-#if 0
- int buffered = m_audioOutput->bufferedSamples();
-
- if(m_audioFifo.fill() < (m_audioFifo.size() / 6)) {
- while(m_audioFifo.fill() < (m_audioFifo.size() / 2)) {
- quint32 d = 0;
- m_audioFifo.write((quint8*)&d, 4);
- }
- qDebug("underflow - fill %d (vs %d)", m_audioFifo.fill(), m_audioFifo.size() / 4 / 2);
- }
-
- buffered = m_audioOutput->bufferedSamples();
- int fill = m_audioFifo.fill() / 4 + buffered;
- float err = (float)fill / ((m_audioFifo.size() / 4) / 2);
-
- float ctrl = m_resamplerCtrl.feed(err);
- //float resamplerRate = (ctrl / 1.0);
- float resamplerRate = err;
-
- if(resamplerRate < 0.9999)
- resamplerRate = 0.9999;
- else if(resamplerRate > 1.0001)
- resamplerRate = 1.0001;
- m_resampler = m_resampler * 0.99 + resamplerRate * 0.01;
- //m_resampler = resamplerRate;
-
- if(m_resampler < 0.995)
- m_resampler = 0.995;
- else if(m_resampler > 1.005)
- m_resampler = 1.005;
-
- //qDebug("%lld %5d %f %f %f", QDateTime::currentMSecsSinceEpoch(), fill, ctrl, m_resampler, err);
-
- struct AudioSample {
- qint16 l;
- qint16 r;
- };
-
- size_t count = end - begin;
- Complex ci;
- bool consumed;
- bool consumed2;
-
- for(SampleVector::const_iterator it = begin; it < end; it++) {
- Complex c(it->real() / 32768.0, it->imag() / 32768.0);
- c *= m_nco.nextIQ();
-
- consumed = false;
- if(m_interpolator.interpolate(&m_distance, c, &consumed, &ci)) {
-
- Complex d = ci * conj(m_lastSample);
- m_lastSample = ci;
- //Complex demod(atan2(d.imag(), d.real()) * 0.5, 0);
- Real demod = atan2(d.imag(), d.real()) / M_PI;
-
- consumed2 = false;
- c = Complex(demod, 0);
- while(!consumed2) {
- if(m_interpolator2.interpolate(&m_distance2, c, &consumed2, &ci)) {
- m_buffer[m_bufferFill++] = Sample(ci.real() * 32767.0, 0.0);
-
- AudioSample s;
- s.l = ci.real() * 32767.0;
- s.r = s.l;
- m_audioFifo.write((quint8*)&s, 4, 1);
-
- if(m_bufferFill >= m_buffer.size()) {
- m_spectrum.feed(m_buffer.begin(), m_buffer.end());
- m_bufferFill = 0;
- }
- m_distance2 += 4.0 * m_resampler;
- }
- }
- m_distance += 500000 / 176400.0;
- }
- }
-
- return count;
-#endif
-}
-
-#endif
diff --git a/sdrbase/dsp/dspengine.cpp b/sdrbase/dsp/dspengine.cpp
index 3e805ec38..f254763ce 100644
--- a/sdrbase/dsp/dspengine.cpp
+++ b/sdrbase/dsp/dspengine.cpp
@@ -301,7 +301,7 @@ DSPEngine::State DSPEngine::gotoRunning()
return gotoError("Could not start sample source");
m_deviceDescription = m_sampleSource->getDeviceDescription();
- m_audioOutput.start(0, 44100);
+ m_audioOutput.start(0, 48000);
for(SampleSinks::const_iterator it = m_sampleSinks.begin(); it != m_sampleSinks.end(); it++)
(*it)->start();
m_sampleRate = 0; // make sure, report is sent