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,