Cleanup / implement digital modem demod code

This commit is contained in:
Charles J. Cliffe 2015-11-18 21:31:59 -05:00
parent 10aa9f86dd
commit d6ffb6edc2
11 changed files with 239 additions and 287 deletions

View File

@ -30,8 +30,6 @@ protected:
bool currentDemodLock; bool currentDemodLock;
int currentDemodCons; int currentDemodCons;
int bufSize;
// std::vector<unsigned int> demodOutputDataDigitalTest; // std::vector<unsigned int> demodOutputDataDigitalTest;
// std::vector<unsigned char> demodOutputSoftbits; // std::vector<unsigned char> demodOutputSoftbits;
// std::vector<unsigned char> demodOutputSoftbitsTest; // std::vector<unsigned char> demodOutputSoftbitsTest;

View File

@ -26,9 +26,6 @@ ModemAPSK::~ModemAPSK() {
} }
void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/*
case DEMOD_TYPE_APSK:
switch (demodulatorCons.load()) { switch (demodulatorCons.load()) {
case 2: case 2:
demodAPSK = demodAPSK4; demodAPSK = demodAPSK4;
@ -67,10 +64,8 @@ void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *
break; break;
} }
for (int i = 0; i < bufSize; i++) { for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
modem_demodulate(demodAPSK, inp->data[i], &demodOutputDataDigital[i]); modem_demodulate(demodAPSK, input->data[i], &demodOutputDataDigital[i]);
} }
updateDemodulatorLock(demodAPSK, 0.005f); updateDemodulatorLock(demodAPSK, 0.005f);
break;
*/
} }

View File

@ -28,10 +28,7 @@ ModemASK::~ModemASK() {
void ModemASK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemASK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* switch (demodulatorCons.load()) {
case DEMOD_TYPE_ASK:
switch (demodulatorCons.load()) {
case 2: case 2:
demodASK = demodASK2; demodASK = demodASK2;
updateDemodulatorCons(2); updateDemodulatorCons(2);
@ -67,12 +64,10 @@ switch (demodulatorCons.load()) {
default: default:
demodASK = demodASK2; demodASK = demodASK2;
break; break;
} }
for (int i = 0; i < bufSize; i++) { for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
modem_demodulate(demodASK, inp->data[i], &demodOutputDataDigital[i]); modem_demodulate(demodASK, input->data[i], &demodOutputDataDigital[i]);
} }
updateDemodulatorLock(demodASK, 0.005f); updateDemodulatorLock(demodASK, 0.005f);
break;
*/
} }

View File

@ -14,12 +14,8 @@ ModemBPSK::~ModemBPSK() {
} }
void ModemBPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemBPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* for (int i = 0, bufSize=input->data.size(); i < bufSize; i++) {
case DEMOD_TYPE_BPSK: modem_demodulate(demodBPSK, input->data[i], &demodOutputDataDigital[i]);
for (int i = 0; i < bufSize; i++) { }
modem_demodulate(demodBPSK, inp->data[i], &demodOutputDataDigital[i]); updateDemodulatorLock(demodBPSK, 0.005f);
}
updateDemodulatorLock(demodBPSK, 0.005f);
break;
*/
} }

View File

@ -29,10 +29,7 @@ ModemDPSK::~ModemDPSK() {
void ModemDPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemDPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* switch (demodulatorCons.load()) {
case DEMOD_TYPE_DPSK:
switch (demodulatorCons.load()) {
case 2: case 2:
demodDPSK = demodDPSK2; demodDPSK = demodDPSK2;
updateDemodulatorCons(2); updateDemodulatorCons(2);
@ -68,12 +65,10 @@ switch (demodulatorCons.load()) {
default: default:
demodDPSK = demodDPSK2; demodDPSK = demodDPSK2;
break; break;
} }
for (int i = 0; i < bufSize; i++) { for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
modem_demodulate(demodDPSK, inp->data[i], &demodOutputDataDigital[i]); modem_demodulate(demodDPSK, input->data[i], &demodOutputDataDigital[i]);
} }
updateDemodulatorLock(demodDPSK, 0.005f); updateDemodulatorLock(demodDPSK, 0.005f);
break;
*/
} }

View File

