[USRP-users] Maintaining USRP Carrier Frequency Lock

Marcus D. Leech patchvonbraun at gmail.com
Thu Jan 30 14:57:09 EST 2020

On 01/30/2020 01:35 PM, Richard Bell via USRP-users wrote:
> Hello,
> I am trying to collect serveral data sets through USRP X300's. Assume 
> each collection is 1000 samples long and is initiated by a user typing 
> a button on the keyboard. Each time the user hits a key 1000 samples 
> are collected and stored to a file. The time between each collect is 
> defined by the user hitting the key.
> I need to make sure the USRPs are not loosing carrier lock between 
> these collections. I want the USRPs to stay locked to whatever center 
> frequency is set and sit there for the length of the time the user 
> wants to collect data sets. What is the best way to ensure this?
> For example, if I use GNU Radio and head blocks feeding into file 
> sinks with calls to tb.start and tb.stop, does the call to tb.stop 
> cause the USRP to forget the carrier it was locked to and start over 
> again on the next call to tb.start? Can I call tb.start multiple times 
> without a call to tb.stop?
> Thank for any help you can provide.
I think this will likely work, although I think it depends on how much 
"device init" is done on flow-graph start.  I think a lot of it is done when
   the device is instantiated, and whatever happens at FG start is 

You'll have to test this in your environment.

You might also chose another architecture for your software to remove 
the possibility of device re-init.

You can for example just stream forever, and only pay attention to the 
samples you want to pay attention to.

More information about the USRP-users mailing list