IT++ Logo
error_counters.h
Go to the documentation of this file.
00001 
00030 #ifndef ERROR_COUNTERS_H
00031 #define ERROR_COUNTERS_H
00032 
00033 #include <itpp/base/vec.h>
00034 
00035 
00036 namespace itpp
00037 {
00038 
00066 class BERC
00067 {
00068 public:
00079   BERC(int indelay = 0, int inignorefirst = 0, int inignorelast = 0);
00081   void count(const bvec &in1, const bvec &in2);
00084   void estimate_delay(const bvec &in1, const bvec &in2, int mindelay = -100,
00085                       int maxdelay = 100);
00087   void clear() { errors = 0; corrects = 0; }
00089   void report() const;
00091   int get_delay() const { return delay; }
00093   double get_errors() const { return errors; }
00095   double get_corrects() const { return corrects; }
00097   double get_total_bits() const { return (errors + corrects); }
00099   double get_errorrate() const { return (errors / (corrects + errors)); }
00110   static double count_errors(const bvec &in1, const bvec &in2,
00111                              int indelay = 0, int inignorefirst = 0,
00112                              int inignorelast = 0);
00113 
00114 private:
00115   int delay;
00116   int ignorefirst;
00117   int ignorelast;
00118   double errors;
00119   double corrects;
00120 };
00121 
00127 class BLERC
00128 {
00129 public:
00131   BLERC(void);
00133   BLERC(int blocksize);
00135   void set_blocksize(int inblocksize, bool clear = true);
00137   void count(const bvec &in1, const bvec &in2);
00139   void clear() { errors = 0; corrects = 0; }
00141   double get_errors() const { return errors; }
00143   double get_corrects() const { return corrects; }
00145   double get_total_blocks() const { return (errors + corrects); }
00147   double get_errorrate() const { return (errors / (corrects + errors)); }
00148 
00149   //protected:
00150 private:
00151   bool setup_done;
00152   int blocksize;
00153   double errors;
00154   double corrects;
00155   bool CORR;
00156 };
00157 
00158 } // namespace itpp
00159 
00160 #endif // #ifndef ERROR_COUNTERS_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SourceForge Logo

Generated on Wed Jul 27 2011 16:27:04 for IT++ by Doxygen 1.7.4