⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 turbodec.h

📁 压缩文件中是Error Correction Coding - Mathematical Methods and Algorithms(Wiley 2005)作者:(Todd K. Moon )的配
💻 H
字号:
// Turbodec.h -- a Turbo decoder// Todd K. Moon// Copyright 2004 by Todd K. Moon// Permission is granted to use this program/data// for educational/research only#ifndef TURBODEC_H#define TURBODEC_H#include "BinConvIIR.h"   // the systematic convolutional encoder#include "interleave.h"   // the random interleaver#include "Turboenc.h"			// the turbo encoder#include "BCJR.h"				// the BCJR objectclass Turbodec {   Turboenc enc;				// encoder we are working on   BCJR bcjr;					// BCJR object   int blocklen;				// length of data block   double **r1;					// data for encoder 1   double **r2;					// data for encoder 2   double **prior1, **prior2;	// locations for prior probabilities   int numbranch;				// number of branches = 2^k   unsigned char **P;			// puncture matrix   int puncturelen;				// width of puncture matrix   int puncturecycle;			// column counter for puncture matrix   double R;					// code rate, default=1/3 with no puncturingpublic:   Turbodec(int deg, unsigned int h_in,unsigned int g_in,			int in_blocklen,			double in_simga2,			unsigned int interleaveseed = 0,			unsigned char **punctureP=0, int puncturelen=0);   ~Turbodec() { 	  FREEMATRIX(prior1); FREEMATRIX(prior2);      FREEMATRIX(r1);  FREEMATRIX(r2);   };   double **decode(const double *r,int numit, 			 unsigned int finalstate1=0, unsigned int finalstate2=-1);   // turbo decoder function.  Returns a pointer to the array   // of posterior probabilities   // make this public so the channel variance can be set   double sigma2;				// noise variance};#endif/*Local Variables:compile-command: "g++ -c Turbodec.cc"End:*/

⌨️ 快捷键说明

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