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 <[email protected]> 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 <[email protected] >> <mailto:[email protected]>> 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 >> <[email protected] <mailto:[email protected]>> 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, <[email protected] >> <mailto:[email protected]>> 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 >> > >> [email protected] <mailto:[email protected]> >> > >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > >> >> > >> >> > >> _______________________________________________ >> > >> Discuss-gnuradio mailing list >> > >> [email protected] <mailto:[email protected]> >> > >> 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 >> [email protected] >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > > _______________________________________________ > Discuss-gnuradio mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio -- GDB has a 'break' feature; why doesn't it have 'fix' too? _______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
