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

📄 common.h

📁 B3g_phase2_C语言_Matlab程序及说明
💻 H
📖 第 1 页 / 共 3 页
字号:

int GrayMapQAM(int * inBit, int bitlength, COMPLEX * outSymbol, int ModType);
int SoftDemod16QAM(COMPLEX * p_x_Intf, int n_IntfLen, double * p_x_Sigma, double * p_Rou, double * p_CodedBitLLR);


/* _TURBO_IC_H_ */
int Turbo_IC (COMPLEX * p_x_Rake, int n_x_RakeLen, double * p_Rou, COMPLEX * p_Mask, int n_MaskLen, COMPLEX * p_x_mean0, double * p_x_variance0, double Noise_Variance, COMPLEX * p_x_Intf, double * p_x_Sigma, int n_IterNum);
int Turbo_ICC(COMPLEX * p_x_Rake, int n_x_RakeLen, double * p_Rou, COMPLEX * p_Mask, int n_MaskLen, COMPLEX * p_x_mean0, double * p_x_variance0, double Noise_Variance, COMPLEX * p_x_Intf, double * p_x_Sigma);
int MeanVar(double * p_LLR, int n_LLR_len, COMPLEX * p_x_mean0, double * p_x_variance0);
int UpdateMeanVar(COMPLEX * curIntf, double * curSigma, double * curRou, COMPLEX * nextMean, double * nextVar);
int BuiltMeanVar(COMPLEX * p_x_mean0, double * p_x_variance0, COMPLEX * p_x_mean, double * p_x_variance);
int Rou_Mask(COMPLEX * p_h_half, COMPLEX * p_Mask, double * p_Rou, int Ns);
int NewRouMask(COMPLEX * p_h_half, COMPLEX * p_Mask, double * p_Rou, int n_InterpFactor);
int sort(double * in_SNR, int n_length, int * Order);

/* _CODE_H_ */
int TurboEncoder(short * p_InfoBit, int * p_CodedBit, CODE_PARAMETER * p_code_parm, int * p_CodeInlvTable);
int TurboDecoder(double * p_SideLLR, double * p_FullLLR, short * p_DecodedBit, CODE_PARAMETER * p_code_Parm, int * p_COdeInlvTable, int n_IterNum);

int	    dot(g, s, Len);
void 	trel_gen(int g0, int g1, int Mem, int * output_matrix, int * nextstate_matrix, int * laststate_matrix, int * tail_bit);
double 	maximum(double a, double b);
double 	g(double a, double b);
void 	interleave(int* imsg, int* msg, int N, int* interleave_table);
void 	deinterleave(int *imsg, int* msg, int N, int* interleave_table);
void 	interleave_double(double* imsg, double* msg, int N, int* interleave_table);
void 	deinterleave_double(double* imsg, double* msg, int N, int* interleave_table);
void 	rsc_encode(int* msg, int* parity, int size, int termination, int g0, int g1, int Mem);
void 	turbo_encode(int* msg, int* stream, int puncture, int Len, int g0 ,int g1, int Mem, int* interleave_table);
void 	turbo_decode(short * decoded, double *	old_llr, double * new_llr, double * llr_all, double * stream, int puncture, int	Len, int iteration, int * interleave_table, int	g0, int	g1, int	Mem);


/*  _ASSEMBLE_FRAME_ */
int AssembleFrame(COMPLEX * p_ModedSym, COMPLEX * p_txSignal, BASEBAND_PARM * p_Baseband_Parm, int n_TxAntenna);
int GenerateGP(COMPLEX * p_cmx_Pilot, COMPLEX * p_cmx_Guard, int n_TxAntenna);

/* _RAKE_CHEST_H_ */
static COMPLEX PILOT_MATRIX[] = 
{
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},{ 0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.70710678118655, -0.70710678118655},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},{ 0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.70710678118655, -0.70710678118655},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},{ 0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.70710678118655, -0.70710678118655},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},{ 0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.70710678118655, -0.70710678118655},
{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},{ 0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},{ 0.70710678118655,  0.70710678118655},
{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},
{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},
{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},{-1.00000000000000,  0.00000000000000},
{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},
{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},
{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.00000000000000,  1.00000000000000},{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},
{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.00000000000000,  1.00000000000000},{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},{-0.70710678118655, -0.70710678118655},
{ 0.70710678118655, -0.70710678118655},{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.00000000000000,  1.00000000000000},{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.00000000000000,  1.00000000000000},{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},{-0.70710678118655,  0.70710678118655},
{ 0.70710678118655,  0.70710678118655},{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.00000000000000,  1.00000000000000},{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},
{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655,  0.70710678118655},{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},
{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655, -0.70710678118655},{ 0.70710678118655, -0.70710678118655},{ 1.00000000000000,  0.00000000000000},{ 0.00000000000000, -1.00000000000000},
{ 1.00000000000000,  0.00000000000000},{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},
{ 0.00000000000000,  1.00000000000000},{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},{ 0.00000000000000,  1.00000000000000},
{-1.00000000000000,  0.00000000000000},{ 0.00000000000000,  1.00000000000000},{ 0.70710678118655,  0.70710678118655},{-0.70710678118655, -0.70710678118655},
{ 0.00000000000000,  1.00000000000000},{-1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},{ 1.00000000000000,  0.00000000000000},
{ 0.70710678118655,  0.70710678118655},{ 0.00000000000000, -1.00000000000000},{ 1.00000000000000,  0.00000000000000},{-0.70710678118655,  0.70710678118655},

⌨️ 快捷键说明

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