Describe the bug
IQ Imbalance considers that the hardware has non-idealities and that the in-phase and quadrature are not perfectly
aligned. As a result, the IQ data will have slightly different amplitude, phase and dc-offset.
Problem description:
By setting to zero the amplitude_imbalance_db and the phase_imbalance we can isolate the effect of the dc_offset_db.
The expectation is that the constellation diagram will be moved to a different location, while keeping the scaling,
rotation and shape. However, this is not the case as is shown in iq_imbalance.png. Instead the data are scaled in
a similar manner as with amplitude imbalance.
Solution:
The function iq_imbalance_fixed modifies a couple of lines. The resulting plot (iq_imbalance.png) shows that the
IQ data have been shifted as expected.
Describe the bug IQ Imbalance considers that the hardware has non-idealities and that the in-phase and quadrature are not perfectly aligned. As a result, the IQ data will have slightly different amplitude, phase and dc-offset.
Problem description: By setting to zero the amplitude_imbalance_db and the phase_imbalance we can isolate the effect of the dc_offset_db. The expectation is that the constellation diagram will be moved to a different location, while keeping the scaling, rotation and shape. However, this is not the case as is shown in iq_imbalance.png. Instead the data are scaled in a similar manner as with amplitude imbalance.
Solution: The function iq_imbalance_fixed modifies a couple of lines. The resulting plot (iq_imbalance.png) shows that the IQ data have been shifted as expected.
To Reproduce to_torchsig_debug_iq_imbalance.zip
Use the Python code and the *.npy file to reproduce the bug and get the bugfix.
Expected behavior The IQ data must be shifted, not scaled, as seen in the picture.