Designing a good receiver

This comes from a discussion over on the USRP-users mailing list, but
I felt it would be more appropriate to post here. Over on that list,
someone was asking about problems they were having consistently
receiving data on their USRP. My background is in CS, not RF comms, so
please forgive me as I’m sure the answer will be fairly standard :slight_smile:

Anyways, the question I have is, is there a general procedure one can
follow to design a decent receiver in gnuradio? For example, I have a
project that I’m using for experimentation where my receiver looks
like this: USRP Source -> GMSK Demod -> Packet Decoder -> File Sink.
This works well when I have the USRPs cabled together and even when I
have antennas with line of sight (I haven’t checked max distance).
When I don’t have line of sight, however, I stop receiving packets.
Are there any other gnuradio blocks I can add in to my setup which
will help get better performance when there is no line of sight? I
haven’t tested it, but my guess is that when there is no line of
sight, there must be a frequency shift or something of that nature
happening which ruins the connection.

Mike

On Thu, Jun 2, 2011 at 7:10 AM, Mike C. [email protected]
wrote:

This works well when I have the USRPs cabled together and even when I
have antennas with line of sight (I haven’t checked max distance).
When I don’t have line of sight, however, I stop receiving packets.
Are there any other gnuradio blocks I can add in to my setup which
will help get better performance when there is no line of sight? I
haven’t tested it, but my guess is that when there is no line of
sight, there must be a frequency shift or something of that nature
happening which ruins the connection.

Transmitting is the easy part, it’s the receiving that is difficult.

Recently, there were some articles printed by EE Times about
propagation:

http://www.eetimes.com/ContentEETimes/Documents/McClaning_3_pt1.pdf
http://www.eetimes.com/ContentEETimes/Documents/McClaning_3_pt2.pdf

They are from the book Wireless Receiver Design for Digital
Communications, 2nd Edition, by Kevin McClaning. This is probably
good reading in general.

Good luck.

Brian

On 06/02/2011 07:10 AM, Mike C. wrote:

This works well when I have the USRPs cabled together and even when I

There are a few things that could be a problem:

o multipath
o received signal strength

What type of daughtercards are you using, and when you cable them
together, I hope that you’re
using an attenuator? Otherwise, you risk damaging the LNA on the
receive side, which will cause
it to be either partially or completely deaf.

Frequency offset is a problem, but is usually not sensitive to path
loss. In most real radios, you
need to determine the frequency offset, as seen by the receiver and
compensate. This is more, or less,
of a problem depending on the signal bandwidth. A wideband signal is
less sensitive to frequency
offsets, because the ‘error’ is a smaller fraction of the total
bandwidth. OFDM is the exception, since
in effect there are dozens of individual carriers, of relatively
narrow bandwidth.


Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org

On 06/02/2011 07:10 AM, Mike C. wrote:

Anyways, the question I have is, is there a general procedure one can
follow to design a decent receiver in gnuradio? For example, I have a
project that I’m using for experimentation where my receiver looks
like this: USRP Source -> GMSK Demod -> Packet Decoder -> File Sink.
This works well when I have the USRPs cabled together and even when I
have antennas with line of sight (I haven’t checked max distance).
When I don’t have line of sight, however, I stop receiving packets.
Are there any other gnuradio blocks I can add in to my setup which
will help get better performance when there is no line of sight?

The first step I would take in your situation is to find the case where
you just barely stop receiving packets (you say it’s based on line of
sight, and are you sure that it’s that, and not distance or path
attenuation?), eg. just around a corner in your office/home. Then I’d do
a direct USRP Source -> File Sink capture, and “play with” the captured
data offline, running it through signal graphs to check power,
multi-path, or whatever else may be causing problems. This analysis
would suggest what kind of additional processing you may need to be able
to get the link working on-line.

-Pat

I’m using the RFX2400 tuned to 2.42e9. And I do always use attenuators
(10db on each device) when cabled :slight_smile:

One thing I was thinking about after reading over the chapter
suggested by Brian is that I only had an antenna on the TX/RX side
with a terminator on the RX2 port. I’ll test with an antenna on both
ports and report back. If you have any other advice though, I’d love
to hear it.

Mike

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs