Disable sample imbalance-carry patch

Seems to be causing a problem with peak gains between samples causing
pops, and it’s no longer necessary for SSB
This commit is contained in:
Charles J. Cliffe 2015-02-23 00:44:04 -05:00
parent a7a4ba9d29
commit 40938a3619

View File

@ -70,8 +70,8 @@ void DemodulatorPreThread::threadMain() {
std::vector<liquid_float_complex> in_buf_data; std::vector<liquid_float_complex> in_buf_data;
std::vector<liquid_float_complex> out_buf_data; std::vector<liquid_float_complex> out_buf_data;
liquid_float_complex carrySample; // Keep the stream count even to simplify some demod operations // liquid_float_complex carrySample; // Keep the stream count even to simplify some demod operations
bool carrySampleFlag = false; // bool carrySampleFlag = false;
terminated = false; terminated = false;
@ -200,27 +200,29 @@ void DemodulatorPreThread::threadMain() {
resamp->setRefCount(1); resamp->setRefCount(1);
bool uneven = (numWritten % 2 != 0); resamp->data.assign(resampledData.begin(), resampledData.begin() + numWritten);
if (!carrySampleFlag && !uneven) { // bool uneven = (numWritten % 2 != 0);
resamp->data.assign(resampledData.begin(), resampledData.begin() + numWritten);
carrySampleFlag = false; // if (!carrySampleFlag && !uneven) {
} else if (!carrySampleFlag && uneven) { // resamp->data.assign(resampledData.begin(), resampledData.begin() + numWritten);
resamp->data.assign(resampledData.begin(), resampledData.begin() + (numWritten-1)); // carrySampleFlag = false;
carrySample = resampledData.back(); // } else if (!carrySampleFlag && uneven) {
carrySampleFlag = true; // resamp->data.assign(resampledData.begin(), resampledData.begin() + (numWritten-1));
} else if (carrySampleFlag && uneven) { // carrySample = resampledData.back();
resamp->data.resize(numWritten+1); // carrySampleFlag = true;
resamp->data[0] = carrySample; // } else if (carrySampleFlag && uneven) {
memcpy(&resamp->data[1],&resampledData[0],sizeof(liquid_float_complex)*numWritten); // resamp->data.resize(numWritten+1);
carrySampleFlag = false; // resamp->data[0] = carrySample;
} else if (carrySampleFlag && !uneven) { // memcpy(&resamp->data[1],&resampledData[0],sizeof(liquid_float_complex)*numWritten);
resamp->data.resize(numWritten); // carrySampleFlag = false;
resamp->data[0] = carrySample; // } else if (carrySampleFlag && !uneven) {
memcpy(&resamp->data[1],&resampledData[0],sizeof(liquid_float_complex)*(numWritten-1)); // resamp->data.resize(numWritten);
carrySample = resampledData.back(); // resamp->data[0] = carrySample;
carrySampleFlag = true; // memcpy(&resamp->data[1],&resampledData[0],sizeof(liquid_float_complex)*(numWritten-1));
} // carrySample = resampledData.back();
// carrySampleFlag = true;
// }