Anderson, Douglas J. | 31 Mar 21:54 2015

gr-uhd: rx_freq tag and lo_locked

Hi all,

I've been working on a flowgraph that controls sweeping a USRP by retuning and then dumping samples until catching the sample tagged with rx_freq of the correct value.

I was confused as to why I was still getting mountains of garbage samples (several hundred thousand at 10MS/s) after catching the rx_freq tag, until today I put "assert(usrp->get_sensor("lo_locked").to_bool())" after the block that identifies the correct rx_freq tag, and it popped immediately.

I'm wondering about the prudence of saying a sample is "at a certain frequency" before the LO has had a chance to settle.

I also realize that gr-uhd folks are trying to make the message interface more robust, and the rx_freq tag is an awesome idea, but what I really want to know is what is the first USABLE sample at my requested freq. If I still have to carry around a usrp_source pointer so that I can check the LO state, then the tags output by the usrp_source lose a lot of appeal.

Any chance of making rx_freq tag "the first usable sample", or is there a good reason for the way it works that I haven't considered?

Discuss-gnuradio mailing list
Discuss-gnuradio <at>
Trek | 31 Mar 21:15 2015

GRC with 2 USRP X310 motherboards and 4 channels

I need to set up 2 X310 motherboards to do a 4 channel receive using Gnuradio-Companion under Ubuntu 14.04 LTS, 

Under GRC, it seems not straighforward to specify the four different carrier frequencies (all four channels have different center freq). 
Pl. help. 

Discuss-gnuradio mailing list
Discuss-gnuradio <at>
Daniele Nicolodi | 31 Mar 20:20 2015

How to control latency


I have a system where I acquire a signal through an Ettus N210 at 200
kHz and I process it through a few GNURadio blocks. Those blocks include
a first low pass filtering and decimation to 1 kHz sampling rate and
further resampling down to 10 Hz or so.

In this configuration the output samples are delivered to the last block
of the flow-graph bunched in packets so that a packet is received every
3 seconds.

This does not seem to depend on the last resampling neither on the
maximum buffer site (set calling `` where `tb` is the top
block of the flow-graph). I also tried to change the UHD frame size with
the `recv_frame_size`, but it had no effect on the latency.

As I'm trying to implement a control loop, I would like to obtain data
at a real 10 Hz rate from my last block. I think the system should be
able to handle the computing overhead just fine.

How can I accomplish this?

Thank you. Cheers,
Johnathan Corgan | 31 Mar 18:20 2015

New Public Course Offerings for SDR and GNU Radio

View this email in your browser

New Public Course Offerings for SDR and GNU Radio

Earlier this year Corgan Labs introduced new public courses that are designed for individuals and small teams.  These courses are built upon the experience Corgan Labs has accumulated as we’ve trained a hundreds of users how to efficiently use GNU Radio and SDR platforms.

With outstanding initial feedback and additional demand, we have added two new courses to our calendar:

These courses provide a brief introduction to GNU Radio, the USRP hardware platform, and general SDR concepts.  After this introduction, attendees will be immersed in hands-on exercises that accelerate learning with a building-block approach.  By the end of the course, users with no previous experience will be able to build simple analog and digital applications.  Each attendee will receive a USRP B200 to be used for the hands-on exercises, which they keep after the course. 


Corgan Labs also offers customized, on-site courses for teams.  For more information or to register for a course, please visit the Corgan Labs Training Services Page.

Johnathan Corgan
Corgan Labs - SDR Training and Development Services
Discuss-gnuradio mailing list
Discuss-gnuradio <at>
Mike Harpe | 31 Mar 16:42 2015

GNU Radio on Raspberry Pi Model 2??

What's the best way to get GNU Radio working on the new Raspberry Pi 2? I have tried a straight from source compile and just installing the package. Both methods ended up not being able to see my FunCube Dongle Pro+ due to ALSA issues. I am not sufficiently experienced with ALSA to fix it myself.

Can anyone point me in the right direction?


Michael Harpe, N4PLE
Sellersburg, IN
Discuss-gnuradio mailing list
Discuss-gnuradio <at>
Marcus Müller | 31 Mar 14:57 2015

Re: Error in creating a block

Hi Vishwanatha,

please stick to the list.

from gnuradio import project
ImportError: cannot import name project

indicates there is some line in your source code where you do that, "from gnuradio import project". Maybe you made a mistake in the <import> tag in your XML, maybe it's in your source code.

I'd search for "from gnuradio import project" inside your source code, and if that doesn't yield where this happens, for "project".


On 03/31/2015 02:49 PM, Vishwanatha H G wrote:
thanks for your help. I'm succeeded in that,
But now it showing the error as in screenshot attached,  what is the problem with this? thank you.

On Tue, Mar 31, 2015 at 2:52 PM, Marcus Müller <marcus.mueller <at>> wrote:
Hi Vishwanatha,

you've forgot to modify your block's XML description, which you can find under /grc in your out of tree module.
I'd like to point you to the guided tutorials [1], which contain information on that topic [2].

Best regards,


On 03/31/2015 09:51 AM, Vishwanatha H G wrote:
   I created a block named 'cost'. But it showing the error as in screenshot attached what is the problem with this? thanks for your advice.

_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio <at>

Discuss-gnuradio mailing list
Discuss-gnuradio <at>

Discuss-gnuradio mailing list
Discuss-gnuradio <at>
Murphy, John | 31 Mar 14:55 2015

