IT++ Logo
egolay.h
Go to the documentation of this file.
00001 
00029 #ifndef EGOLAY_H
00030 #define EGOLAY_H
00031 
00032 #include <itpp/base/vec.h>
00033 #include <itpp/base/mat.h>
00034 #include <itpp/comm/channel_code.h>
00035 
00036 
00037 namespace itpp
00038 {
00039 
00051 class Extended_Golay : public Channel_Code
00052 {
00053 public:
00055   Extended_Golay();
00057   virtual ~Extended_Golay() { }
00058 
00060   virtual void encode(const bvec &uncoded_bits, bvec &coded_bits);
00062   virtual bvec encode(const bvec &uncoded_bits);
00063 
00065   virtual void decode(const bvec &coded_bits, bvec &decoded_bits);
00067   virtual bvec decode(const bvec &coded_bits);
00068 
00069   // Soft-decision decoding is not implemented
00070   virtual void decode(const vec &received_signal, bvec &output);
00071   virtual bvec decode(const vec &received_signal);
00072 
00074   virtual double get_rate() const { return 0.5; };
00075 
00077   bmat get_G() const { return G; }
00078 private:
00079   bmat B, G;
00080 };
00081 
00082 } // namespace itpp
00083 
00084 #endif // #ifndef EGOLAY_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