Cleanup / implement digital modem demod code
This commit is contained in:
parent
10aa9f86dd
commit
d6ffb6edc2
|
@ -29,9 +29,7 @@ protected:
|
|||
std::atomic_int demodulatorCons;
|
||||
bool currentDemodLock;
|
||||
int currentDemodCons;
|
||||
|
||||
int bufSize;
|
||||
|
||||
|
||||
// std::vector<unsigned int> demodOutputDataDigitalTest;
|
||||
// std::vector<unsigned char> demodOutputSoftbits;
|
||||
// std::vector<unsigned char> demodOutputSoftbitsTest;
|
||||
|
|
|
@ -26,9 +26,6 @@ ModemAPSK::~ModemAPSK() {
|
|||
}
|
||||
|
||||
void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
/*
|
||||
case DEMOD_TYPE_APSK:
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodAPSK = demodAPSK4;
|
||||
|
@ -67,10 +64,8 @@ void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *
|
|||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodAPSK, inp->data[i], &demodOutputDataDigital[i]);
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodAPSK, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodAPSK, 0.005f);
|
||||
break;
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -27,52 +27,47 @@ ModemASK::~ModemASK() {
|
|||
}
|
||||
|
||||
void ModemASK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_ASK:
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodASK = demodASK2;
|
||||
updateDemodulatorCons(2);
|
||||
break;
|
||||
case 4:
|
||||
demodASK = demodASK4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodASK = demodASK8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodASK = demodASK16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodASK = demodASK32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodASK = demodASK64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodASK = demodASK128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodASK = demodASK256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodASK = demodASK2;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodASK, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodASK, 0.005f);
|
||||
break;
|
||||
*/
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodASK = demodASK2;
|
||||
updateDemodulatorCons(2);
|
||||
break;
|
||||
case 4:
|
||||
demodASK = demodASK4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodASK = demodASK8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodASK = demodASK16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodASK = demodASK32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodASK = demodASK64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodASK = demodASK128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodASK = demodASK256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodASK = demodASK2;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodASK, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodASK, 0.005f);
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
ModemBPSK::ModemBPSK() {
|
||||
demodBPSK = modem_create(LIQUID_MODEM_BPSK);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Modem *ModemBPSK::factory() {
|
||||
|
@ -14,12 +14,8 @@ ModemBPSK::~ModemBPSK() {
|
|||
}
|
||||
|
||||
void ModemBPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
/*
|
||||
case DEMOD_TYPE_BPSK:
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodBPSK, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodBPSK, 0.005f);
|
||||
break;
|
||||
*/
|
||||
for (int i = 0, bufSize=input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodBPSK, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodBPSK, 0.005f);
|
||||
}
|
|
@ -28,52 +28,47 @@ ModemDPSK::~ModemDPSK() {
|
|||
}
|
||||
|
||||
void ModemDPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_DPSK:
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodDPSK = demodDPSK2;
|
||||
updateDemodulatorCons(2);
|
||||
break;
|
||||
case 4:
|
||||
demodDPSK = demodDPSK4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodDPSK = demodDPSK8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodDPSK = demodDPSK16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodDPSK = demodDPSK32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodDPSK = demodDPSK64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodDPSK = demodDPSK128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodDPSK = demodDPSK256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodDPSK = demodDPSK2;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodDPSK, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodDPSK, 0.005f);
|
||||
break;
|
||||
*/
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodDPSK = demodDPSK2;
|
||||
updateDemodulatorCons(2);
|
||||
break;
|
||||
case 4:
|
||||
demodDPSK = demodDPSK4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodDPSK = demodDPSK8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodDPSK = demodDPSK16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodDPSK = demodDPSK32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodDPSK = demodDPSK64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodDPSK = demodDPSK128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodDPSK = demodDPSK256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodDPSK = demodDPSK2;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodDPSK, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodDPSK, 0.005f);
|
||||
}
|
|
@ -13,13 +13,9 @@ ModemOOK::~ModemOOK() {
|
|||
}
|
||||
|
||||
void ModemOOK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_OOK:
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodOOK, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodOOK, 0.005f);
|
||||
break;
|
||||
*/
|
||||
|
||||
for (int i = 0, bufSize=input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodOOK, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodOOK, 0.005f);
|
||||
}
|
|
@ -29,52 +29,47 @@ ModemPSK::~ModemPSK() {
|
|||
}
|
||||
|
||||
void ModemPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_PSK:
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodPSK = demodPSK2;
|
||||
updateDemodulatorCons(2);
|
||||
break;
|
||||
case 4:
|
||||
demodPSK = demodPSK4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodPSK = demodPSK8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodPSK = demodPSK16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodPSK = demodPSK32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodPSK = demodPSK64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodPSK = demodPSK128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodPSK = demodPSK256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodPSK = demodPSK2;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodPSK, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodPSK, 0.005f);
|
||||
break;
|
||||
*/
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodPSK = demodPSK2;
|
||||
updateDemodulatorCons(2);
|
||||
break;
|
||||
case 4:
|
||||
demodPSK = demodPSK4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodPSK = demodPSK8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodPSK = demodPSK16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodPSK = demodPSK32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodPSK = demodPSK64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodPSK = demodPSK128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodPSK = demodPSK256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodPSK = demodPSK2;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodPSK, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodPSK, 0.005f);
|
||||
}
|
|
@ -26,52 +26,48 @@ ModemQAM::~ModemQAM() {
|
|||
}
|
||||
|
||||
void ModemQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_QAM:
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodQAM = demodQAM4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 4:
|
||||
demodQAM = demodQAM4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodQAM = demodQAM8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodQAM = demodQAM16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodQAM = demodQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodQAM = demodQAM64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodQAM = demodQAM128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodQAM = demodQAM256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodQAM = demodQAM4;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodQAM, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodQAM, 0.5f);
|
||||
break;
|
||||
*/
|
||||
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodQAM = demodQAM4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 4:
|
||||
demodQAM = demodQAM4;
|
||||
updateDemodulatorCons(4);
|
||||
break;
|
||||
case 8:
|
||||
demodQAM = demodQAM8;
|
||||
updateDemodulatorCons(8);
|
||||
break;
|
||||
case 16:
|
||||
demodQAM = demodQAM16;
|
||||
updateDemodulatorCons(16);
|
||||
break;
|
||||
case 32:
|
||||
demodQAM = demodQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodQAM = demodQAM64;
|
||||
updateDemodulatorCons(64);
|
||||
break;
|
||||
case 128:
|
||||
demodQAM = demodQAM128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodQAM = demodQAM256;
|
||||
updateDemodulatorCons(256);
|
||||
break;
|
||||
default:
|
||||
demodQAM = demodQAM4;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodQAM, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodQAM, 0.5f);
|
||||
}
|
||||
|
|
|
@ -13,13 +13,9 @@ ModemQPSK::~ModemQPSK() {
|
|||
}
|
||||
|
||||
void ModemQPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_QPSK:
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodQPSK, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodQPSK, 0.8f);
|
||||
break;
|
||||
*/
|
||||
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodQPSK, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodQPSK, 0.8f);
|
||||
}
|
|
@ -16,52 +16,47 @@ ModemSQAM::~ModemSQAM() {
|
|||
}
|
||||
|
||||
void ModemSQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_SQAM:
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 4:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 8:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 16:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 32:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 128:
|
||||
demodSQAM = demodSQAM128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodSQAM = demodSQAM128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
default:
|
||||
demodSQAM = demodSQAM32;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodSQAM, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodSQAM, 0.005f);
|
||||
break;
|
||||
*/
|
||||
|
||||
switch (demodulatorCons.load()) {
|
||||
case 2:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 4:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 8:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 16:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 32:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 64:
|
||||
demodSQAM = demodSQAM32;
|
||||
updateDemodulatorCons(32);
|
||||
break;
|
||||
case 128:
|
||||
demodSQAM = demodSQAM128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
case 256:
|
||||
demodSQAM = demodSQAM128;
|
||||
updateDemodulatorCons(128);
|
||||
break;
|
||||
default:
|
||||
demodSQAM = demodSQAM32;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodSQAM, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodSQAM, 0.005f);
|
||||
}
|
|
@ -14,14 +14,9 @@ ModemST::~ModemST() {
|
|||
}
|
||||
|
||||
void ModemST::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
|
||||
|
||||
/*
|
||||
case DEMOD_TYPE_ST:
|
||||
for (int i = 0; i < bufSize; i++) {
|
||||
modem_demodulate(demodST, inp->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodST, 0.005f);
|
||||
break;
|
||||
|
||||
*/
|
||||
|
||||
for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
modem_demodulate(demodST, input->data[i], &demodOutputDataDigital[i]);
|
||||
}
|
||||
updateDemodulatorLock(demodST, 0.005f);
|
||||
}
|
Loading…
Reference in New Issue