-
Notifications
You must be signed in to change notification settings - Fork 120
Description
On the Firmware documentation page the maximum gain range for any particular DDS is listed as 16-bit signed ([-32768,32767]). This should still be true for current QICK firmwares, but as of asm_v2, gain is now given as a simple percentage between -1 and 1, where the value is automatically scaled.
An issue can occur if operating below the minimum resolution of the gain, < 3e-5, where the user believes that they are generating a small pulse, but the rfsoc actually is rounding it to zero. No warning is given at this point in the code, and it's also a bit tricky to find what the actual maxv value is. (I found it by soccfg['gens'][gench=0]['maxv'], but this took a bit of digging - it's not output as part of the standard boilerplate of soccfg, for example, and is especially confusing given that the boilerplate says "32-bit dds" without clarification that it's in frequency).
Likewise, no error is given if gain > 1, even though it certainly gets rounded down to just be 1. This might be confusing for new users who are not aware of the limitations of gain.