IT++ Logo

egolay.h

Go to the documentation of this file.
00001 
00030 #ifndef EGOLAY_H
00031 #define EGOLAY_H
00032 
00033 #include <itpp/base/vec.h>
00034 #include <itpp/base/mat.h>
00035 #include <itpp/comm/channel_code.h>
00036 
00037 
00038 namespace itpp
00039 {
00040 
00052 class Extended_Golay : public Channel_Code
00053 {
00054 public:
00056   Extended_Golay();
00058   virtual ~Extended_Golay() { }
00059 
00061   virtual void encode(const bvec &uncoded_bits, bvec &coded_bits);
00063   virtual bvec encode(const bvec &uncoded_bits);
00064 
00066   virtual void decode(const bvec &coded_bits, bvec &decoded_bits);
00068   virtual bvec decode(const bvec &coded_bits);
00069 
00070   // Soft-decision decoding is not implemented
00071   virtual void decode(const vec &received_signal, bvec &output);
00072   virtual bvec decode(const vec &received_signal);
00073 
00075   virtual double get_rate() const { return 0.5; };
00076 
00078   bmat get_G() const { return G; }
00079 private:
00080   bmat B, G;
00081 };
00082 
00083 } // namespace itpp
00084 
00085 #endif // #ifndef EGOLAY_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SourceForge Logo

Generated on Sat Feb 26 2011 16:06:32 for IT++ by Doxygen 1.7.3