digital modem wrap-up and re-connect

- Compiles but untested
This commit is contained in:
Charles J. Cliffe
2015-11-18 23:40:30 -05:00
parent 001f4ee23b
commit dfd7496175
45 changed files with 162 additions and 36 deletions
+4
View File
@@ -8,6 +8,10 @@ Modem *ModemAM::factory() {
return new ModemAM;
}
std::string ModemAM::getName() {
return "AM";
}
void ModemAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
ModemKitAnalog *amkit = (ModemKitAnalog *)kit;
+1
View File
@@ -5,6 +5,7 @@
class ModemAM : public ModemAnalog {
public:
ModemAM();
std::string getName();
Modem *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
+4
View File
@@ -8,6 +8,10 @@ Modem *ModemDSB::factory() {
return new ModemDSB;
}
std::string ModemDSB::getName() {
return "DSB";
}
void ModemDSB::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
ModemKitAnalog *amkit = (ModemKitAnalog *)kit;
+1
View File
@@ -5,6 +5,7 @@
class ModemDSB : public ModemAnalog {
public:
ModemDSB();
std::string getName();
Modem *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
+4
View File
@@ -8,6 +8,10 @@ Modem *ModemFM::factory() {
return new ModemFM;
}
std::string ModemFM::getName() {
return "FM";
}
void ModemFM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
ModemKitAnalog *fmkit = (ModemKitAnalog *)kit;
+1
View File
@@ -5,6 +5,7 @@
class ModemFM : public ModemAnalog {
public:
ModemFM();
std::string getName();
Modem *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
@@ -18,6 +18,14 @@ ModemFMStereo::~ModemFMStereo() {
nco_crcf_destroy(stereoPilot);
}
std::string ModemFMStereo::getType() {
return "analog";
}
std::string ModemFMStereo::getName() {
return "FMS";
}
Modem *ModemFMStereo::factory() {
return new ModemFMStereo;
}
+2
View File
@@ -20,6 +20,8 @@ class ModemFMStereo : public Modem {
public:
ModemFMStereo();
~ModemFMStereo();
std::string getType();
std::string getName();
Modem *factory();
ModemKit *buildKit(long long sampleRate, int audioSampleRate);
void disposeKit(ModemKit *kit);
+8
View File
@@ -13,6 +13,14 @@ ModemKit *ModemIQ::buildKit(long long sampleRate, int audioSampleRate) {
return kit;
}
std::string ModemIQ::getType() {
return "analog";
}
std::string ModemIQ::getName() {
return "I/Q";
}
void ModemIQ::disposeKit(ModemKit *kit) {
delete kit;
}
+2
View File
@@ -4,6 +4,8 @@
class ModemIQ : public Modem {
public:
ModemIQ();
std::string getType();
std::string getName();
Modem *factory();
ModemKit *buildKit(long long sampleRate, int audioSampleRate);
void disposeKit(ModemKit *kit);
+4
View File
@@ -10,6 +10,10 @@ Modem *ModemLSB::factory() {
return new ModemLSB;
}
std::string ModemLSB::getName() {
return "LSB";
}
ModemLSB::~ModemLSB() {
resamp2_crcf_destroy(ssbFilt);
ampmodem_destroy(demodAM_LSB);
+1
View File
@@ -6,6 +6,7 @@ class ModemLSB : public ModemAnalog {
public:
ModemLSB();
~ModemLSB();
std::string getName();
Modem *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
+4
View File
@@ -10,6 +10,10 @@ Modem *ModemUSB::factory() {
return new ModemUSB;
}
std::string ModemUSB::getName() {
return "USB";
}
ModemUSB::~ModemUSB() {
resamp2_crcf_destroy(ssbFilt);
ampmodem_destroy(demodAM_USB);
+1
View File
@@ -5,6 +5,7 @@ class ModemUSB : public ModemAnalog {
public:
ModemUSB();
~ModemUSB();
std::string getName();
Modem *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);