mirror of
https://github.com/AlexandreRouma/SDRPlusPlus.git
synced 2025-06-25 20:07:51 +02:00
more fixes to stereo FM
This commit is contained in:
@ -686,7 +686,7 @@ namespace dsp {
|
||||
|
||||
pilotFilter.init(&r2c.out, &PilotFirWin);
|
||||
|
||||
demux.init(&pilotFilter.dataOut, &pilotFilter.pilotOut, 1.0f);
|
||||
demux.init(&pilotFilter.dataOut, &pilotFilter.pilotOut, 0.1f);
|
||||
|
||||
recon.init(&demux.AplusBOut, &demux.AminusBOut);
|
||||
|
||||
|
@ -157,8 +157,9 @@ namespace dsp {
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
// Double the VCO, then mix it with the input data.
|
||||
// IMPORTANT: THERE SHOULDN'T BE A NEED FOR A GAIN HERE
|
||||
doubledVCO = lastVCO*lastVCO;
|
||||
AminusBOut.writeBuf[i] = (_data->readBuf[i].re * doubledVCO.re) + (_data->readBuf[i].im * doubledVCO.im);
|
||||
AminusBOut.writeBuf[i] = (_data->readBuf[i].re * doubledVCO.re) * 2.0f;
|
||||
|
||||
// Calculate the phase error estimation
|
||||
error = _pilot->readBuf[i].phase() - vcoPhase;
|
||||
@ -191,6 +192,8 @@ namespace dsp {
|
||||
stream<float> AplusBOut;
|
||||
stream<float> AminusBOut;
|
||||
|
||||
float gain = 2.0f;
|
||||
|
||||
private:
|
||||
float _loopBandwidth = 0.01f;
|
||||
|
||||
@ -257,8 +260,8 @@ namespace dsp {
|
||||
return 0;
|
||||
}
|
||||
|
||||
volk_32f_x2_add_32f(leftBuf, _aplusb->readBuf, _aminusb->readBuf, a_count);
|
||||
volk_32f_x2_subtract_32f(rightBuf, _aplusb->readBuf, _aminusb->readBuf, a_count);
|
||||
volk_32f_x2_add_32f(rightBuf, _aplusb->readBuf, _aminusb->readBuf, a_count);
|
||||
volk_32f_x2_subtract_32f(leftBuf, _aplusb->readBuf, _aminusb->readBuf, a_count);
|
||||
_aplusb->flush();
|
||||
_aminusb->flush();
|
||||
|
||||
|
Reference in New Issue
Block a user