Copying OOT blocks to a different system

Hello again GNU Radio'ers,

We are trying to copy an OOT module with custom C++ blocks from one
system to another. We've done this successfully before where the
systems were nearly exact copies, but now we are trying to do this
between systems that are different, in this particular case the source
is a Fedora system and the destination is a VM LinuxMint system. The
source system, and I believe the destination system, were installed
using build-gnuradio.

The essentials of the procedure have been to use gr_modtool to
generate a dummy module and block on the destination system, copy the
required source files, and build and install.

Well... we are getting the "AttributeError: module 'mymodulename' has
no attribute 'myblockname'."

We've hacked through all the stuff we could think of (ldconfig,
PYTHONPATH, /etc/ld/so.conf.d, config.conf), and have not found
anything that looks wrong to us.

Oddly, when the build was done before we added what should have been a
required item in the module cmake to use FFT, the make did not
generate an error as I would think it should. But when we purposely
garbled a line of code to check, it did indeed generate an error.

Any idea what this could be?
Also, is there somewhere an outline of how to go about this
module/block copy process?

Thanks again,
- John
Gisle Vanem | 31 Mar 12:37 2015

Illegal CustomBuild for MSVC 18

I have had some more success building Gr using MSVC v18
than MSVC v16 previously (nearly impossible). Besides the
high noise-level (due to cmake/msvc/config.h), the C++ building
seems fine.

But the build stops in 'build\gnuradio-runtime\swig'
at some CustomBuild/CustomCommand. Here is from the MSbuild

   if %errorlevel% neq 0 goto :cmEnd
   endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
   exit /b %1
   if %errorlevel% neq 0 goto :VCEnd
   ""         << !! because of this
   if %errorlevel% neq 0 goto :cmEnd
   endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
   exit /b %1
   if %errorlevel% neq 0 goto :VCEnd
   if %errorlevel% neq 0 goto :cmEnd
   endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
   exit /b %1
   if %errorlevel% neq 0 goto :VCEnd
   Building Custom Rule F:/gv/dx-radio/gnuradio-3.x/gnuradio-runtime/swig/CMakeLists.txt

   '""' is not recognized as an internal or external command,

What command in 'gnuradio-runtime\swig\CMakeLists.txt' could trigger this
illegal CMD batch snippet?

BTW. I generated the .sln/.vcxproj files by a script:
   cd build
         -DCMAKE_CXX_COMPILER_ENV_VAR=-nologo -O2 -MD ^
         -DCMAKE_C_COMPILER_ENV_VAR=-nologo -O2 -MD ^
         -Wno-dev -DCMAKE_BUILD_TYPE="Release" -DENABLE_TESTING=1 ^

   cmake %OPT% -G "Visual Studio 12 2013" ..


Vishwanatha H G | 31 Mar 09:51 2015

Error in creating a block

   I created a block named 'cost'. But it showing the error as in screenshot attached what is the problem with this? thanks for your advice.
Discuss-gnuradio mailing list
Discuss-gnuradio <at>
Richard Bell | 30 Mar 20:51 2015

Generating Custom Packet Header

Hello everyone,

I've made the default packet generator work for my radio. I now want to make a custom header. The difference is described below:

GNU Radio Default Header: [Payload Length (12 bits) | Packet Number (12 bits) | CRC (12 bits)]

My Custom Header: [ Sync Bits (1010101...) (128 bits) | PN Sequence (16 bit) | PN Sequence (16 bit) | Payload Length (16 bits) ]

I am using my header for synchronization only. I don't want the CRC check in there and I don't want packet numbers.

My understanding of how to attack this is as follows:
1) Customize which is responsible for making the custom header object
2) No change needed for the Packet_Header_Generator block
3) No change needed for the Packet_Header_Parser block

If this is correct, how should I replace with, since they are not blocks in GRC? Should I think of this the same way I would if I were making a custom GRC block, and follow the custom block tutorials?

Discuss-gnuradio mailing list
Discuss-gnuradio <at>
Murphy, John | 30 Mar 14:39 2015

QT GUI Update Rates for Vector vs Number Sink

My GRC flowgraph has a block that outputs a float and a vector of
floats, at a rate of approx 1.49 updates per second. These go to a QT
GUI Vector Sink and a QT GUI Number Sink. The number sink has a graph
type of "None" so it is just showing the number.

When I calculate and enter the actual update period (1 / 1.49 ish)
then the displays do not update at the proper interval and the update
timing is very inconsistent. So I have both QT GUI Sinks set to Update
Period of 0.

The vector sink shows every update right on cue.
The number sink reliably shows every eighth (8th) update. You can
watch both and count the regular vector sink updates and every 8 times
the number sink will update.

I have also noticed the first number update happens reliably (all
possible testing <g>) on the fifth vector update, if that helps locate
the issue.

Since the vector stream and the float stream are coming from the same
block the rate has to be the same, so I am assuming it is not my block
that is failing to output updates. And the block C++ looks correct for
the output part of the work function. My guess anyhow.

Is this a known QT GUI Number Sink bug or do I have something
configured incorrectly? Any idea what it could be?

If it is of any relevance, here is the system info:
Fedora 20 (uname -r is 3.18.9-100.fc20.x86_64)
LXDE desktop environment
GNU Radio version
UHD version 3.8.1
USRP B200 with TCXO GPSDO connected over USB3
i7-4990R brick with 16 GB RAM and SSD