summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorChristian Daniel <cd@maintech.de>2013-08-07 23:23:25 +0200
committerChristian Daniel <cd@maintech.de>2013-08-07 23:23:25 +0200
commitfb090cdfa91ae3ead3d23969d4fad3aab7caa8b1 (patch)
tree64a72c907d1da9e89674578249989be1d240f140 /plugins
parent37e6f6ff29f34d7dda7450ed41ef677d7a083eb5 (diff)
improve interpolator
Diffstat (limited to 'plugins')
-rw-r--r--plugins/demod/nfm/nfmdemod.cpp6
-rw-r--r--plugins/demod/tetra/tetrademod.cpp4
2 files changed, 5 insertions, 5 deletions
diff --git a/plugins/demod/nfm/nfmdemod.cpp b/plugins/demod/nfm/nfmdemod.cpp
index c6179ab..6330a16 100644
--- a/plugins/demod/nfm/nfmdemod.cpp
+++ b/plugins/demod/nfm/nfmdemod.cpp
@@ -35,7 +35,7 @@ NFMDemod::NFMDemod(AudioFifo* audioFifo, SampleSink* sampleSink) :
m_squelchLevel *= m_squelchLevel;
m_nco.setFreq(m_frequency, m_sampleRate);
- m_interpolator.create(1, 32, 32 * m_sampleRate, 12500);
+ m_interpolator.create(16, m_sampleRate, 12500);
m_sampleDistanceRemain = (Real)m_sampleRate / 44100.0;
m_lowpass.create(21, 44100, 3000);
@@ -123,7 +123,7 @@ bool NFMDemod::handleMessage(Message* cmd)
qDebug("%d samples/sec, %lld Hz offset", signal->getSampleRate(), signal->getFrequencyOffset());
m_sampleRate = signal->getSampleRate();
m_nco.setFreq(-signal->getFrequencyOffset(), m_sampleRate);
- m_interpolator.create(25, 32, 32 * m_sampleRate, m_rfBandwidth / 2.0);
+ m_interpolator.create(16, m_sampleRate, m_rfBandwidth / 2.1);
m_sampleDistanceRemain = m_sampleRate / 44100.0;
m_squelchState = 0;
cmd->completed();
@@ -131,7 +131,7 @@ bool NFMDemod::handleMessage(Message* cmd)
} else if(cmd->id() == MsgConfigureNFMDemod::ID()) {
MsgConfigureNFMDemod* cfg = (MsgConfigureNFMDemod*)cmd;
m_rfBandwidth = cfg->getRFBandwidth();
- m_interpolator.create(25, 32, 32 * m_sampleRate, m_rfBandwidth / 2.0);
+ m_interpolator.create(16, m_sampleRate, m_rfBandwidth / 2.1);
m_lowpass.create(21, 44100, cfg->getAFBandwidth());
m_squelchLevel = pow(10.0, cfg->getSquelch() / 20.0);
m_squelchLevel *= m_squelchLevel;
diff --git a/plugins/demod/tetra/tetrademod.cpp b/plugins/demod/tetra/tetrademod.cpp
index 4cf8ea1..f26810a 100644
--- a/plugins/demod/tetra/tetrademod.cpp
+++ b/plugins/demod/tetra/tetrademod.cpp
@@ -30,7 +30,7 @@ TetraDemod::TetraDemod(SampleSink* sampleSink) :
m_frequency = 0;
m_nco.setFreq(m_frequency, m_sampleRate);
- m_interpolator.create(1, 32, 32 * m_sampleRate, 36000);
+ m_interpolator.create(32, 32 * m_sampleRate, 36000);
m_sampleDistanceRemain = (Real)m_sampleRate / 36000.0;
}
@@ -87,7 +87,7 @@ bool TetraDemod::handleMessage(Message* cmd)
qDebug("%d samples/sec, %lld Hz offset", signal->getSampleRate(), signal->getFrequencyOffset());
m_sampleRate = signal->getSampleRate();
m_nco.setFreq(-signal->getFrequencyOffset(), m_sampleRate);
- m_interpolator.create(51, 32, 32 * m_sampleRate, 25000 / 2);
+ m_interpolator.create(32, m_sampleRate, 25000 / 2);
m_sampleDistanceRemain = m_sampleRate / 36000.0;
cmd->completed();
return true;