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

📄 st.h

📁 这个程序主要是基于空时编码的编解码实现过程。
💻 H
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -