discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Vector Source and QT GUI Time Sink causes performance drop


From: Derek Kozel
Subject: Re: Vector Source and QT GUI Time Sink causes performance drop
Date: Sat, 9 Jan 2021 22:47:25 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Hi Mariusz,

The main issue here is that you're missing a Throttle block in your flowgraph. You have no Hardware block in the flowgraph, it is pure simulation. GNU Radio will try to run the processing as fast as possible, using 100% of available CPU. A Throttle block limits the simulation speed to approximately realtime (to the set sample rate per second).

A hardware source or sink will have a real, physical clock and will restrict the number of samples produced (Source) or consumed (Sink) and the other blocks will not be able to run at infinite speed (using all the CPU).

I'm curious why that would work better with a different non-hardware source rather than the Vector Source, but the recommended fix is straightforward.

Regards,
Derek

On 09/01/2021 22:32, Mariusz Pluciński wrote:
Hello everybody,

I'm quite new to GNU Radio (and to signal processing as well), but I did a few successful experimens. But now, I encountered a weird behavior, namely:

Every flowgraph including Vector Source and QT GUI Time Sink conencted (regardless if directly or with intermediate steps) causes huge performance degradation. CPU usage jumps to 100% of a core, window takes a few seconds to refresh, GUI becomes almost unusable.

Everything works well if I use any different source, .e.g. Signal Source or osmocom Source.
Everything works well if I use any different sink, e.g. Audio Sink or QT GUI Frequency Sink.

It's just this specific combination that causes the issue. Drastically reducing the number of points in the Time Sink helps, but at the cost of the output becoming useless.

To reproduce the problem, it's enough to do the following in GNU Radio Companion:
1. Create an empty flow graph
2. Add "Vector Source"
3. Change "Vector" parameter to "(0, 0, 0, 1)"
4. Add "QT GUI Time Sink"
5. Connect both blocks
6. Run

Am I doing something wrong here?

(in case it's necessary, my ultimate goal here is to use the vector source as a source of bits to modulate a square wave; the output will later be transmitted out, but first, I'd like to see it in the Time Sink)

I'm using GNU Radio 3.8.1.0 on Ubuntu 20.04.

Best Regards,
Mariusz Plucinski


reply via email to

[Prev in Thread] Current Thread [Next in Thread]