Thanks Marcus, Basically, I'd like to have a rough idea of the power at the antenna input of the SDR, within say ±0.5 dB.
Measuring two different UBX DB's on the same N210 MB, there's a significant difference in the response, especially below 100 MHz. The measurement setup was a sig gen connected to a power splitter, with one side feeding the N210 and the other connected to a power sensor. UBX gain setting was 0 dB. [image: ubx_freq_resp_fm_comp_rf1_1.png] It's of course possible to store the calibration table in a file and then apply it at run time for each DB. However, because we're dealing with 15+ different N210+UBX devices, it would be useful to be able to store the table in the UBX EEPROM and then load it from there at run time. That's where I was going with this thread :-) Regards, Ernest On Thu, Sep 9, 2021 at 11:50 AM Marcus D. Leech <patchvonbr...@gmail.com> wrote: > On 2021-09-08 7:28 p.m., Ernest Fardin wrote: > > Thanks Marcus, > > A couple more questions on this: > > [1] Would it be possible for us to buy a USRP X310 (which supports the > reference power API), run uhd_power_cal and then transfer the UBX DB to the > N210 and expect calibrated power measurements? Or does the reference power > API need to be working on the N210 in order to apply the calibration data? > > I believe that the caibration is for the ENTIRE CHAIN (which makes sense), > so simply moving it to an N210 would not be meaningful. > > [2] In order to get the reference power API to work on the N210, would > that require changes to the N210 firmware, or just UHD? > > Probably just UHD -- taking a VERY cursory look at the CAL code, it looks > like it can store CAL data in a host-based file database, so even if > the hardware doesn't have enough EEPROM or FLASH storage for the tables, > it can be stored in a file on the host. It looks like there would need to > be work > in usrp_calibrator.py to define a N200Calibrator class and override the > relevant things from the base class. But I'm not the person who developed > this, > so I'm speaking entirely from a cursory inspection of the code. > > What is it you ACTUALLY want to achieve? Turn your USRP into a > laboratory instrument? Have some vague notion of how much power you're > receiving at the > antenna input? Because for a limited parameter space, it's fairly easy > to do that yourself. The Cal/Reference API was only VERY recently added > and people > have been doing without it with USRP products since 2004 or so. It's a > VERY young API, and provides only very limited device coverage--for > example, I can't > really determine if it understands the concept of pluggable > daughtercards, so that the total index is composed of both the motherboard > AND daughtercard > serial numbers. Because, without that, any calibration data are > suspect, etc. > > > > > > > Regards, > > Ernest > > On Thu, Sep 9, 2021 at 7:34 AM Marcus D. Leech <patchvonbr...@gmail.com> > wrote: > >> On 2021-09-08 5:27 p.m., Ernest Fardin via USRP-users wrote: >> >> Hi, >> >> Following up on this, the question I'm trying to answer is: "Can I >> calibrate the rx power on an N210 + UBX platform?" >> >> With the N210, has_rx_power_reference() >> <https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#af0307aa83d1454e92a7ec91fb4100b98> >> returns False. Can I conclude from this that an rx power calibration is not >> possible on this device? >> >> It means that there is no reference calibration API available for this >> device. >> >> The calibration reference API is fairly new, so it will only be available >> (at least initially) on newer devices. The N2xx series is about 10 years >> old >> at this point. >> >> >> >> On Tue, Sep 7, 2021 at 9:00 PM Ernest Fardin <efar...@ieee.org> wrote: >> >>> Hi, >>> >>> I'm trying to calibrate the receive power on a USRP N210 with a UBX >>> daughterboard. Using UHD 4.0, I can get uhd_power_cal.py to run by adding >>> an N210Calibrator class to usrp_calibrator.py. N210Calibrator overloads the >>> USRPCalibratorBase class. >>> >>> class N210Calibrator(USRPCalibratorBase): >>> """ >>> N210/UBX Calibration >>> """ >>> mboard_ids = ('N210r4',) >>> default_rate = 2.5e6 >>> min_freq = 50e6 >>> max_freq = 50e6 >>> tune_settling_time = .5 >>> >>> When the calibration completes, the store() method in usrp_calibrator >>> attempts to write the calibration table to the UBX with >>> >>> database.write_cal_data( >>> cal_key, >>> cal_serial, >>> cal_data.serialize()) >>> >>> The chan_info string returned by the N210 is: >>> >>> {'mboard_id': 'N210r4', 'mboard_name': '', 'mboard_serial': '318EFF3', >>> 'rx_antenna': 'TX/RX', 'rx_id': 'UBX-40 v2 (0x007c)', 'rx_serial': >>> '318D55F', 'rx_subdev_name': 'UBX RX', 'rx_subdev_spec': 'A:0'} >>> >>> What values to use for cal_key and cal_serial? >>> >>> Thanks in advance! >>> >>> Ernest >>> >>> >> _______________________________________________ >> USRP-users mailing list -- usrp-users@lists.ettus.com >> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >> >> >> _______________________________________________ >> USRP-users mailing list -- usrp-users@lists.ettus.com >> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >> > >
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com