discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] multi-band receiver


From: Johnathan Corgan
Subject: Re: [Discuss-gnuradio] multi-band receiver
Date: Wed, 05 Sep 2007 11:37:12 -0700
User-agent: Thunderbird 1.5.0.13 (X11/20070824)

Dan Halperin wrote:

> I'm trying to receive, and send, traffic on a fixed but unknown carrier
> frequency within the passband of the USRP. That is, there are many
> communication bands, but transmissions happen on only one of k channels.
> 
> The trivial approach is to have one translating filter, with a channel
> select filter, for each channel and hook them all in parallel to the
> receive chain. Then to respond I can have k different callbacks, one for
> each channel, which will cause response packets to be sent to one of k
> different transmit paths corresponding to the different channels.
> 
> Does anyone see a more elegant way to do this? I can imagine that using
> an FFT I can discover on which channel a transmission occurs, but AFAIK
> there's not a good way for one GNU Radio block to tune another (e.g.
> tuning the xlating filter with the FFT).

For the receive side, you can use a blks.analysis_filterbank to turn a
wideband signal with N carriers into N baseband channels equally spaced.

Then you can attach demodulators to these output ports.

This is demonstrated in the gr-pager code:

http://gnuradio.org/trac/browser/gnuradio/trunk/gr-pager/src/usrp_flex_band.py

Here we capture 1 MHz of USRP spectrum, then create 40 baseband output
channels at 25 KHz each, then attach 40 decoder blocks to these outputs.

On the transmit side, if you only need to transmit on one channel at a
time, you can either tune the daughterboard to the right frequency
(slow), or you can mix the baseband with an offset frequency on the host
and send the composite signal to the USRP (fast, but more CPU.)

If you need to transmit on multiple frequencies at once, use the
blks.synthesis_filterbank, which works in reverse: attach many
modulators to its inputs; it outputs the composite signal that you can
then send to the USRP.  But your modulators will need to be constantly
sending zeros between packets.

-- 
Johnathan Corgan
Corgan Enterprises LLC
http://corganenterprises.com




reply via email to

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