discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] BPSK Demodulator (i.e. Receiver) Award/Challenge


From: Ed Criscuolo
Subject: Re: [Discuss-gnuradio] BPSK Demodulator (i.e. Receiver) Award/Challenge
Date: Thu, 07 May 2009 11:11:23 -0400
User-agent: Thunderbird 2.0.0.18 (Macintosh/20081105)

René Fléron wrote:
I seriously doubt that making a regular BPSK receiver that goes all-the-way,
i.e. recovers the transmitted data has ever been done. We haven't found any
trace of anything be it commercial, research or DIY.

NASA regularly uses BPSK as one of the supported client services
provided by their TDRSS relay satellites.

There is a reason most people use differential-BPSK instead of
plain BPSK.  Plain BPSK is easy to generate but much more
difficult to receive and decode properly.  Without any kind
of absolute phase reference between the transmitter and
receiver, there is a 180-degree phase ambiguity when
recovering a binary bitstream.  This results in a bitstream
that can be either what you want, or its ones-compliment.
This requires additional processing AFTER the BPSK demodulation
to resolve the ambiguity.

One technique involves looking for a specific sync pattern
(or its compliment) in the bitstream in order to decide
if you need to invert the bitstream.

Another (better) technique is to use a form of coding (such as NRZI)
that depends on transitions rather than the absolute bit values.
This the technique we prefer.

In order to create a BPSK demodulator block, all that's necessary
is to recover the phase of the signal.  This is easily accomplished
as atan(Q/I).  Note that it is very important to use a four-quadrant
form of the arctan function to demodulate correctly.

Once you have the demodulated sample stream, proceed as usual,
recovering the bitstream with an M&M clock recovery block,
followed by a bitslicer block, followed by an NRZI to NRZ decoder
block.  There are examples of this in the Spacecraft Groundstation
Project in CGRAN.

@(^.^)@  Ed




reply via email to

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