Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SPUC::MOD_BPSK Class Reference
[Digital Modulation]

BPSK Modulator Class. More...

#include <modulator.h>

List of all members.

Public Member Functions

 MOD_BPSK ()
 Constructor.
virtual ~MOD_BPSK ()
 Destructor.
void modulate_bits (const bvec &bits, vec &out)
 Modulate bits into BPSK symbols.
vec modulate_bits (const bvec &bits)
 Modulate bits into BPSK symbols.
void modulate_bits (const bvec &bits, cvec &out)
 Modulate bits into BPSK symbols and output cvec. Symbols in real part only.
void demodulate_bits (const vec &signal, bvec &out)
 Demodulate noisy BPSK symbols into bits.
bvec demodulate_bits (const vec &signal)
 Demodulate noisy BPSK symbols into bits.
void demodulate_bits (const cvec &signal, bvec &out)
 Demodulate noisy BPSK symbols into bits.
void demodulate_soft_bits (const vec &rx_symbols, double N0, vec &soft_bits)
 Soft demodulator for AWGN channels.
void demodulate_soft_bits (const cvec &rx_symbols, const cvec &channel, double N0, vec &soft_bits)
 Soft demodulator for the Rayleigh fading channel.


Detailed Description

BPSK Modulator Class.

Symbols used are $ \{ 1, -1 \}$ . Bit mapping: $0 \rightarrow 1$ and $1 \rightarrow -1$ . Example of use:

  BPSK bpsk;
  bvec bits = "1 0 0 1 1 0 1 0 1 0 1 1 1 0";
  vec symbols = bpsk.modulate_bits(bits);


Constructor & Destructor Documentation

SPUC::MOD_BPSK::MOD_BPSK  )  [inline]
 

Constructor.

virtual SPUC::MOD_BPSK::~MOD_BPSK  )  [inline, virtual]
 

Destructor.


Member Function Documentation

void MOD_BPSK::demodulate_bits const cvec &  signal,
bvec &  out
 

Demodulate noisy BPSK symbols into bits.

Input is cvec but received signals should be multiplied with complex conjugate of channel coefficients before demodulation.

bvec MOD_BPSK::demodulate_bits const vec &  signal  ) 
 

Demodulate noisy BPSK symbols into bits.

void MOD_BPSK::demodulate_bits const vec &  signal,
bvec &  out
 

Demodulate noisy BPSK symbols into bits.

void MOD_BPSK::demodulate_soft_bits const cvec &  rx_symbols,
const cvec &  channel,
double  N0,
vec &  soft_bits
 

Soft demodulator for the Rayleigh fading channel.

This function calculates the log-MAP estimate assuming equally likely bits transmitted

\[ \log \left( \frac{\Pr(b=0|r)}{\Pr(b=1|r)} \right) = \frac{ 4 \Re \{r c^{*} \} }{N_0} \]

It is assumed that what is received is the complex-valued model: $r = c b + n$ .

Parameters:
rx_symbols The received noisy constellation symbols, $r$ (complex)
channel The channel coefficients, $c$ (complex)
N0 The single sided spectral density of the AWGN noise, $n$
soft_bits The soft bits calculated using the expression above

void MOD_BPSK::demodulate_soft_bits const vec &  rx_symbols,
double  N0,
vec &  soft_bits
 

Soft demodulator for AWGN channels.

This function calculates the log-MAP estimate assuming equally likely bits transmitted

\[ \log \left( \frac{\Pr(b=0|r)}{\Pr(b=1|r)} \right) = \frac{4 r}{N_0} \]

It is assumed that what is received is $r = b + n$ .

Parameters:
rx_symbols The received noisy constellation symbols, $r$ (real)
N0 The single sided spectral density of the AWGN noise, $n$
soft_bits The soft bits calculated using the expression above

void MOD_BPSK::modulate_bits const bvec &  bits,
cvec &  out
 

Modulate bits into BPSK symbols and output cvec. Symbols in real part only.

vec MOD_BPSK::modulate_bits const bvec &  bits  ) 
 

Modulate bits into BPSK symbols.

void MOD_BPSK::modulate_bits const bvec &  bits,
vec &  out
 

Modulate bits into BPSK symbols.


The documentation for this class was generated from the following files:
Generated on Fri Sep 16 11:07:54 2005 for spuc by  doxygen 1.4.4