On 2021-09-09 3:28 a.m., Ernest Fardin wrote:
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.
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

Given that the UBX is endowed with a whopping 512 *bytes* of EEPROM space, I'm not sure how you'd store the necessarily-extensive calibration tables in them.   Even using the NV storage in the CPLD (1Kbyte) that's not enough room, as far as I can tell.




On Thu, Sep 9, 2021 at 11:50 AM Marcus D. Leech <patchvonbr...@gmail.com <mailto: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 <mailto: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 <mailto: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  
<mailto:usrp-users@lists.ettus.com>
        To unsubscribe send an email tousrp-users-le...@lists.ettus.com  
<mailto:usrp-users-le...@lists.ettus.com>

        _______________________________________________
        USRP-users mailing list -- usrp-users@lists.ettus.com
        <mailto:usrp-users@lists.ettus.com>
        To unsubscribe send an email to
        usrp-users-le...@lists.ettus.com
        <mailto: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