Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

There is one phase difference in UHD 3.15.0.0, but there are four phase differences in UHD 4.1.0.1 #524

Closed
zchengyun opened this issue Nov 12, 2021 · 6 comments

Comments

@zchengyun
Copy link

Issue Description

  I use four usrp-2945 as synchronous acquisition system, CDA-2990 provides internal reference clock and PPS to four usrp-2945, and pxie-5651 and pxie-5652 are used to provide two-stage local oscillator for four USRPs. Now I use two usrp-2945 to collect the data of two channels (one channel for each) and calculate the phase difference between the two channels. If I use UHD 4.1.0.1, after multiple acquisition, I find that there are four kinds of phase differences, and the phase differences are roughly 90 degrees, 180 degrees and 270 degrees. For example, the four phase differences are 4.5 degrees, 95.53 degrees, 189.51 degrees and 275.49 degrees respectively. If I use UHD 3.15.0.0, there is only one phase difference.

Setup Details

1.CDA-2990 provides internal reference clock and PPS to four usrps.
2.Pxie-5651 and Pxie-5652 are used to provide two-stage local oscillator for four USRPs.

Expected Behavior

Using UHD 4.1.0.1, there is only one phase difference.

Actual Behaviour

There are four phase differences using UHD 4.1.0.1.

Steps to reproduce the problem

After synchronizing the reference clock, PPS and lo, use UHD 4.1.0.1 to collect one channel of different USRP and calculate the phase difference.

Additional Information

@mbr0wn
Copy link
Contributor

mbr0wn commented Nov 25, 2021

Note to self: USRP-2945 == X310 + 2x TwinRX.

@mbr0wn
Copy link
Contributor

mbr0wn commented Nov 25, 2021

@zchengyun when you say four phase differences, between which channels are you measuring the phase?

@zchengyun
Copy link
Author

@zchengyun when you say four phase differences, between which channels are you measuring the phase?

@mbr0wn Sorry to reply to you so late, I used two 2945, each with one channel. The reference source, PPS and two-stage local oscillator are provided externally.

@zchengyun
Copy link
Author

@mbr0wn I use the first channel of two usrps to collect the same signal source and calculate the phase difference between the two channels. There will be four phase differences, but it has only one phase difference on uhd3.15

@jmorton1
Copy link

Were you able to resolve this issue? I am having the same issue with the same setup. I believe it's related to the time_sync signal passed to the fe_control module in x300_core.v:

.time_sync(),

In UHD 4.0 and beyond, it's left empty. In UHD 3.15 it's connected to a time sync signal that synchronizes the frontend when you sync to PPS. It resets the quarter_rate_downconverter module that mixes down the ADC input to baseband. The quarter_rate_downconverter cycles through 0, 90, 180, 270 degrees, so if you're not sync'd you'll see a phase offset of one of these vlues between channels.

@mbr0wn
Copy link
Contributor

mbr0wn commented Dec 14, 2023

Definitely fixed since c70b479

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants