Possible bug with PATH/gr-channels/lib/cfo_model_impl.h

Dear All,

I suspect there is a bug in cfo_model_impl.h, where calling set_std_dev
to
set the std_dev back to 0 causes undesirable effects.

How to reproduce the bug:

a) Standard OFDM TX-RX example in GRC. Connect the TX block to the RX
block
through this channel model block.

b) Use a variable slider to control the std_dev of the CFO model block.

c) Start the flowgraph, with 0 as the initial value of the std_dev. All
should be fine.

d) Bump up the std_dev and observe high packet errors.

e) Drop the std_dev back to 0. While we expect the packet error rate to
drop back to 0, but that does not happen.

Reason: The value of d_cfo might be a high non-zero value. Even though
we
drop std_dev back to 0, d_cfo remains high, and continues to create CFO.

How to fix it:

In the function set_std_dev, reset the value of d_cfo to 0.

If someone could verify that this is indeed a bug, that would be very
helpful. Thank you in advance for your help.

Best regards,
Aditya

On Wed, Feb 5, 2014 at 7:40 PM, Aditya D. [email protected]
wrote:

b) Use a variable slider to control the std_dev of the CFO model block.
drop std_dev back to 0, d_cfo remains high, and continues to create CFO.

How to fix it:

In the function set_std_dev, reset the value of d_cfo to 0.

If someone could verify that this is indeed a bug, that would be very
helpful. Thank you in advance for your help.

Best regards,
Aditya

Nope, not a bug. You’re reducing the standard deviation, but the
actual CFO value is not this value but is adjusted based on it.

I think more of what you are looking for is a direct way to set the
value of the CFO (or something like a reset() function).

Tom

Nope, not a bug. You’re reducing the standard deviation, but the
actual CFO value is not this value but is adjusted based on it.

I think more of what you are looking for is a direct way to set the
value of the CFO (or something like a reset() function).

Hi Tom, thanks for the clarification!

best regards,
aditya