turboenc.h

来自「压缩文件中是Error Correction Coding - Mathemat」· C头文件 代码 · 共 49 行

H
49
字号
// Turboenc.h -- a Turbo encoder// Todd K. Moon// Copyright 2004 by Todd K. Moon// Permission is granted to use this program/data// for educational/research only#ifndef TURBOENC_H#define TURBOENC_H#include "BinConvIIR.h"   // the systematic convolutional encoder#include "interleave.h"   // the random interleaverclass Turboenc {protected:   unsigned char *inbits;		// input bits   unsigned char *interleavebits; // permuted bits   unsigned char *outputbits;	// the encoded output bits   int blocklen;				// the number of input bits in coded block   unsigned char **P;			// puncture matrix   int puncturelen;				// width of puncture matrix   int puncturecycle;			// column counter for puncture matrixpublic:   Turboenc(int deg, unsigned int h_in,unsigned int g_in,			int in_blocklen,			unsigned int interleaveseed = 0,			unsigned char **punctureP=0, int puncturelen=0);   ~Turboenc() { delete[] inbits; delete[]interleavebits; delete[]outputbits;}   unsigned char *encode(const unsigned char *ins);   BinConvIIR Enc1;				// first encoder   BinConvIIR Enc2;				// second encoder   interleave interleaver;		// interleaver   double R;					// rate of code(default=1/3 without puncturing)   unsigned int getstate1() { return Enc1.getstate(); }   unsigned int getstate2() { return Enc2.getstate(); }};#endif/*Local Variables:compile-command: "g++ -c Turboenc.cc"End:*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?