Hi all,
I am using PYNQ 2.7.0 on the RFSoC 4x2.
I am having a problem where changing the gain for the DAC output does not produce the amplitudes in the waveform that I would expect. Specifically, slight increases in the gain cause the amplitude of the sampled waveform to increase then decrease, where I would expect linear increase in amplitude. This has previously been posted about before, but no response: https://discuss.pynq.io/t/dac-channel-amplitude/7710/2
I would expect linear increase in amplitude due the fact I am not changing the gain on the receiver/ADC, and also due to this comment under the AmplitudeController
class in transmitter.py
:
class AmplitudeController(DefaultIP):
"""Driver for the transmit control IP Core.
The Amplitude Controller is a simple IP core written
in VHDL. The core outputs a user defined value on the master
AXI-Stream interface when the enable register is high.
This core was purposely designed to communicate with the
RF Digital-to-Analogue Converter (RF DAC). The user
can set the amplitude of the signal written to the RF DAC
and use the RF DAC's fine mixer to generate a tone for
loopback purposes on their development board.
Attributes
----------
enable : a bool
If high, enables the output of the gain register on to
the master AXI-Stream interface.
gain : a float
A float in Volts, that describes the amplitude of the
output master AXI-Stream signal. Must be in range 0 to 1.
"""
You can reproduce this behavior using the base overlay in the 01_rf_dataconverter_introduction notebook. I’ve linked a much simplified notebook below, and also screenshots of the data I’m getting.
gain_tests_for_pynq_support.ipynb (141.2 KB)