📄 common.h
字号:
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 + -