discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] PFB mapping: M < N?


From: John Ackermann N8UR
Subject: Re: [Discuss-gnuradio] PFB mapping: M < N?
Date: Thu, 7 Dec 2017 13:45:42 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

Thanks, Michael.  It's always reassuring to find out "it's not me..."

Although I don't currently need the M < N capability (I was mainly trying to make sure I understood the docs), I'd like to get your blocks if you don't mind.

Thanks!
John
----
On 12/06/2017 08:11 PM, Michael Dickens wrote:
Hi John - You are certainly correct that the documentation could be more
clear. I recall from reviewing the GR-core provided PFB blocks just a
few months ago that either a synthesizer or channelizer existed that
correctly handled the M < N and a mapping, but that the other version
didn't exist and/or didn't work as advertised. I ended up writing my own
Python heir blocks for both PFB versions that did the minimum required
for both PFB channels and mapping. They are not complex scripts, and
they do what you seem to be looking for: 1 input -> M < N outputs with
mapping, and the reverse. I'm happy to share if you'd like to try them
out. Cheers! - MLD

On Mon, Dec 4, 2017, at 10:54 AM, John Ackermann N8UR wrote:
I find the documentation about PFB channel mapping to be confusing.
I've extracted it below.

The first paragraph seems to say the channel map has to have as many
elements "M" as the number of outputs "N".

But the second and third paragraphs talk about cases where M < N, and
only "M out of N channels are driven to an output stream."  This seems
to contradict the first paragraph.

GRC allows me to make a channel map with M elements where M < N, but it
still requires me to connect all N ports to a sink.  If that's so, why
would one ever want map less than N elements?  There seems to be no
benefit to doing so.

Is this documentation contradictory, or confusing, or am I missing
something?

Thanks,
John

  From https://gnuradio.org/doc/sphinx-3.7.0/filter/channelizers_blk.html:
"
The map should have the same number of elements as the number of output
connections from the block. The minimum value of the map is 0 (for the
0th channel) and the maximum number is N-1 where N is the number of
channels.

We specify M as the number of output connections made where M <= N, so
only M out of N channels are driven to an output stream. The number of
items in the channel map should be at least M long. If there are more
channels specified, any value in the map over M-1 will be ignored. If
the size of the map is less than M the behavior is unknown (we don’t
wish to check every entry into the work function).

This means that if the channelizer is splitting the signal up into N
channels but only M channels are specified in the map (where M <= N),
then M output streams must be connected and the map and the channel
numbers used must be less than N-1. Output channel number can be reused,
too. By default, the map is [0...M-1] with M = N."



reply via email to

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