discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] isolate channels from wideband


From: Chris Kuethe
Subject: Re: [Discuss-gnuradio] isolate channels from wideband
Date: Sat, 1 Aug 2015 21:10:33 -0700

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 <address@hidden> 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 <address@hidden
>> <mailto:address@hidden>> 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
>>     <address@hidden <mailto:address@hidden>> 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,  <address@hidden
>>     <mailto:address@hidden>> 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
>>      > >> address@hidden <mailto:address@hidden>
>>      > >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>      > >>
>>      > >>
>>      > >> _______________________________________________
>>      > >> Discuss-gnuradio mailing list
>>      > >> address@hidden <mailto:address@hidden>
>>      > >> 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
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



-- 
GDB has a 'break' feature; why doesn't it have 'fix' too?



reply via email to

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