#include <DSSSOQPSK16Modulation.h>
inet::physicallayer::DSSSOQPSK16Modulation::DSSSOQPSK16Modulation |
( |
| ) |
|
APSKModulationBase(const std::vector< APSKSymbol > *constellation)
Definition: APSKModulationBase.cc:32
inet::physicallayer::DSSSOQPSK16Modulation::~DSSSOQPSK16Modulation |
( |
| ) |
|
|
virtual |
const std::vector< APSKSymbol > * constellation
Definition: APSKModulationBase.h:35
double inet::physicallayer::DSSSOQPSK16Modulation::calculateBER |
( |
double |
snir, |
|
|
Hz |
bandwidth, |
|
|
bps |
bitrate |
|
) |
| const |
|
overridevirtual |
Returns the bit error rate as a function of the signal to noise and interference ratio, the bandwidth, and the gross (physical) bitrate.
Implements inet::physicallayer::IModulation.
42 ASSERT(bandwidth >=
MHz(2));
43 ASSERT(bitrate ==
kbps(250));
45 const double dSNRFct = 20.0 * snir;
56 for ( ; k < 8; k += 2) {
58 dSumK +=
math::n_choose_k(16, k) * (exp(dSNRFct * (1.0 / k - 1.0)) + exp(dSNRFct * (1.0 / (16 - k) - 1.0)));
64 for (k = 3; k < 8; k += 2) {
66 dSumK -=
math::n_choose_k(16, k) * (exp(dSNRFct * (1.0 / k - 1.0)) + exp(dSNRFct * (1.0 / (16 - k) - 1.0)));
76 return (8.0 / 15) * (1.0 / 16) * dSumK;
scale< bps, 1, 1000 > kbps
Definition: Units.h:986
double n_choose_k(int n, int k)
Implementation of the n choose k (binomial coefficient) function, from the MiXiM Framework Author Kar...
Definition: INETMath.h:197
mega< Hz >::type MHz
Definition: Units.h:906
const double k
Definition: QAM16Modulation.cc:24
double inet::physicallayer::DSSSOQPSK16Modulation::calculateSER |
( |
double |
snir, |
|
|
Hz |
bandwidth, |
|
|
bps |
bitrate |
|
) |
| const |
|
overridevirtual |
Returns the symbol error rate as a function of the signal to noise and interference ratio, the bandwidth, and the gross (physical) bitrate.
Implements inet::physicallayer::IModulation.
The documentation for this class was generated from the following files: