added rx888

This commit is contained in:
Ryzerth
2020-11-12 00:53:38 +01:00
parent 0a5fd5c271
commit 02ae50905d
37 changed files with 6038 additions and 85 deletions

View File

@ -45,6 +45,8 @@ void SigPath::init(std::string vfoName, uint64_t sampleRate, int blockSize) {
amDemod.init(vfo->output);
ssbDemod.init(vfo->output, 6000, 3000, dsp::SSBDemod::MODE_USB);
agc.init(&amDemod.out, 1.0f / 125.0f);
audioWin.init(24000, 24000, 200000);
audioResamp.init(&demod.out, &audioWin, 200000, 48000);
audioWin.setSampleRate(audioResamp.getInterpolation() * 200000);
@ -82,6 +84,7 @@ void SigPath::setDemodulator(int demId, float bandWidth) {
demod.stop();
}
else if (_demod == DEMOD_AM) {
agc.stop();
amDemod.stop();
}
else if (_demod == DEMOD_USB) {
@ -139,7 +142,7 @@ void SigPath::setDemodulator(int demId, float bandWidth) {
else if (demId == DEMOD_AM) {
demodOutputSamplerate = 125000;
vfo->setSampleRate(12500, bandwidth);
audioResamp.setInput(&amDemod.out);
audioResamp.setInput(&agc.out);
audioBw = std::min<float>(bandwidth, outputSampleRate / 2.0f);
audioResamp.setInSampleRate(12500);
@ -150,6 +153,7 @@ void SigPath::setDemodulator(int demId, float bandWidth) {
deemp.bypass = true;
vfo->setReference(ImGui::WaterfallVFO::REF_CENTER);
agc.start();
amDemod.start();
}
else if (demId == DEMOD_USB) {

View File

@ -1,18 +1,13 @@
#pragma once
#include <dsp/filter.h>
#include <dsp/resampling.h>
#include <dsp/source.h>
#include <dsp/math.h>
#include <dsp/demodulator.h>
#include <dsp/routing.h>
#include <dsp/sink.h>
#include <dsp/vfo.h>
#include <dsp/block.h>
#include <dsp/filter.h>
#include <dsp/window.h>
#include <dsp/audio.h>
#include <io/audio.h>
#include <module.h>
#include <signal_path/signal_path.h>
#include <dsp/processing.h>
class SigPath {
public:
@ -58,13 +53,14 @@ private:
dsp::AMDemod amDemod;
dsp::SSBDemod ssbDemod;
// Gain control
dsp::AGC agc;
// Audio output
dsp::MonoToStereo m2s;
dsp::filter_window::BlackmanWindow audioWin;
dsp::PolyphaseResampler<float> audioResamp;
dsp::NullSink<float> ns;
std::string vfoName;
float sampleRate;