00001 00033 #ifndef EGOLAY_H 00034 #define EGOLAY_H 00035 00036 #include <itpp/base/vec.h> 00037 #include <itpp/base/mat.h> 00038 #include <itpp/comm/channel_code.h> 00039 00040 00041 namespace itpp { 00042 00054 class Extended_Golay : public Channel_Code { 00055 public: 00057 Extended_Golay(); 00059 virtual ~Extended_Golay(){ } 00060 00062 virtual void encode(const bvec &uncoded_bits, bvec &coded_bits); 00064 virtual bvec encode(const bvec &uncoded_bits); 00065 00067 virtual void decode(const bvec &coded_bits, bvec &decoded_bits); 00069 virtual bvec decode(const bvec &coded_bits); 00070 00071 // Soft-decision decoding is not implemented 00072 virtual void decode(const vec &received_signal, bvec &output); 00073 virtual bvec decode(const vec &received_signal); 00074 00076 virtual double get_rate() { return 0.5; }; 00077 00079 bmat get_G() { return G; } 00080 private: 00081 bmat B,G; 00082 }; 00083 00084 } // namespace itpp 00085 00086 #endif // #ifndef EGOLAY_H
Generated on Sat Aug 25 23:40:26 2007 for IT++ by Doxygen 1.5.2