RFSoC 4x2 - detected signal doesn't change signal frequency


I am trying to detect real signals from an antenna. The antenna produces I/Q signals for me, so, I just need to detect the real signal from them.

After the first detection, the carrier signal frequency doesn’t seems to change, even if I change it. For example, the initial signal frequency is 250 MHz (shown in the 250M_data, below), then I change the signal frequency to 1210 MHz, it will still show the signal as 250 MHz signal (I can’t show the unchanged signal as it shows the same frequency), However, I can detect the amplitude change.
However, if I reset the overlay, I can get 1210 MHz (shown in the 1210M_data, below) signal back. But, any other frequency will still be detected at 1210MHz.

It seems whenever I need to change the signal frequency, I have to reset the overlay. Does anyone have suggestion to fix this issue?

PYNQ version:3.0.1
Board: RFSoC 4x2

1 Like

Hi mtsanic,

I would need to see your code to properly understand the problem, but at a guess it might be that you’re not running UpdateEvent after changing the mixer settings.

Once you change the MixerSettings dictionary, you need to run UpdateEvent(xrfdc.EVENT_MIXER) to invoke the changes. You can see an example of this here.

Here is another example from a notebook in the same repo, where this has been put into a function:


Hi joshgoldsmith,

Thank you for your response. Since the signal generation is handled by the antenna, I wanted to bypassed the mixer, which is the case for the current design. Do I still need to update the mixer?