📄 clinkprediction.h
字号:
//////////////////////////////////////////////////////////////////////////
//
// CLinkPrediction.h
//
// Writer: Ouyang Hui
// March, 27, 2001
//
#if !defined (CLINKPREDICTION_H__INCLUDE_)
#define CLINKPREDICTION_H__INCLUDE_
#include "systemsim.h"
class CLinkPrediction
{
//attribute
private:
char m_sRate_BLERPredictionFileName[40]; //速率及BLER预测参数文件名
EPS2CI_TYPE* m_pstRatePredictionTable;
//速率预测参数表首地址,存储树状表的顶层的首地址
EPS2BLER1_TYPE* m_pstBLERPredictionTable;
//BLER预测参数表首地址,存储树状表的顶层的首地址
int m_iPacketSizeNum;
//数据表中的encoder packet size种类
//指示有几种packet size
float m_fTollerance;
public:
int m_iDeterminedPacketSize;
float m_fDeterminedSPDCHC2I;
float m_fDeterminedErrorRate;
//operation
public:
CLinkPrediction();
~CLinkPrediction();
void Initialization(); //初始化函数#
//根据信道类型(参数)(已撤消),确定对应的数据文件,从文件中读入参数,
//确定数据表的大小,创建数据表,再从文件中读入数据,写入数据表,
//完成数据表的创建。参数为信道类型。
RATE2CI_TYPE* GetEPDataRate(int, float,long); //速率估计函数#
//通过查速率估计表,获得适合的数据速率、调制阶数和等效编码速率,
//参数为分组长度和C/I值
RATE2CI_TYPE* GetSPDataRate(int,int,float);
float GetBLER(int, float, float, float); //BLER估计函数#
//通过查BLER估计表,获得相应的BLER数据,参数为分组长度,等效SNR
//的均值和标准差,等效编码速率
void SetRate_BLERPredictionFileName(char*);
EPS2BLER1_TYPE* GetBLERPredictionTable();
private:
float Interpolation(float,float,float,float,float,float,float,float,
float,float,float,float,float,float);
void GetFourPoints(RATE2BLER1_TYPE*,float,float,
float&,float&,float&,
float&,float&,float&,
float&,float&,float&,
float&,float&,float&);
void CheckTheInputs();
void CheckRATE2CIList(RATE2CI_TYPE*,int);
void CheckRATE2BLER1List(RATE2BLER1_TYPE*,int);
void CheckSNR2BLER1List(SNR2BLER1_TYPE*,int);
void DisplayFormatOfTheList();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -