Locking USRP2 to external 10MHz reference in the UHD/GRC universe

How do I arrange to lock the USRP2 to an external 10MHz reference in the
UHD+GRC world? Is there an “arg” I can pass when I
create the UHD USRP2 simple source in GRC?

This is for some pulsar research, where an external stable reference
makes life soooo much easier.


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org

Swig brings in the clock config struct into python. The python code
looks like:

from gnuradio import uhd
ccfg = uhd.clock_config_t()
ccfg.ref_source = ccfg.REF_SMA
ccfg.pps_source = ccfg.PPS_SMA
ccfg.pps_polarity = ccfg.PPS_POS

so the the grc xml wrapper you need that bit of code along with

$(id).set_clock_config(ccfg)

-Josh

Hi,

I’m using a mimo (2x2) USRP2 system. Both of the receiver USRP2 receive
a PPS- and a Clock-Signal provided by one GPS card. In grc I use the
uhd_mimo_source block and two file_sink to receive and save the data
sent. After starting RX the USRP2 mimo system seems to lock to the
reference clock and reset the timer on PPS. Is this true? Or do I have
to configure the block to do so? If I test the data with correlation it
fails, which seems to be an indicator that at least the reference clock
is not locked on.

Is the uhd_mimo_source block automatically locked to external reference
clock if used or do I have to configure it?

Thanks

Johannes.

Am 23.08.2010 um 05:02 schrieb Josh B.:

On 08/26/2010 07:40 AM, Johannes Wenzel wrote:

Is the uhd_mimo_source block automatically locked to external
reference clock if used or do I have to configure it?

What do you mean by correlation fails?

Matt

The locking to external ref in the uhd mimo blocks is automatic. If you
are receiving samples, then the individual channels are aligned to their
timestamps. Otherwise gnuradio gets a 404 samples not found.

You can also see the alignment if you look at magnitude of ch0 vs ch1 on
a scope sink (assuming the RF input is identical). I have tested this
with Basic RX boards; what daughterboards are you using?

-Josh

The capability is already there. If you need an example, take a look at
the generated python code when you enable the ref clock for the uhd
source or sink block in GRC. -Josh

Hi,

The capability is already there. If you need an example, take a look
at the generated python code when you enable the ref clock for the uhd
source or sink block in GRC. -Josh

How? There’s no option for turning on the ref clock in the UHD Single
source block. Thus nothing adds to the code.

Regards,
Thomas


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan

http://gnuradio.org/cgit/gnuradio.git/tree/gr-uhd/grc/gen_uhd_single_usrp_blocks_xml.py?h=next&id=d74eacddbb8875479fef1d9ca75f36fca78df792#n33

Hi Josh,

I understand that the mimo blocks use the external ref automatically,
but how to get this done with the UHD Single source block? In one of the
prior mails you mentioned some Python code together with the XML wrapper
changes. Can you tell me explicitly where to put that code?

Regards,
Thomas

On 08/27/2010 01:28 AM, Josh B. wrote:

On 08/26/2010 07:40 AM, Johannes Wenzel wrote:

looks like:


Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan

Hm… now I get a segmentation fault error after updating to the new UHD
code.
I cleaned the old GNURADIO and UHD installations, downloaded the latest
versions and rebuild everything.
But when I insert an UHD block in GRC is crashes with a segmentation
fault.

Is there anything missing?

Regards,
Thomas

On 11/22/2010 03:50 PM, Thomas H. wrote:

On 11/22/2010 03:04 PM, Josh B. wrote:

source or sink block in GRC. -Josh
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan

Its most likely the result of an ABI change. Are you sure everything is
rebuilt? Any lingering library files either with gnuradio or uhd? -Josh

Hi,

Thanks for this hint. I seems I had to update my repo to get the latest
source which provides provides the ref clock switch.

Sorry for taking your time and thanks for the help.

Thomas

On 11/22/2010 03:04 PM, Josh B. wrote:

http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan

Hi,

I did “make uninstall” as root with both GNURADIO and UHD. The deleted
the folders, got a fresh repo with GIT, then installed everything from
the scratch. All other blocks seem to work normal, only whenever I
insert an UHD block GRC crashes. Is there anything else which I missed?
BTW, I am using Fedora 13 (64bit).

Regards,
Thomas

----- Original Message -----

Its most likely the result of an ABI change. Are you sure everything
is
rebuilt? Any lingering library files either with gnuradio or uhd? -
Josh

On 11/22/2010 02:13 AM, Thomas H. wrote:

Hm… now I get a segmentation fault error after updating to the new
UHD

code.
I cleaned the old GNURADIO and UHD installations, downloaded the
latest

versions and rebuild everything.
But when I insert an UHD block in GRC is crashes with a segmentation
fault.

latest source which provides provides the ref clock switch.

Sorry for taking your time and thanks for the help.

Thomas

On 11/22/2010 03:04 PM, Josh B. wrote:

http://gnuradio.org/cgit/gnuradio.git/tree/gr-uhd/grc/gen_uhd_
single_usrp_blocks_xml.py?h=next&id=d74eacddbb8875479fef1d9ca75f36fca78d
f792#n33

On 11/21/2010 09:59 PM, Thomas H. wrote:

Hi,

The capability is already there. If you need an example, take a
look

at the generated python code when you enable the ref clock for
the uhd

source or sink block in GRC. -Josh

How? There’s no option for turning on the ref clock in the UHD
Single

Hi,

Thanks for the prompt response. I am out of office today, and will
reconfirm the steps below tomorrow.

Make sure you dont have any old libuhd.so
I will double check.

You said it crashed on import: Run python in gdb and see what it spits
out.

gdb python
run -c “from gnuradio import uhd”

… crashes here…

backtrace

OK, I did not try that. What I said is that it crashes when I place an
UHD block in GRC. I will also try your debug.

Thanks.
Thomas

Hi Josh,

Thanks for your hints. It turned out that I had two libuhd.so. One (new
one) in /usr/local/lib and one old one in /usr/local/lib64. GRC always
loaded the old one which caused the crash. After deleting both and doing
a fresh install the problem seems to be solved.

Thanks.

Thomas

On 11/23/2010 10:25 AM, Josh B. wrote:

backtrace

-Josh


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan

Make sure you dont have any old libuhd.so

You said it crashed on import: Run python in gdb and see what it spits
out.

gdb python
run -c “from gnuradio import uhd”

… crashes here…

backtrace

-Josh