[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fwd: [Discuss-gnuradio] BPSK Demodulator (i.e. Receiver) Award/Challeng
Fwd: [Discuss-gnuradio] BPSK Demodulator (i.e. Receiver) Award/Challenge
Thu, 7 May 2009 13:12:40 -0400
---------- Forwarded message ----------
From: w w <address@hidden>
Date: Thu, May 7, 2009 at 1:10 PM
Subject: Re: [Discuss-gnuradio] BPSK Demodulator (i.e. Receiver) Award/Challenge
To: Ed Criscuolo <address@hidden
I was wondering if you know how to implement or have examples in GNURadio to decode the various enCoding schemes like NRZ-l, NRZ-M, Bi-phase-L, Bi-Phase-M....etc? I've looked and don't recall seeing NRZI to NRZ decoder blocks....can you point me the right direction? Is this part of the spacecraft ground station project? If so, shouldn't these blocks be moved into the trunk? Sorry for the 20 questions.
On Thu, May 7, 2009 at 11:11 AM, Ed Criscuolo <address@hidden>
NASA regularly uses BPSK as one of the supported client services
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.
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.
Re: [Discuss-gnuradio] BPSK Demodulator (i.e. Receiver) Award/Challenge, René Fléron, 2009/05/13