discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Multiplying the inputs with a scalar/vector in my


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Multiplying the inputs with a scalar/vector in my own block
Date: Wed, 8 Jun 2016 20:59:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

Hi Pavan,

I am seeing Us on the output basically every time.
That means the USRP ran out of samples to transmit when they were due to be transmitted!
So, this means the block isn't fast enough to handle 30.72 million samples per second?
It seems like it, yes.
Should I lower that sampling rate? And to what value? How do we know?
Well, usually, sampling rate is a demand of your application that you need to meet, not the other way around.
You'd know you've reduced the sampling rate enough as soon as you stop seeing "U"s. You could approach this problem with benchmarking, but to be honest: just a bit of trial and error will get you there faster.
And I guess what is the "correct" thing to see on the output? This is very likely my problem.
Well, multiplication with 1 really is a no-op, so you should be seeing your normal spectrum. However, the repeated underruns mean that there's discontinuities in your signal, which inherently have high bandwidth. So, I'd expect that as soon as we fix the "U" issue, your signal would be fine.

So, Python blocks are really not what I'd recommend at high rates. The Python handling overhead is substantial.
Try implementing things in C++ blocks; that should give you a solid boost. Ideally, you'd do things like multiplications and additions with VOLK kernels [1], but don't optimize too early, and just write readable C++ first.

Best regards,
Marcus

[1] http://libvolk.org

On 08.06.2016 19:34, Pavan Yedavalli wrote:
Hi Marcus,

Thanks for getting back to me. To address both things you mentioned:

(1) Yes, that was a typo. One of them should have said in0; I made a mistake while copying over; the code was correct, however, and that behavior still existed.

(2) This is interesting. I am seeing Us on the output basically every time. So, this means the block isn't fast enough to handle 30.72 million samples per second? Should I lower that sampling rate? And to what value? How do we know? And I guess what is the "correct" thing to see on the output? This is very likely my problem. Please keep me posted! Thanks.

--
Pavan


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

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