📄 gsmmlse.h
字号:
//#include <stdio.h>
//#include <stdlib.h>
//#include <math.h>
//#include <time.h>
#include "GSMSim.h"
#define BURSTLEN 148 //TDMA Burst length
#define TRAINLEN 26 //Training sequence length
#define OVERSAMPLE 4 //Sample numbers per bit period
#define CHANNELMEMLEN 6 //Channel Memory length
#define ELSEWHERE 16384 //Not belong to valid states
#define MVAState 64 //VA State Num
struct GSMMVAState
{
int timeCount;
int stateNum; //0~31
double totalMetric1;
double totalMetric2;
double totalMetric;
int nextState1; //0
int nextState2; //1
int preState1; //0
int preState2; //1
};
struct GSMMVAOut
{
int hard; //hard output
double soft; //soft output
};
void GSMEQ(int TS[26],double sigRecv[2][BURSTLEN*OVERSAMPLE],
int GSMRecvBurst[BURSTLEN],int init,int offset,int mode);
int GSMDerotation(double rArray[2][BURSTLEN*OVERSAMPLE],
double re_Array[2][BURSTLEN*OVERSAMPLE],int init);//作者:沈亮
int GSMChannelEst(double trSeqArray[2][TRAINLEN*OVERSAMPLE],
double uArray[2][BURSTLEN*OVERSAMPLE],int offset,double gEstArray[2][CHANNELMEMLEN]);
int GSMMatFilter(double uArray[2][BURSTLEN*OVERSAMPLE],
double gEstArray[2][CHANNELMEMLEN],int offset,double yArray[2][BURSTLEN]);
int GSMCorelation(double gEstArray[2][CHANNELMEMLEN],double xArray[2][CHANNELMEMLEN]);
int GSMMVA_SigMap(int possibleData,double sigLow[2]);
int GSMMVA_FSM(int currentState,int possibleData);
double GSMMVA_IncMetric(int cnt,int dataHistory[CHANNELMEMLEN],
double xArray[2][CHANNELMEMLEN],double yArray[2][BURSTLEN]);
void GSMMVA(double yArray[2][BURSTLEN],double xArray[2][6],int mode,
struct GSMMVAState GSMMVATrellis[MVAState][200],struct GSMMVAOut MVAOut[BURSTLEN]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -