I have a RealDigital 4x2, and am going through the tutorials. The first tutorial (01_rf_dataconverter_introduction.ipynb) is pretty simple:
- load the “base” firmware, setup the rf clocks
2, set the output tones frequencies using the base.radio.transmitter.channel[0/1].dac_block.MixerSettings[‘Freq’] method - set the transmitter control.gain and control.enable to true
- set the number of samples and take data
The notebook says that the mixer frequency of the receiver ADC is set to 1228.8MHz, at the center of the first Nyquist zone given a sampling frequency of 4x that number. Makes sense.
But I’d like to vary this. To do this, I first printed the value using
print(str(base.radio.receiver.channel[2].adc_block.MixerSettings[‘Freq’]))
and it comes back as -1228.8, which is what the documentation says the receiver mixing frequency should be. Why is it -1228.8 and not 1228.8? (Is this a stupid question?)
When I take data, I indeed see receiver data that is consistent with the difference between the DAC frequency as set in MixerSettings, and the ADC MixerSettings[‘Freq’] value.
When I then try to change the ADC mixer frequency, for example doing this:
base.radio.receiver.channel[2].adc_block.MixerSettings[‘Freq’] = -1000
I read it back and it’s indeed set to -1000, then I take data.
But the data coming back is still apparently being digitized and mixed with a 1228.8MHz tone.
So either base.radio.receiver.channel[2].adc_block.MixerSettings[‘Freq’] is not how you change the mixing frequency, or perhaps the classes that are made aren’t connected to the FPGA ADC tiles? Or maybe I’m just making a stupid mistake, which is entirely possible!
Any ideas would be much appreciated.
Thanks!
Drew