mirror of
https://github.com/EttusResearch/uhd.git
synced 2026-10-25 17:36:10 +00:00
SelfCal: improve fbx input spur performance
Modify the cal_freq used in the calibration procedure by X440 devices which use the FBX daughterboard. The new value obeys the rules that are specified mainly in the PG269 to help the background calibration (BG) run under better conditions and hence improve our input spur performance. Signed-off-by: Virendra Kakade <virendra.kakade@ni.com> Co-authored-by: Volkan Öz <volkan.oez@ni.com>
This commit is contained in:
parent
8cb20c8671
commit
8fb48ad48d
@ -80,8 +80,19 @@ public:
|
||||
{
|
||||
// FBX uses a fixed low freq for both TX and RX
|
||||
return {
|
||||
100e6, // rx_freq
|
||||
100e6, // tx_freq
|
||||
// Some conditions were considered for choosing the correct cal_freq,
|
||||
// mainly using the PG269 manual as reference. These conditions ensure that
|
||||
// the cal_freq or its harmonics don't interfere with the background (BG)
|
||||
// calibration mechanism on the RFSoC.
|
||||
// 1. In calib_mode2 the highest supported frequency is 0.4 * converter rate (fc).
|
||||
// The minimum fc that X440 supports is 1GHz. So our highest cal_freq is 400MHz.
|
||||
// 2. We need to choose as high a cal_freq as we can
|
||||
// 3. The converter rate (fc) should not be a multiple of the cal_freq
|
||||
// 4. The converter rate (fc) / 8 should not be a multiple the cal_freq
|
||||
// 5. cal_freq should not be of a form k * (fc / 1024) where k = 1 to 1024
|
||||
// 6. The specified hysteresis threshold values work with the chosen cal_freq
|
||||
397.55e6, // rx_freq
|
||||
397.55e6, // tx_freq
|
||||
{0x7FFF, 0}, // output full scale dac mux
|
||||
100, // delay
|
||||
4000, // under
|
||||
|
||||
@ -55,8 +55,8 @@ def settings(usrp):
|
||||
if is_x440(usrp):
|
||||
return {
|
||||
"gain": None,
|
||||
"rx_freq": 100e6,
|
||||
"tx_freq": 100e6
|
||||
"rx_freq": 397.55e6,
|
||||
"tx_freq": 397.55e6
|
||||
}
|
||||
print("Unknown x4xx device")
|
||||
sys.exit(1)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user