#include <itpp/comm/modulator.h>
Inheritance diagram for itpp::PAM:
Public Member Functions | |
PAM (int Mary) | |
Constructor. | |
virtual | ~PAM () |
Destructor. | |
void | set_M (int Mary) |
Set the size of the signal constellation. | |
virtual double | bits_per_symbol () const |
Returns number of bits per symbol. | |
void | modulate_bits (const bvec &bits, vec &out) const |
Modulate bits into PAM symbols. | |
virtual void | modulate_bits (const bvec &bits, cvec &out) const |
Modulate bits into PAM symbols. | |
virtual cvec | modulate_bits (const bvec &bits) const |
Modulate bits into PAM symbols. | |
void | demodulate_bits (const vec &signal, bvec &out) const |
Demodulation of PAM symbols to bits. | |
virtual void | demodulate_bits (const cvec &signal, bvec &out) const |
Demodulation of PAM symbols to bits. Symbols in real part. | |
virtual bvec | demodulate_bits (const cvec &signal) const |
Demodulation of PAM symbols to bits. | |
virtual void | demodulate_soft_bits (const cvec &rx_symbols, double N0, vec &soft_bits) const |
Soft demodulator for AWGN channels. | |
virtual void | demodulate_soft_bits_approx (const cvec &rx_symbols, double N0, vec &soft_bits) const |
Approximative soft demodulator for AWGN channel. | |
virtual void | demodulate_soft_bits (const cvec &rx_symbols, const cvec &channel, double N0, vec &soft_bits) const |
Soft demodulator for a known channel in AWGN. | |
virtual void | demodulate_soft_bits_approx (const cvec &rx_symbols, const cvec &channel, double N0, vec &soft_bits) const |
Approximative soft demodulator for a known channel in AWGN. | |
Protected Attributes | |
int | k |
Number of bits per modulation symbol. | |
int | M |
Number of modulation symbols. | |
bmat | bitmap |
Bit patterns for symbols in order of symbol number. | |
ivec | bits2symbols |
Bit pattern in decimal form ordered and the corresponding symbols. | |
vec | symbols |
A vector containing the modulation symbols. | |
double | average_energy |
The average signal energy of the constallation. | |
double | scaling_factor |
Scaling factor used to normalize the average energy to 1. | |
imat | S0 |
where bit k is 0/1 | |
imat | S1 |
where bit k is 0/1 |
Mary-PAM signals . Symbol numbering is from right to left in increasing order. Gray encoded bitmapping is used.
The symbols are normalized so that the average energy is 1. That is, normalized with .
Definition at line 421 of file modulator.h.
|
Constructor.
Definition at line 424 of file modulator.h. References set_M(). |
|
Destructor.
Definition at line 426 of file modulator.h. |
|
Set the size of the signal constellation.
Definition at line 688 of file modulator.cpp. References average_energy, itpp::bin2dec(), bitmap, bits2symbols, itpp::graycode(), it_assert, itpp::log2(), M, itpp::pow2i(), itpp::round_i(), scaling_factor, itpp::sqr(), itpp::sqrt(), and symbols. Referenced by PAM(). |
|
Returns number of bits per symbol.
Implements itpp::Modulator. Definition at line 431 of file modulator.h. References k. |
|
Modulate bits into PAM symbols.
Definition at line 506 of file modulator.cpp. References it_warning. Referenced by modulate_bits(). |
|
Modulate bits into PAM symbols.
Implements itpp::Modulator. Definition at line 521 of file modulator.cpp. References it_warning. |
|
Modulate bits into PAM symbols.
Implements itpp::Modulator. Definition at line 536 of file modulator.cpp. References modulate_bits(). |
|
Demodulation of PAM symbols to bits.
Definition at line 543 of file modulator.cpp. References bitmap, M, itpp::round_i(), and scaling_factor. Referenced by demodulate_bits(). |
|
Demodulation of PAM symbols to bits. Symbols in real part.
Implements itpp::Modulator. Definition at line 558 of file modulator.cpp. References bitmap, M, itpp::real(), itpp::round_i(), and scaling_factor. |
|
Demodulation of PAM symbols to bits.
Implements itpp::Modulator. Definition at line 574 of file modulator.cpp. References demodulate_bits(). |
|
Soft demodulator for AWGN channels. This function calculates
where
Modulator_ND ) class instead which is based on QLLR arithmetics and therefore faster and more numerically stable.
Implements itpp::Modulator. Definition at line 582 of file modulator.cpp. References itpp::exp(), M, itpp::real(), itpp::sqr(), and symbols. |
|
Approximative soft demodulator for AWGN channel. This function is faster and gives almost no performance degradation compared to the demodulate_soft_bits() function. Only include the largest term in nominator and denominator when calculating the log-likelihood function. Implements itpp::Modulator. Definition at line 608 of file modulator.cpp. References M, itpp::real(), itpp::sqr(), and symbols. |
|
Soft demodulator for a known channel in AWGN. This function calculates
where
Modulator_ND ) class instead which is based on QLLR arithmetics and therefore faster and more numerically stable.
Implements itpp::Modulator. Definition at line 634 of file modulator.cpp. References itpp::exp(), M, itpp::real(), itpp::sqr(), and symbols. |
|
Approximative soft demodulator for a known channel in AWGN. This function is faster and gives almost no performance degradation compared to the demodulate_soft_bits() function. Only include the largest term in nominator and denominator when calculating the log-likelihood function. Implements itpp::Modulator. Definition at line 661 of file modulator.cpp. References M, itpp::real(), itpp::sqr(), and symbols. |
|
Number of bits per modulation symbol.
Definition at line 527 of file modulator.h. Referenced by bits_per_symbol(). |
|
Number of modulation symbols.
Definition at line 529 of file modulator.h. Referenced by demodulate_bits(), demodulate_soft_bits(), demodulate_soft_bits_approx(), and set_M(). |
|
Bit patterns for symbols in order of symbol number.
Definition at line 531 of file modulator.h. Referenced by demodulate_bits(), and set_M(). |
|
Bit pattern in decimal form ordered and the corresponding symbols.
Definition at line 533 of file modulator.h. Referenced by set_M(). |
|
A vector containing the modulation symbols.
Definition at line 535 of file modulator.h. Referenced by demodulate_soft_bits(), demodulate_soft_bits_approx(), and set_M(). |
|
The average signal energy of the constallation.
Definition at line 537 of file modulator.h. Referenced by set_M(). |
|
Scaling factor used to normalize the average energy to 1.
Definition at line 539 of file modulator.h. Referenced by demodulate_bits(), and set_M(). |
|
where bit k is 0/1
Definition at line 542 of file modulator.h. |
|
where bit k is 0/1
Definition at line 545 of file modulator.h. |
Generated on Thu Apr 19 14:20:42 2007 for IT++ by Doxygen 1.4.6