Forum: GNU Radio High CPU load when sending waveform from file to USRP2

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
418dd3dffb93e39e28e28124e9b19f3a?d=identicon&s=25 Jakob Meineke (Guest)
on 2009-04-03 18:03
(Received via mailing list)
Hi all,



I use USRP2 to generate some RF signal around 60 MHz using a script that
is
a slight modification of usrp2_siggen.py. I first create the signal on
the
host, write it into a file sink and when the calculation is done I use
the
same file as a signal source and send it to the USRP2. At this point I
do
not understand why this process uses between 80% and 100% of one CPU.
Whenever the CPU load gets too close to 100% I observe the otherwise
nice
peak at say 60MHz becomes very broad and noisy which renders it useless
for
my application. The load gets close to 100% reliably when the CPU is
switched, but also on its own. The steps in the quality of the signal
are
discrete, it is either very nice or very bad. The computer is a fairly
new
one (HP Compaq de7800p), Intel Core Duo 3.16 GHz, 2 GB RAM running
Ubuntu
8.10. I upgraded today to the latest gnuradio version from the trunk and
recompiled the firmware. The USRP2 is hooked to the onboard Gigabit
Ethernet.

When I do not enable realtime scheduling in the script the CPU load
seems to
increase even more and the signal is never nice. The sampling rate is
10e8/4, where 4 is the interpolation set in siggen.py. Using an
interpolation of 8 seems to alleviate the problem but I need the
bandwidth.
I installed the realtime kernel which did not change a thing.

I would very much appreciate any hints on how to understand this or on
what
I am missing. I do not understand why the CPU load is so high when the
calculation is already done and only the file has to be read. Cheers,



JJM
A725014f091bcd9e8ff16e9f2a0d7e20?d=identicon&s=25 Stefan Bruens (Guest)
on 2009-04-03 18:20
(Received via mailing list)
On Friday 03 April 2009 18:00:03 Jakob Meineke wrote:
> When I do not enable realtime scheduling in the script the CPU load seems
> to increase even more and the signal is never nice. The sampling rate is
> 10e8/4, where 4 is the interpolation set in siggen.py. Using an
> interpolation of 8 seems to alleviate the problem but I need the bandwidth.
> I installed the realtime kernel which did not change a thing.

so you try to read a 25MS/s signal from disk? Assuming you use complex
floats,
this is 8*25MB/s = 200MB/s. Even using complex short is 100MB/s. Most
probably
your CPU is not working, but waiting - you can use top to see whats
going on
(us: user process, sy: kernel workload, wa: waiting)

Stefan
--
Stefan Brüns  /  Bergstraße 21  /  52062 Aachen
phone: +49 241 53809034     mobile: +49 151 50412019
This topic is locked and can not be replied to.