📄 st.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 + -