On 05/01/2020 11:38 AM, Misc Engineer via USRP-users wrote:
We are using the B2xx USB based radios in a system. In certain cases,
we are in an environment where there is significant power in a
interfering signal that significantly suppressed by the filtering
(CIC) within the DDC. Near the output of the DDC there is a set of
gain multipliers for both quadrature components. The gain is
controlled by scale_factor which I believe is controlled via the
setting register at SR_RX_DSP (BASE) + 1 = 145. In the host UHD code
I believe I have found the section that manipulates this scale factor
in comprised of code in set_host_rate and update_scaler. I have a few
questions regarding manipulating of this scaler. We would really like
to use the existing gain compensation blocks so this functionality
doesn't required additional host processing if this is an option.
1. Is _host_extra_scaling applied in the host in UHD or is it left up
to the user to perform such compensation in GNU Radio etc? If it is
the latter how is this information retrieved via the API?
2. Does UHD expose any method to directly manipulate scale_factor of
the DDC either by FPGA register peeks and pokes or through the API?
There's the "fullscale" stream argument here:
https://files.ettus.com/manual/page_configuration.html#config_devaddr
3. How does one access FPGA registers including the USER Registers?
Does this require modification of UHD or is this functionality
available in the distributed version of UHD for the B2xx series of radios?
https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a8978dc94513414db087e7cb60a009f5f
But, an overall comment. If inserting a single multiply into your
processing is a "make or break" in terms of being able to keep up, then you
have other architectural problems that will inevitably rear their
ugly head sooner rather than later.
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com