Post Go back to editing

ADRV9002 gain control mode and interface gain not working from MATLAB

Hello All,

I tried the following code 

and I'm getting this error:


Am I doing s.t wrong?

Thank you

Kind Regards

Parents
  • Interface gain control is only available in narrowband configurations, basically anything slower than 1 MHz. You will need to load a slower profile.

    -Travis

  • Thank you!

    How can I change the total gain on the RX path in case of Wideband?

    Regards

    Arash 

  • Use the Attenuation controls to manually adjust the position in the gain tables.

    -Travis

  • Dear Travis,

    Thank you for your response! 

    1- However I set the channels to dual in .json file, I could not select second TX2 or RX2 channels as my transmitter and receiver, by setting the enablechannels parameter to 2!!! It receive and transmit always signal from channel 1!!!

    2- There is only one attenuation parameter for the RX channels however there are two RX channels available. The AttenuationChannel1 does not exist as a parameter in my MATLAB RX object!!!

    From github io, no range has been defined for the attenuation!!

    3- I checked the user guide, the gain index that refers to total gain on the RX path can be from 187(d) to 255(d), what is the equivalent total analog and digital gain?

      

    From my understanding 20log(1/256)= -48.16 dB is the difference with internal attenuator and frontend attenuation which is 0 so the internal attenuation could be either 48.16 dB or -48.16???!!! In TES SW when I set the decimal gain to 187 the total analog and digital gain is the lowest possible! and when I choose 255, I got the highest possible total gain! how should I use these values in MATLAB?

    4- I measured the output signal level of a CW signal with different configuration of the TX attenuation, it seems till 36 dB, it works fine. From 36.2 dB till 41 dB the attenuation became somthing between 0 to 2 dB!!! very strange! 


    Regards

    Arash

  • 1. This is just a small bug in the property hiding of the object. However it doesn't prevent you from using the property it just doesn't list it if [1,2] is not in EnabledChannels. If you want to see it put [1,2] in EnabledChannels.

    2. See 1

    3. MATLAB API is a direct API to the driver: https://wiki.analog.com/resources/tools-software/linux-drivers/iio-transceiver/adrv9002 0 is minimum gain, 34 is max.

    4. I cannot repeat this. Gain is consistent over the entire range on my system using the default gain table and LVDS profile.

    -Travis

  • Hello Travis,

    Thank you for the reply.

    This is just a small bug in the property hiding of the object. However it doesn't prevent you from using the property it just doesn't list it if [1,2] is not in EnabledChannels. If you want to see it put [1,2] in EnabledChannels.

    When I set the rx.EnabledChannels = [1,2] , yes, the attenuation parameter shows up in the RX object! but I got the following error:


    As I set the rx.EnabledChannels = [2], I still receive nothing on the RX2 channel.

    I cannot repeat this. Gain is consistent over the entire range on my system using the default gain table and LVDS profile.

    Since I'm using ZC706, I'm limited to CMOS profile, so this was the result of CMOS profile!

    Another issue I do have is when I set the rx.DigitalGainControlModeChannel0='automatic'; and rx.AGCTrackingChannel0 = true;, the AGC does not correct the gain variations while changing the input power level at RX1 channel.


    Regards

    Arash

  • Hello Travis,

    Please confirm that EK-U1-ZCU102-G-ED is the correct carrier board that ADRV9002 can be utilized for full verification and testing, here is the link:

    https://www.digikey.com/en/products/detail/EK-U1-ZCU102-G-ED/122-EK-U1-ZCU102-G-ED-ND/12715742?curr=usd&utm_campaign=buynow&utm_medium=aggregator&utm_source=octopart

    The ED (Encryption disabled) causes no issue for the whole IP core generation and cutomize DSP blocks??

    Thank you.

    Regards

    Arash

Reply Children