Just as a heads up, someone mailed this into the mailing list the other
day. I think it accomplishes exactly what you all want -- although it
doesn't use PFBs as I recall.

https://github.com/madengr/ham2mon

- Tim

On Sun, Aug 2, 2015 at 2:18 PM, John Ackermann N8UR <j...@febo.com> wrote:

> Hi Chris --
>
> Using the variables, I now have the program working in general.
>
> The channel mapping gave me some nightmares, though.  I finally decided
> that you need two maps -- one for the channelizer block, where you do the
> 4,5,6,7,0,1,2,3 translation, and another for the GUI that is a simple 0..7.
>
> With that, it seems to be working well although my WBX front end seems to
> have been fried as it is more deaf than it used to be.  Time to switch to
> hardware troubleshooting mode...
>
> Thanks, again!
>
> John
> ----
>
>
> On 08/02/2015 12:10 AM, Chris Kuethe wrote:
>
>> Thanks for pointing out the paste-o. I'll fix that.
>>
>> I'm using gnuradio 3.7.8rc1, which has helper blocks for computing
>> filter taps. You can replace them with variables:
>>
>> pfb_taps = firdes.low_pass(2.0, oversampled_width, noaa_fm_dev * 2,
>> 2500, firdes.WIN_HAMMING, 6.76)
>> lpf_taps = firdes.low_pass(1.0, hardware_rate, noaa_band_width / 2,
>> noaa_chan_width, firdes.WIN_HAMMING, 6.76)
>>
>> On Sat, Aug 1, 2015 at 5:00 PM, John Ackermann   N8UR <j...@febo.com>
>> wrote:
>>
>>> Thanks much for this, Chris!  I look forward to playing with it, but...
>>>
>>> When I load the flowgraph on my GRC 3.7.6.1 system, I get a "Missing
>>> Block"
>>> error for each of lpf_taps and pbf_taps, triggering errors in the xfft
>>> and
>>> channelizer blocks.
>>>
>>> I also had an error in the "Multiply Const" block coming out of channel
>>> 7.
>>> but that was caused by a missing space before "else" in the evaluation.
>>>
>>> Help?
>>>
>>> But thanks so much for taking this on.  It's the perfect starting point
>>> for
>>> some projects I've been wanting to work on!
>>>
>>> John
>>> ----
>>>
>>> On 08/01/2015 03:26 PM, Chris Kuethe wrote:
>>>
>>>>
>>>> OK, Here it is... at least, a beta version.  I have yet to come up with
>>>> a concise explanation of the channel map and why you'd want to
>>>> oversample, but it is functional.
>>>>
>>>> This flowgraph would work equally well by directly connecting all the
>>>> ports together, but I'm a big fan of using virtual sources and sinks to
>>>> make the design somewhat self-documenting..
>>>>
>>>>
>>>>
>>>> On Sat, Aug 1, 2015 at 4:55 AM, Markus Heller <hel...@relix.de
>>>> <mailto:hel...@relix.de>> wrote:
>>>>
>>>>      Great! Thanks! I'm very curious!
>>>>
>>>>      br/vy73
>>>>      markus
>>>>      dl8rds
>>>>
>>>>      Am Freitag, den 31.07.2015, 14:34 -0700 schrieb Chris Kuethe:
>>>>       > OK, I have a mostly working flowgraph and am now adding comment
>>>>      to all
>>>>       > the blocks explaining why I'm doing this or that. Will publish
>>>>      tonight
>>>>       > or tomorrow.
>>>>       >
>>>>       > On Tue, Jul 21, 2015 at 11:56 AM, Chris Kuethe
>>>>      <chris.kue...@gmail.com <mailto:chris.kue...@gmail.com>> wrote:
>>>>       > > Maybe I'll do up an illustrated example on this using NOAA
>>>> weather
>>>>       > > radio, or the pager band
>>>>       > >
>>>>       > > On Tue, Jul 21, 2015 at 11:42 AM,  <mle...@ripnet.com
>>>>      <mailto:mle...@ripnet.com>> wrote:
>>>>       > >> I just use the built-in firdes stuff, rather than using an
>>>>      external
>>>>       > >> designer.
>>>>       > >>
>>>>       > >>
>>>>       > >>
>>>>       > >>
>>>>       > >>
>>>>       > >>
>>>>       > >>
>>>>       > >> On 2015-07-21 14:38, Marcus Müller wrote:
>>>>       > >>
>>>>       > >> Hi Rich, hello Markus,
>>>>       > >>
>>>>       > >> On 21.07.2015 19 <tel:21.07.2015%2019>:51, Richard Bell
>>>> wrote:
>>>>       > >>
>>>>       > >> GNU Radio has channelizers built-in, but I've not used them
>>>>      yet, so I don't
>>>>       > >> know how far they take you into this kind of task.
>>>>       > >>
>>>>       > >> the Polyphase channelizer is actually an implementation
>>>>      derived from that
>>>>       > >> school of thought, and it works amazingly well.
>>>>       > >> In fact, in preparation of a presentation at a certain ham
>>>>      conference, I
>>>>       > >> tried using it to get 20 PMR/LPD channels out of a 1MS/s
>>>>      signal in real
>>>>       > >> time, and then just shuffle them around, before feeding them
>>>>      back into the
>>>>       > >> inverse synthesizer PFB.
>>>>       > >>
>>>>       > >> It's pretty easy:
>>>>       > >> Design a single low pass filter, as if you just wanted to
>>>>      filter out the
>>>>       > >> channel which is centered exactly at your RF center
>>>> frequency,
>>>>      i.e. 0Hz,
>>>>       > >> with the full sampling rate [2], using the gr_filter_design
>>>>      tool. Play
>>>>       > >> around with the different window types[1], and bear in mind
>>>>      that the
>>>>       > >> suppression outside your desired passband needs to be high
>>>>      enough so that
>>>>       > >> the sum of the energy in all other channels don't hurt your
>>>>      channel too
>>>>       > >> much, but don't overdo it (60dB suppression should be
>>>> enough).
>>>>       > >> Now you get a long filter. Copy and paste the filter
>>>>      coefficients from
>>>>       > >> gr_filter_design to your PFB filter taps property.
>>>>       > >> Set your channelizers number of channels according to your
>>>>      plans -- 40, if
>>>>       > >> you want to get all the 40 25kHz channels in 2MHz. You get a
>>>>      block with 40
>>>>       > >> outputs!
>>>>       > >> Explaining things like channel mapping is best done by
>>>>      pointing you at the
>>>>       > >> official documentation: [3]
>>>>       > >>
>>>>       > >>
>>>>       > >> Greetings!
>>>>       > >> Marcus
>>>>       > >>
>>>>       > >> [1] Hamming is not always the best choice, I'd try that,
>>>>      Blackman-harris,
>>>>       > >> and Kaiser. I personally like harris in this case -- we want
>>>>      to get a full
>>>>       > >> channel, two adjacent channels are usually not occupied, and
>>>>      as soon as we
>>>>       > >> pass the stopband frequency, we're basically at -100dB.
>>>>       > >> [2] assuming you want to use 2MS/s for your 2MHz wide band,
>>>>      2MHz sampling
>>>>       > >> rate, and assuming 25kHz wide channels, 12.5kHz cut off
>>>>      frequency, 25kHz
>>>>       > >> start of stoppband. I get something like 440 taps.
>>>>       > >> [3]
>>>>       > >>
>>>>
>>>>
>>>> https://gnuradio.org/doc/doxygen/classgr_1_1filter_1_1pfb__channelizer__ccf.html
>>>>       > >>
>>>>       > >> _______________________________________________
>>>>       > >> Discuss-gnuradio mailing list
>>>>       > >> Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
>>>>       > >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>       > >>
>>>>       > >>
>>>>       > >> _______________________________________________
>>>>       > >> Discuss-gnuradio mailing list
>>>>       > >> Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
>>>>       > >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>       > >>
>>>>       > >
>>>>       > >
>>>>       > >
>>>>       > > --
>>>>       > > GDB has a 'break' feature; why doesn't it have 'fix' too?
>>>>       >
>>>>       >
>>>>       >
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> GDB has a 'break' feature; why doesn't it have 'fix' too?
>>>>
>>>>
>>>> _______________________________________________
>>>> Discuss-gnuradio mailing list
>>>> Discuss-gnuradio@gnu.org
>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>
>>>>
>>> _______________________________________________
>>> Discuss-gnuradio mailing list
>>> Discuss-gnuradio@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>
>>
>>
>>
>>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to