Friday, March 16, 2018

Re: [Discuss-gnuradio] Working with GRC! Vector decimate

On 03/16/2018 10:57 AM, Glen I Langston wrote:
> Hi
>
> Thanks for your help. I know no-one else cares, but
> I've finally figured out all the steps to get Vector decimation working with GRC.
>
> A few notes: I don't think forecast() is ever called with a decimate block.
>
> Multiple output vectors are possible, and care needs to be taken to count
> all the outputs.
>
> My initial QA only had one vector output, so worked fine.
> GRC was generating multiple vectors as output and my vave code was chocking
> on multiple outputs.
>
> I've yet to figure out how to put this block in GitHub
>
Glen:

First, congrats on getting your first custom block working. I pop the
virtual champagne cork in your general direction.

Next, rough outline of getting your stuff on GitHub:

Create a GitHub account. Create a project.

Do an initial git clone of the project, and move your "stuff" into there.

Git "add" all the pieces that should be under source control.

Git "commit -a"

Git push

There, you have an initial instance of your stuff.

Now, since this block just does the (rough) equivalent (at the moment)
of a single-pole-IIR filter followed by a keep-one-in-N, it would be
useful to compare
performance of your fused block. I suspect that it will be
poorer--because it's written in Python.

A fairer test would be to create a fused averager+decimator in C++,
taking advantage of whatever SIMD tricks might be available. The savings
on "fused" blocks are that they localize data-motion, but they may,
for significant-sized inputs, lose out due to the single-threaded nature
of them.

Optimization is tricky, and it's not always obvious that any given
approach will "always work".





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

No comments:

Post a Comment