Dear Users
Thanks for the reply Marcus. I understand that getting phase difference almost
zero is difficult, but I should get phase difference consistent when i change
the frequency. what is happening is that when i change the frequency i am
getting a phase diff i.e 100 degree, next time for the same frequency i should
get the same phase different but it is different every time. Some time there is
a difference in LO frequency also i.e Suppose I set my center frequency 3.5GHz
, one channel I am getting 3.5001and in other channel 3.4999 GHz. If i tune
this frequency again then frequencies are same. This i have verified many
times. This problem is there only I change my frequency dynamically.
I even tried for Stream Command
uhd::stream_cmd_t
cmd(uhd::stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS);usrp_source1->issue_stream_cmd(cmd,0);
Delayms(10);
uhd::stream_cmd_t cmd1(uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS);)
Delayms(10);
usrp_source1->issue_stream_cmd(cmd,1);
so that my steam start when both channels are locked and ready for data but
that also did not help.
Regards,Arun Verma
From: Marcus D. Leech via USRP-users <[email protected]>
To: [email protected]
Sent: Monday, 17 December 2018 9:44 AM
Subject: Re: [USRP-users] Phase Offset problem when center frequency is
changed dynamically
On 12/15/2018 08:02 AM, Arun kumar Verma via USRP-users wrote:
Dear Users
I am facing problem of phase offset when i change center frequency
dynamically for TwinRX with X310 setup. Here is my C++ code,
Please advise
usrp_source1->set_rx_lo_source("internal",uhd::usrp::multi_usrp::ALL_LOS,0);
usrp_source1->set_rx_lo_source("companion",uhd::usrp::multi_usrp::ALL_LOS,1);
usrp_sourceDOA1->set_command_time(usrp_sourceDOA1->get_time_now() +
uhd::time_spec_t(0.01));
usrp_sourceDOA1->set_center_freq(m_CenterFrequency,0);
usrp_sourceDOA1->set_center_freq(m_CenterFrequency,1);
usrp_sourceDOA1->clear_command_time();
I feel set_command_time is not working properly. When i start the X310 my
phase difference is almost zero but as i change my frequency pjhase difference
is random in nature.
Regards, Arun Verma
Since you're using the "companion" configuration (where the 2nd-channel LO is
a "copy" of the first), you'll inevitably be dealing with
physical path-length issues between the output of the first-channel
synthesizer and the two-or-more mixers involved.
Since there's almost no way to make the path-lengths electrically the same,
given the array of switches, and circuit-board traces involved,
there'll be some non-zero difference in the electrical path lengths. This
will manifest as different phase offsets at different frequencies.
It will also change slightly with temperature, since circuit traces that are
non-zero-length change electrical length with temperature changes.
The good news is that it should be fairly reproducible, and can be
characterized for your configuration, and you can build a table and use
that for phase compensation.
This is very much like the "inside the radio" version of what inevitably
happens out in your antenna "plumbing":
(A) Getting *exact* phase matches even with apparently "identical" pieces of
coax and other bits of plumbing is near-impossible. This
gets worse with shorter wavelengths.
(B) Those phase lengths will inevitably change with temperature.
Further, it's even worse, because none of these transmission paths have a
dielectric constant of 1.0, which means that smaller physical
length differences are "ampified" by the slower velocity in these
lines--that is, wavelengths are physically shorter, so that a physical
difference affects more of a wavelength.
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com