@@ -11,8 +11,8 @@ namespace dsp::demod {
1111 public:
1212 Meteor () {}
1313
14- Meteor (stream<complex_t >* in, double symbolrate, double samplerate, int rrcTapCount, double rrcBeta, double agcRate, double costasBandwidth, bool brokenModulation, double omegaGain, double muGain, double omegaRelLimit = 0.01 ) {
15- init (in, symbolrate, samplerate, rrcTapCount, rrcBeta, agcRate, costasBandwidth, brokenModulation, omegaGain, muGain);
14+ Meteor (stream<complex_t >* in, double symbolrate, double samplerate, int rrcTapCount, double rrcBeta, double agcRate, double costasBandwidth, bool brokenModulation, bool oqpsk, double omegaGain, double muGain, double omegaRelLimit = 0.01 ) {
15+ init (in, symbolrate, samplerate, rrcTapCount, rrcBeta, agcRate, costasBandwidth, brokenModulation, oqpsk, omegaGain, muGain);
1616 }
1717
1818 ~Meteor () {
@@ -21,11 +21,12 @@ namespace dsp::demod {
2121 taps::free (rrcTaps);
2222 }
2323
24- void init (stream<complex_t >* in, double symbolrate, double samplerate, int rrcTapCount, double rrcBeta, double agcRate, double costasBandwidth, bool brokenModulation, double omegaGain, double muGain, double omegaRelLimit = 0.01 ) {
24+ void init (stream<complex_t >* in, double symbolrate, double samplerate, int rrcTapCount, double rrcBeta, double agcRate, double costasBandwidth, bool brokenModulation, bool oqpsk, double omegaGain, double muGain, double omegaRelLimit = 0.01 ) {
2525 _symbolrate = symbolrate;
2626 _samplerate = samplerate;
2727 _rrcTapCount = rrcTapCount;
2828 _rrcBeta = rrcBeta;
29+ _oqpsk = oqpsk;
2930
3031 rrcTaps = taps::rootRaisedCosine<float >(_rrcTapCount, _rrcBeta, _symbolrate, _samplerate);
3132 rrc.init (NULL , rrcTaps);
@@ -132,7 +133,7 @@ namespace dsp::demod {
132133 void setOQPSK (bool enabled) {
133134 assert (base_type::_block_init);
134135 std::lock_guard<std::recursive_mutex> lck (base_type::ctrlMtx);
135- oqpsk = enabled;
136+ _oqpsk = enabled;
136137 }
137138
138139 void reset () {
@@ -151,7 +152,7 @@ namespace dsp::demod {
151152 agc.process (count, out, out);
152153 costas.process (count, out, out);
153154
154- if (oqpsk ) {
155+ if (_oqpsk ) {
155156 // Single sample delay + deinterleave
156157 for (int i = 0 ; i < count; i++) {
157158 float tmp = out[i].im ;
@@ -185,7 +186,7 @@ namespace dsp::demod {
185186 int _rrcTapCount;
186187 double _rrcBeta;
187188 float lastI = 0 .0f ;
188- bool oqpsk = false ;
189+ bool _oqpsk = false ;
189190
190191 tap<float > rrcTaps;
191192 filter::FIR<complex_t , float > rrc;
0 commit comments