st.h

来自「这个程序主要是基于空时编码的编解码实现过程。」· C头文件 代码 · 共 79 行

H
79
字号
class RGCD		//Rotate demodulating GCD
{
private:
	int		Nt;
	int		PathNum;
	int		Nr;
	int		NBit;
	int		PackSize;
	int		FrameLen;
	int		FrameLenJ;

	float	*ExChipInfo[NR][PATHNUM];

	Complex	*H[NT][PATHNUM][NR][NBIT];
	Complex	*H2[NT][PATHNUM][NR][NBIT];
	Complex	*Mean[NR];
	Complex	*Var[NR];
	Complex *UserMean[NT][PATHNUM][NR][NBIT];
	Complex *UserVar[NT][PATHNUM][NR][NBIT];

	void	MemoryAllocation( );
	void	SubInput(  float sigma2, float *input , float  Q[LENGTH][NR2][NR2],float  R_ER[LENGTH][NR2]);
	void    Q_Matrix (float sigma2,Complex *sb, float  Q[LENGTH][NR2][NR2],float  R_ER[LENGTH][NR2]  ) ;
	void brmul(float *a,float *b,int m,int n,int k,float *c);
int QMartixFactorization_bchol(float *a,int n,float det);
int lowertrianglesolve(float *a,float *b,float *x,int dim,int begin,int end);

	float	ProbToMean( float p );

	void    Average_Mean();

public:
	Complex ModAng[NBIT];
	void	Init( int nt, int pathNum, int nr, int nBit, int frameLen );
	void	GetChannelInfo( char *type );
	void	Encoder( int nt, int nr, int *input, Complex *output );
	void	PreDetectionSetup( char *type, float sigma2 );
	void	Input( float sigma2, Complex *sb, float *input );
	void	Output( float sigma2, float *input );
	void	End( );
};

class CNM		//Chip Number Matcher
{
private:
	int			Length1;
	int			Length2;

public:
	float		Rate;
	void		Init( int length1, int length2 );
	void		SetChipInfo( float set, float *input );
};

class CI	// Chip Interleaver
{
private:
	int				PackSize;
	NumericType		*Buffer;

	void	MemoryAllocation( );
	void	ChipInterleaverSet( );

public:
	int		*ShaffleRule;
	void	Init( int packSize );
	void	Interleaver( int *input );
	void	Interleaver( float *input );
	void	DeInterleaver( float *input );
	void	End( );
};







⌨️ 快捷键说明

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