Discussion and technical support related to USRP, UHD, RFNoC
View all threadsI was hoping for some feedback on the attached python script which
implements a frequency hopping transmitter using a USRP (N210 with WBX DB
in my case). The script allows you to enter a dwell time, which is how long
the radio sits at each frequency, and then hops to a random frequency
within a user specified range of frequencies.
The point of this script is to quantitatively estimate the fastest hopping
speed a USRP can handle. To do this, I used the Python time module and
time.clock() on a Ubuntu 14.04 LTS intel corei7 computer to measure the
time between hops. If the time between hops was greater then the dwell
time, the script declares that the hop rate is not supported.
Part of the measurement does include waiting for the LO to lock, to make
the measurement fair. The transmitted signal is just a constant at
baseband, which produces a pure sine at passband, or a tone. So you will
just see tones on a spec analyzer as the script runs. I didn't care to get
more complicated with the baseband signal because I'm interested in the
fastest hop rate only.
What I would welcome, is any glaring issues I've overlooked in my
implementation to make this measurement. I can't claim that this script is
the most efficient way of getting the USRP to hop, it's only my stab at it.
If anyone would recommend a different technique to improve the hop rate, I
would love to hear about it.
My findings using this script are that the USRPN210+WBX consistently
support hop rates of 200 Hz. Faster then this, and eventually you get a hop
that misses a deadline within a few seconds of starting the script. I've
gotten single hops to occur within the specified dwell time as fast as 1250
kHz, but this cannot be sustained. Eventually at these rates, a hop
deadline is missed.
Look forward to hearing any pointers or guidance that can be offered.
v/,r
Rich
I have seen freq hop times consistently sub millisecond through the C++ interface, often as fast as 850 u-seconds for a full retune, not just a dsp tune.
This seems pretty consistent with your 1250Hz (assuming kHz is a typo).
I didn’t run for extended period of time hopping very quickly, so I cant comment on the sustainment part of your observation.
We have run a “slowly” hopping application for single digit hours without issue…
From: USRP-users [mailto:usrp-users-bounces@lists.ettus.com] On Behalf Of Richard Bell via USRP-users
Sent: Thursday, April 7, 2016 7:17 PM
To: USRP-users@lists.ettus.com
Subject: [USRP-users] Frequency Hopping Transmitter
I was hoping for some feedback on the attached python script which implements a frequency hopping transmitter using a USRP (N210 with WBX DB in my case). The script allows you to enter a dwell time, which is how long the radio sits at each frequency, and then hops to a random frequency within a user specified range of frequencies.
The point of this script is to quantitatively estimate the fastest hopping speed a USRP can handle. To do this, I used the Python time module and time.clock() on a Ubuntu 14.04 LTS intel corei7 computer to measure the time between hops. If the time between hops was greater then the dwell time, the script declares that the hop rate is not supported.
Part of the measurement does include waiting for the LO to lock, to make the measurement fair. The transmitted signal is just a constant at baseband, which produces a pure sine at passband, or a tone. So you will just see tones on a spec analyzer as the script runs. I didn't care to get more complicated with the baseband signal because I'm interested in the fastest hop rate only.
What I would welcome, is any glaring issues I've overlooked in my implementation to make this measurement. I can't claim that this script is the most efficient way of getting the USRP to hop, it's only my stab at it. If anyone would recommend a different technique to improve the hop rate, I would love to hear about it.
My findings using this script are that the USRPN210+WBX consistently support hop rates of 200 Hz. Faster then this, and eventually you get a hop that misses a deadline within a few seconds of starting the script. I've gotten single hops to occur within the specified dwell time as fast as 1250 kHz, but this cannot be sustained. Eventually at these rates, a hop deadline is missed.
Look forward to hearing any pointers or guidance that can be offered.
v/,r
Rich
Alright thanks for the feedback, I appreciate it. (The kHz was a typo
indeed, I meant Hz.)
Rich
On Thu, Apr 7, 2016 at 6:20 PM, Tilla tilla@comcast.net wrote:
I have seen freq hop times consistently sub millisecond through the C++
interface, often as fast as 850 u-seconds for a full retune, not just a dsp
tune.
This seems pretty consistent with your 1250Hz (assuming kHz is a typo).
I didn’t run for extended period of time hopping very quickly, so I cant
comment on the sustainment part of your observation.
We have run a “slowly” hopping application for single digit hours without
issue…
From: USRP-users [mailto:usrp-users-bounces@lists.ettus.com] *On Behalf
Of *Richard Bell via USRP-users
Sent: Thursday, April 7, 2016 7:17 PM
To: USRP-users@lists.ettus.com
Subject: [USRP-users] Frequency Hopping Transmitter
I was hoping for some feedback on the attached python script which
implements a frequency hopping transmitter using a USRP (N210 with WBX DB
in my case). The script allows you to enter a dwell time, which is how long
the radio sits at each frequency, and then hops to a random frequency
within a user specified range of frequencies.
The point of this script is to quantitatively estimate the fastest hopping
speed a USRP can handle. To do this, I used the Python time module and
time.clock() on a Ubuntu 14.04 LTS intel corei7 computer to measure the
time between hops. If the time between hops was greater then the dwell
time, the script declares that the hop rate is not supported.
Part of the measurement does include waiting for the LO to lock, to make
the measurement fair. The transmitted signal is just a constant at
baseband, which produces a pure sine at passband, or a tone. So you will
just see tones on a spec analyzer as the script runs. I didn't care to get
more complicated with the baseband signal because I'm interested in the
fastest hop rate only.
What I would welcome, is any glaring issues I've overlooked in my
implementation to make this measurement. I can't claim that this script is
the most efficient way of getting the USRP to hop, it's only my stab at it.
If anyone would recommend a different technique to improve the hop rate, I
would love to hear about it.
My findings using this script are that the USRPN210+WBX consistently
support hop rates of 200 Hz. Faster then this, and eventually you get a hop
that misses a deadline within a few seconds of starting the script. I've
gotten single hops to occur within the specified dwell time as fast as 1250
kHz, but this cannot be sustained. Eventually at these rates, a hop
deadline is missed.
Look forward to hearing any pointers or guidance that can be offered.
v/,r
Rich