25 lines
577 B
C
Raw Normal View History

// Copyright (c) Charles J. Cliffe
// SPDX-License-Identifier: GPL-2.0+
#pragma once
#include "ModemAnalog.h"
class ModemUSB : public ModemAnalog {
public:
ModemUSB();
2021-04-04 22:16:44 -04:00
~ModemUSB() override;
2021-04-04 22:16:44 -04:00
std::string getName() override;
static ModemBase *factory();
2021-04-04 22:16:44 -04:00
int checkSampleRate(long long sampleRate, int audioSampleRate) override;
int getDefaultSampleRate() override;
2021-04-04 22:16:44 -04:00
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private:
2016-02-04 22:22:19 -05:00
iirfilt_crcf ssbFilt;
firhilbf c2rFilt;
2016-01-10 16:22:19 -05:00
nco_crcf ssbShift;
};