RFSoC 4x2 (PYNQ v3.0.1): Baseband signal generation from the DAC (v2.4 Gen3)

Hello everyone,

In my research, I am using RFSoC 4x2 to implement modulation schemes to achieve real-time data transmission. I would like to be able to generate baseband signals from the DAC. To be able to do this I understand that the mixer has to be bypassed/disabled. Before moving onto implementing my hardware design, my goal is to be able to configure the DAC module such that the mixer frequency can be set to 0 Hz, ie bypassed.

As an example I am using the “RFSoC Radio Transceiver” overlay from the University of Strathclyde github page https://github.com/strath-sdr/rfsoc_radio (many thanks to David and all the collaborators). I have tested the board using this project a in loopback connection and everything works as intended. As this is a radio transceiver, the mixer settings are by default set to generate a carrier as expected.

Then, I connected the DAC to an oscilloscope to observe the output signal. I attempted to change the mixer settings from the “overlay.py” script in this project in order to bypass the mixer and see the result on the oscilloscope. However, no matter which settings I choose for the DAC, I cannot seem to generate a baseband signal.

Here are the settings I have tried and the results/error messages I received.

  • Mixer type: Coarse, Mixer mode: R2R, Freq: 0, CoarseMixFreq: Bypass
    This configuration generates an output signal with 64 MHz carrier despite the fact I do not set such frrequency.

  • In these mixer settings, i tried changing coarse mixer frequency to ‘CoarseMixFreq’ : xrfdc.COARSE_MIX_OFF’ with all the other settings remains the same as in the above image. In this case, I am getting this error: “RuntimeError: Function XRFdc_SetMixerSettings call failed
    stdout: metal: error:
    Invalid Combination of Mixer type (1) Mixer mode (4)/Coarse Mix Frequency (0) for DAC 2 block 0 in XRFdc_MixerRangeCheck”

I would really appreciate any insight on how to generate a baseband signal from the DAC of this board.

Thank you very much,


Hello everyone,

In case anyone is trying to achieve the same result, I have solved this by creating my own module that generates a signal with frequency content over 10MHz and using the FINE mixer at 0 Hz frequency. This way I am able to a see a clear, undistorted baseband signal on the oscilloscope when I connect the DAC output. I believe the DAC output has a high pass response and frequencies below 1MHz are severely distorted.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.