[USRP-users] calibration on Wifi bands for X310/UBX

Derek Kozel derek.kozel at ettus.com
Tue Jul 4 10:31:39 EDT 2017


The code fragment in your last email is enough, but it is necessary that
every call to set_center_freq is wrapped like that. You can edit the
cal_test_try.py file to add the calls to the time functions.

If there is ever a call to change the tune frequency it must be done timed
or the results will not be consistent.


On Tue, Jul 4, 2017 at 3:02 PM, Sanjoy Basak <sanjoybasak14 at gmail.com>
wrote:

> I used timed command once.
>
> now = self.receiver.get_time_now()
> cmd_time=now+uhd.time_spec(0.5)
>
> self.receiver.set_command_time(cmd_time)
>
>         self.receiver.set_center_freq(freq, 0)
>         self.receiver.set_center_freq(freq, 1)
>         self.receiver.set_center_freq(freq, 2)
>         self.receiver.set_center_freq(freq, 3)
>
>         self.receiver.clear_command_time()
>
> Isn't this enough?
>
> How do I add timed command before set_f function (for receive only
> cal_test_try.py file)?
>
>
>
>   <https://mailtrack.io/> Sent with Mailtrack
> <https://mailtrack.io/install?source=signature&lang=en&referral=sanjoybasak14@gmail.com&idSignature=22>
>
> Sanjoy Basak
> Researcher
> Royal Military Academy
> Dept. Communication, Information Systems & Sensors (CISS)
> 30, Avenue de la Renaissance
> B-1000 Brussels
> BELGIUM
> Tel : +32-2441 4162
> email: Sanjoy.BASAK at mil.be
>
> On Tue, Jul 4, 2017 at 3:52 PM, Derek Kozel <derek.kozel at ettus.com> wrote:
>
>> The transmitter will not have a meaningful phase value. You are comparing
>> the offsets between the four receivers. Looking at your cal_test4.py file
>> we can see that the set_f function tunes the transmitter and receivers and
>> does not use timed commands. This is also true for your receive only
>> cal_test_try.py. You will need to add timed commands to those so that all
>> four channels tune simultaneously.
>>
>>     def set_f(self, f):
>>         self.f = f
>>         self.transmitter.set_center_freq(self.f, 0)
>>         self.transmitter.set_center_freq(self.f, 1)
>>         self.receiver.set_center_freq(self.f, 0)
>>         self.receiver.set_center_freq(self.f, 1)
>>         self.receiver.set_center_freq(self.f, 2)
>>         self.receiver.set_center_freq(self.f, 3)
>>
>>
>> On Tue, Jul 4, 2017 at 1:51 PM, Sanjoy Basak <sanjoybasak14 at gmail.com>
>> wrote:
>>
>>> Hi Derek,
>>> I am using transmitter on continuous mode and then testing the phase of
>>> the receivers with that python file. So, I am not retuning the transmitter
>>> again. It's tuned once and then I am retuning the receiver and testing if
>>> the phase is the same or different. So, with different retune the receivers
>>> are having different offset phases at these frequencies.
>>>
>>> I also tested with transmitter and receiver together, transmitting and
>>> receiving at the same time and also tuning at the same time (with the
>>> attached python file). However, I am getting the same result. The offset
>>> phases is different at different retunes.
>>>
>>> Best regards
>>> Sanjoy
>>>
>>>
>>>
>>>
>>>
>>>   <https://mailtrack.io/> Sent with Mailtrack
>>> <https://mailtrack.io/install?source=signature&lang=en&referral=sanjoybasak14@gmail.com&idSignature=22>
>>>
>>> Sanjoy Basak
>>> Researcher
>>> Royal Military Academy
>>> Dept. Communication, Information Systems & Sensors (CISS)
>>> 30, Avenue de la Renaissance
>>> B-1000 Brussels
>>> BELGIUM
>>> Tel : +32-2441 4162
>>> email: Sanjoy.BASAK at mil.be
>>>
>>> On Tue, Jul 4, 2017 at 12:00 PM, Derek Kozel <derek.kozel at ettus.com>
>>> wrote:
>>>
>>>> Hello Sanjoy,
>>>>
>>>> Your initial calls to set_center_freq are all correct and use the
>>>> command time. However the other call to set_center_freq must also the
>>>> set_command_time call.
>>>>
>>>> Regards,
>>>> Derek
>>>>
>>>> On Tue, Jul 4, 2017 at 10:09 AM, Sanjoy Basak <sanjoybasak14 at gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Derek,
>>>>> I am not using Rfnoc. The time and clock sources are set to external
>>>>> and motherboard time is also set correctly. Please have a look in the code.
>>>>>
>>>>> Right now I am using simple flowgraph and python codes to check the
>>>>> calibration. Please have a look. I am not getting the repeated offset
>>>>> phase. It is changing with every tuning.
>>>>>
>>>>> Best regards
>>>>> Sanjoy
>>>>>
>>>>>
>>>>>
>>>>>   <https://mailtrack.io/> Sent with Mailtrack
>>>>> <https://mailtrack.io/install?source=signature&lang=en&referral=sanjoybasak14@gmail.com&idSignature=22>
>>>>>
>>>>> Sanjoy Basak
>>>>> Researcher
>>>>> Royal Military Academy
>>>>> Dept. Communication, Information Systems & Sensors (CISS)
>>>>> 30, Avenue de la Renaissance
>>>>> B-1000 Brussels
>>>>> BELGIUM
>>>>> Tel : +32-2441 4162
>>>>> email: Sanjoy.BASAK at mil.be
>>>>>
>>>>> On Mon, Jul 3, 2017 at 7:53 PM, Derek Kozel <derek.kozel at ettus.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Sanjoy,
>>>>>>
>>>>>> Timed commands will definitely be required in order to have
>>>>>> repeatable phase offsets. To check, you are (re)setting the time on each
>>>>>> X310 at the start of your program and have set the clock and time sources
>>>>>> to external?
>>>>>>
>>>>>> Are you using the multi_usrp API and creating a single rx_streamer
>>>>>> with all four channels? If you are using the RFNoC API then timed commands
>>>>>> must be used to set the DDC frequency (if non-zero) as well since that has
>>>>>> an effect on the phase which is stateful.
>>>>>>
>>>>>> Can you please paste your code for setting the rx frequency? Also for
>>>>>> setting the motherboard time?
>>>>>>
>>>>>> Thank you,
>>>>>> Derek
>>>>>>
>>>>>> On Mon, Jul 3, 2017 at 6:20 PM, Sanjoy Basak <sanjoybasak14 at gmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Hi Derek,
>>>>>>> I am referreing to phase calibration. I am taking one transmit
>>>>>>> signal (sine/cosine wave) from one x310 and distributing the signal through
>>>>>>> a 1x4 power divider and feeding it to 4 receivers of 2 other X310s. All the
>>>>>>> X310s are connected to the octoclock. Afterwards I am comparing the phase
>>>>>>> of 4 RX signals.
>>>>>>>
>>>>>>> For calibration, I take one rx signal as the reference signal and
>>>>>>> find the phase differences of other 3 rx signals compared to the reference
>>>>>>> signal. I save the offset (initial) phases and use it further for
>>>>>>> calibration.
>>>>>>>
>>>>>>> As I mentioned earlier, for 2.4 GHz, 2.45 GHz and 2.5 Ghz, I find
>>>>>>> the phase calibration remains even after restarting (or retuning) the USRP.
>>>>>>> However, for other Wifi bands (for example 2412 MHz or 2452 MHz ...) the
>>>>>>> phase calibration does not remain. After retuning, I find the calibration
>>>>>>> is gone.
>>>>>>>
>>>>>>> I also used set_command_time method. But the result was the same.
>>>>>>>
>>>>>>> Best regards
>>>>>>> Sanjoy
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>   <https://mailtrack.io/> Sent with Mailtrack
>>>>>>> <https://mailtrack.io/install?source=signature&lang=en&referral=sanjoybasak14@gmail.com&idSignature=22>
>>>>>>>
>>>>>>> Sanjoy Basak
>>>>>>> Researcher
>>>>>>> Royal Military Academy
>>>>>>> Dept. Communication, Information Systems & Sensors (CISS)
>>>>>>> 30, Avenue de la Renaissance
>>>>>>> B-1000 Brussels
>>>>>>> BELGIUM
>>>>>>> Tel : +32-2441 4162
>>>>>>> email: Sanjoy.BASAK at mil.be
>>>>>>>
>>>>>>> On Mon, Jul 3, 2017 at 6:29 PM, Derek Kozel <derek.kozel at ettus.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello Sanjoy,
>>>>>>>>
>>>>>>>> What calibration are you referring to? Frequency, amplitude, phase?
>>>>>>>> How are you doing your calibration and how are you checking it? The more
>>>>>>>> you can tell us about your method and the results you are seeing the better
>>>>>>>> we can answer.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Derek
>>>>>>>>
>>>>>>>> On Mon, Jul 3, 2017 at 4:46 PM, Sanjoy Basak via USRP-users <
>>>>>>>> usrp-users at lists.ettus.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hello Experts,
>>>>>>>>> I am trying to calibrate X310/UBX on the whole wifi bands (the
>>>>>>>>> complete 2.4 GHz band).
>>>>>>>>> 2.412,2.417,2.422,....,2.484 GHz
>>>>>>>>>
>>>>>>>>> I am doing direction finding tests and need to calibrate 4
>>>>>>>>> channels of 2 X310s on the specified frequencies. Both X310s are connected
>>>>>>>>> with Octoclock. However, I could only have calibration on 2.4 GHz, 2.45
>>>>>>>>> GHz, 2.5 GHz. For other bands, calibration does not remain after retuning.
>>>>>>>>> Is there any specific reason why the calibration only works for every 50
>>>>>>>>> Mhz channel after retuning. I tested with different sampling rates, but the
>>>>>>>>> result is the same. Calibration does not remain after retuning.
>>>>>>>>>
>>>>>>>>> I am using UHD_003.009.002 (installed from synaptic) and ubuntu
>>>>>>>>> 16.04. Is there any specific way how I can make it work?
>>>>>>>>>
>>>>>>>>> Best regards
>>>>>>>>> Sanjoy Basak
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   <https://mailtrack.io/> Sent with Mailtrack
>>>>>>>>> <https://mailtrack.io/install?source=signature&lang=en&referral=sanjoybasak14@gmail.com&idSignature=22>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> USRP-users mailing list
>>>>>>>>> USRP-users at lists.ettus.com
>>>>>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20170704/cc9e2dfd/attachment-0002.html>


More information about the USRP-users mailing list