Hi all, I'm working with a Ettus X310 with SBX daughterboards and my question is related to the 802.11 Application Framework, does anybody know if this will work with my hardware? I know that application frameworks where designed for NI USRP but Ettus X310 with SBX is essencially an USRP 2942R (at least hardware is the same). Someone who has tested or some thought...
Thanks in advance.
The application framework will run with your SBX and X310, but NI does not guarantee the software's performance with this hardware. There are some performance differences that you should be aware of, and slight modifications that will need to be made in the software to get the code running at all.
The SBX and X310s are sold separately where the 294x/5x products are sold fully assembled. This allows NI to characterize the 294x/5x modules during manufacturing and write some characterization constants to the EEPROM that are used to do digital DC offset and IQ imbalance correction, and map rough power levels to the on board gain settings. The X310 does not have these EEPROM constants, and therefore will have worse DC offset and IQ imbalance performance. I have not personally tested an SBX/X310 with the 802.11 ap framework, so I cannot speak to how much these affect the software's performance. The ap framework also does automatic gain correction by adjusting the gain level. Using LabVIEW's NI USRP Instrument Design Library (IDL), there are 2 ways to configure the gain (true for TX and RX) of the RF front end--gain and level. The gain setting allows a user to set a value from 0 to 32.5 in 0.5 dB increments to control the gain. The level setting allows a user to set a value in dBm. NOTE: this value is an approximation, not a calibrated value. Without the EEPROM constants, the level setting will not function correctly. You will need to modify the ap framework to use the gain setting instead of the level setting.
Thank you Sarah for clarifying the difference between both equipment. Do you think it can be a significant difference in performance, let's say total throughput? Is there any way to get these constants and load them manually in EEPROM? perhaps this question is not appropriate for this forum ... I read from Ettus web page there is a calibration tool but it seem that works with UHD driver only. Thanks again..
As far as I know, the X310 should have the same throughput specifications as the USRP RIO.
Ettus might have more information on writing characterization information to the EEPROM. On the LabVIEW side, the niUsrpRio Session contains a Characterization Data Cluster that is loaded from the EEPROM (Load EEPROM Characterization Data.gvi). This data is used in some of the GVIs within the Configure Signal GVI. If you modify the value of the Characterization Data between the Open and Configuration sections, you should be able to apply the characterization information that you measured.
This implementation and measurement will not be trivial.
I hope this helps.
i have some question
1-this characterization constants (IQ imbalance table ) are used in fpga or in the pc software?
2-there is a sub vi in usrp streaming template project ( self correct rx iq offset sub vi) that calculate I and Q offset and set them in eeprom. is there any sub vi that calculate gain and phase imbalance value and write them into eeprom (iq imbalance table)?