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: Michael Dickens
Subject: Re: [Discuss-gnuradio] PFB mapping: M < N?
Date: Wed, 06 Dec 2017 20:11:23 -0500

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]