I tried the following code
and I'm getting this error:
Am I doing s.t wrong?
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!
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.
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 = , 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.
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:
The ED (Encryption disabled) causes no issue for the whole IP core generation and cutomize DSP blocks??
Thank you for the reply.
My own created IP cores are also not encrypted, in case I buy the IP cores from a 3rd party also the source code and netlist are not encrypted.
I can't understand where the limitations are then.
Dear travisfcollins ,
Interface gain control is only available in narrowband configurations
I don't want to change the interface gain, I wanna change the hardware gain(digital gain). I could manage to configure the receiver hardware gain(dB) from iio-osc which is the equivalent parameter of rx.AttenuationChannel in MATLAB. In MATLAB setting the rx.AttenuationChannel parameter will not affect the signal level but in iio it affects the signal level.