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: Sun, 2 Aug 2015 12:11:00 -0700

That's because of the first LPF - I made it kind of tight. If you
change it from noaa_band_width to oversampled_width, that droop goes
away.

On Sun, Aug 2, 2015 at 12:06 PM, John Ackermann   N8UR <address@hidden> wrote:
> One more thing -- it appears that the lowest frequency channel, 162.400 MHz,
> has an odd response, with lower overall amplitude and a significant droop in
> the middle compared to the other channels.  Any idea what's causing that?
>
> Attached are my modified version of Chris' .grc file, along with a
> screenshot of the channelizer output from the GUI.
>
> John
> ----
>
> On 08/02/2015 02:18 PM, John Ackermann N8UR 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 <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
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> 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]