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