#include <error_counters.h>
Public Member Functions | |
BERC (int indelay=0, int inignorefirst=0, int inignorelast=0) | |
Constructor for the berc class. | |
void | count (const bvec &in1, const bvec &in2) |
Cumulative error counter. | |
void | estimate_delay (const bvec &in1, const bvec &in2, int mindelay=-100, int maxdelay=100) |
void | clear () |
Clears the bit error counter. | |
void | report () const |
Writes an error report. | |
int | get_delay () const |
Return the delay, assumed or estimated, between in1 and in2. | |
double | get_errors () const |
Returns the counted number of bit errors. | |
double | get_corrects () const |
Returns the counted number of corectly received bits. | |
double | get_total_bits () const |
Returns the total number of bits processed. | |
double | get_errorrate () const |
Returns the estimated bit error rate. | |
Static Public Member Functions | |
static double | count_errors (const bvec &in1, const bvec &in2, int indelay=0, int inignorefirst=0, int inignorelast=0) |
static function to allow simple and fast count of bit-errors |
Example:
#include <itpp/itcomm.h> int main() { //Initiate the Bit Error Counter BERC berc; //Initiate a Binary Symetric Channel with cross-over probability 0.1 BSC binary_symetric_channel(0.1); bvec transmitted_bits = randb(100); bvec received_bits = binary_symetric_channel(transmitted_bits); //Count the number of bit errors berc.count(transmitted_bits, received_bits); cout << "Estimated bit error probability is " << berc.get_errorrate() << endl; return 0; }
itpp::BERC::BERC | ( | int | indelay = 0 , |
|
int | inignorefirst = 0 , |
|||
int | inignorelast = 0 | |||
) |
Constructor for the berc class.
double itpp::BERC::count_errors | ( | const bvec & | in1, | |
const bvec & | in2, | |||
int | indelay = 0 , |
|||
int | inignorefirst = 0 , |
|||
int | inignorelast = 0 | |||
) | [static] |
static function to allow simple and fast count of bit-errors
Returns the number of errors between in1 and in2. Typical usage:
bvec in1 = randb(100); bvec in2 = randb(100); double errors = BERC::count_errors(in1, in2);
References itpp::abs(), and itpp::min().
void itpp::BERC::estimate_delay | ( | const bvec & | in1, | |
const bvec & | in2, | |||
int | mindelay = -100 , |
|||
int | maxdelay = 100 | |||
) |
Run this member function if the delay between in1 and in2 is unknown.
References itpp::abs(), itpp::min(), itpp::sum(), and itpp::to_vec().