SSB demod: implement DSB filter

pull/6/head
f4exb 2015-12-26 03:56:28 +01:00
rodzic 10c7e1e442
commit 332fe54b6a
2 zmienionych plików z 5 dodań i 4 usunięć

Wyświetl plik

@ -54,16 +54,15 @@ SSBDemod::SSBDemod(SampleSink* sampleSink) :
m_usb = true;
m_magsq = 0.0f;
SSBFilter = new fftfilt(m_LowCutoff / m_audioSampleRate, m_Bandwidth / m_audioSampleRate, ssbFftLen);
DSBFilter = new fftfilt((2.0f * m_Bandwidth) / m_audioSampleRate, 2 * ssbFftLen);
DSPEngine::instance()->addAudioSink(&m_audioFifo);
}
SSBDemod::~SSBDemod()
{
if (SSBFilter)
{
delete SSBFilter;
}
if (SSBFilter) delete SSBFilter;
if (DSBFilter) delete DSBFilter;
DSPEngine::instance()->removeAudioSink(&m_audioFifo);
}
@ -239,6 +238,7 @@ bool SSBDemod::handleMessage(const Message& cmd)
m_interpolator.create(16, m_sampleRate, band * 2.0f);
SSBFilter->create_filter(m_LowCutoff / (float) m_audioSampleRate, m_Bandwidth / (float) m_audioSampleRate);
DSBFilter->create_dsb_filter((2.0f * m_Bandwidth) / (float) m_audioSampleRate);
m_volume = cfg.getVolume();
m_volume *= m_volume * 0.1;

Wyświetl plik

@ -125,6 +125,7 @@ private:
Interpolator m_interpolator;
Real m_sampleDistanceRemain;
fftfilt* SSBFilter;
fftfilt* DSBFilter;
SampleSink* m_sampleSink;
SampleVector m_sampleBuffer;