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: John Ackermann N8UR
Subject: Re: [Discuss-gnuradio] isolate channels from wideband
Date: Sun, 02 Aug 2015 14:18:20 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

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 <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






reply via email to

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