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

Reply via email to