@ -14,12 +14,8 @@ ModemOOK::~ModemOOK() {
void ModemOOK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemOOK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* for (int i = 0, bufSize=input->data.size(); i < bufSize; i++) {
case DEMOD_TYPE_OOK: modem_demodulate(demodOOK, input->data[i], &demodOutputDataDigital[i]);
for (int i = 0; i < bufSize; i++) { }
modem_demodulate(demodOOK, inp->data[i], &demodOutputDataDigital[i]); updateDemodulatorLock(demodOOK, 0.005f);
}
updateDemodulatorLock(demodOOK, 0.005f);
break;
*/
} }

View File

@ -30,10 +30,7 @@ ModemPSK::~ModemPSK() {
void ModemPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* switch (demodulatorCons.load()) {
case DEMOD_TYPE_PSK:
switch (demodulatorCons.load()) {
case 2: case 2:
demodPSK = demodPSK2; demodPSK = demodPSK2;
updateDemodulatorCons(2); updateDemodulatorCons(2);
@ -69,12 +66,10 @@ switch (demodulatorCons.load()) {
default: default:
demodPSK = demodPSK2; demodPSK = demodPSK2;
break; break;
} }
for (int i = 0; i < bufSize; i++) { for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
modem_demodulate(demodPSK, inp->data[i], &demodOutputDataDigital[i]); modem_demodulate(demodPSK, input->data[i], &demodOutputDataDigital[i]);
} }
updateDemodulatorLock(demodPSK, 0.005f); updateDemodulatorLock(demodPSK, 0.005f);
break;
*/
} }

View File

@ -27,10 +27,8 @@ ModemQAM::~ModemQAM() {
void ModemQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/*
case DEMOD_TYPE_QAM:
switch (demodulatorCons.load()) { switch (demodulatorCons.load()) {
case 2: case 2:
demodQAM = demodQAM4; demodQAM = demodQAM4;
updateDemodulatorCons(4); updateDemodulatorCons(4);
@ -66,12 +64,10 @@ switch (demodulatorCons.load()) {
default: default:
demodQAM = demodQAM4; demodQAM = demodQAM4;
break; break;
} }
for (int i = 0; i < bufSize; i++) { for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
modem_demodulate(demodQAM, inp->data[i], &demodOutputDataDigital[i]); modem_demodulate(demodQAM, input->data[i], &demodOutputDataDigital[i]);
} }
updateDemodulatorLock(demodQAM, 0.5f); updateDemodulatorLock(demodQAM, 0.5f);
break;
*/
} }

View File

@ -14,12 +14,8 @@ ModemQPSK::~ModemQPSK() {
void ModemQPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemQPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
case DEMOD_TYPE_QPSK: modem_demodulate(demodQPSK, input->data[i], &demodOutputDataDigital[i]);
for (int i = 0; i < bufSize; i++) { }
modem_demodulate(demodQPSK, inp->data[i], &demodOutputDataDigital[i]); updateDemodulatorLock(demodQPSK, 0.8f);
}
updateDemodulatorLock(demodQPSK, 0.8f);
break;
*/
} }

View File

@ -17,10 +17,7 @@ ModemSQAM::~ModemSQAM() {
void ModemSQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemSQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* switch (demodulatorCons.load()) {
case DEMOD_TYPE_SQAM:
switch (demodulatorCons.load()) {
case 2: case 2:
demodSQAM = demodSQAM32; demodSQAM = demodSQAM32;
updateDemodulatorCons(32); updateDemodulatorCons(32);
@ -56,12 +53,10 @@ switch (demodulatorCons.load()) {
default: default:
demodSQAM = demodSQAM32; demodSQAM = demodSQAM32;
break; break;
} }
for (int i = 0; i < bufSize; i++) { for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
modem_demodulate(demodSQAM, inp->data[i], &demodOutputDataDigital[i]); modem_demodulate(demodSQAM, input->data[i], &demodOutputDataDigital[i]);
} }
updateDemodulatorLock(demodSQAM, 0.005f); updateDemodulatorLock(demodSQAM, 0.005f);
break;
*/
} }

View File

@ -15,13 +15,8 @@ ModemST::~ModemST() {
void ModemST::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) { void ModemST::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) {
/* for (int i = 0, bufSize = input->data.size(); i < bufSize; i++) {
case DEMOD_TYPE_ST: modem_demodulate(demodST, input->data[i], &demodOutputDataDigital[i]);
for (int i = 0; i < bufSize; i++) { }
modem_demodulate(demodST, inp->data[i], &demodOutputDataDigital[i]); updateDemodulatorLock(demodST, 0.005f);
}
updateDemodulatorLock(demodST, 0.005f);
break;
*/
} }