public void Initial() { m_InterfTable = new Dictionary<string, DataTable>(); DataTable gsmBTS_ACLR_ACS_Table = CreateGSMBTSACIRTable("gsmBTS_ACLR_ACS_Table"); m_InterfTable.Add("GSMBTS_ACLR_ACS", gsmBTS_ACLR_ACS_Table); DataTable gsmTerminal_ACLR_ACS_Table = CreateGSMBTSACIRTable("GSMTerminal_ACLR_ACS"); m_InterfTable.Add("GSMTerminal_ACLR_ACS", gsmTerminal_ACLR_ACS_Table); m_InterfTable.Add("TDNodeB_ACLR_ACS", gsmBTS_ACLR_ACS_Table); m_InterfTable.Add("TDTerminal_ACLR_ACS", gsmTerminal_ACLR_ACS_Table); m_InterfTable.Add("UMTSNodeB_ACLR_ACS", gsmBTS_ACLR_ACS_Table); m_InterfTable.Add("UMTSTerminal_ACLR_ACS", gsmTerminal_ACLR_ACS_Table); DataTable acir1 = createACIR1Table(); m_InterfTable.Add("ACIR1", acir1); DataTable acir2 = createACIR1Table(); m_InterfTable.Add("ACIR2", acir2); DataTable gsmSEAtt = createSEAttTable(); m_InterfTable.Add("GSM900M杂散抑制比", gsmSEAtt); DataTable gsmBCIAtt = CreateBCIAttTable(); m_InterfTable.Add("GSM900M阻塞抑制比", gsmBCIAtt); //m_InterfTable.Add("TD1800M阻塞抑制比", gsmBCIAtt); m_InterfTable.Add("GSM1800M杂散抑制比", gsmSEAtt); DataTable gsmIIP3 = CreateTOITable(); m_InterfTable.Add("GSM900MIIP3", gsmIIP3); m_parameter = new InterfParameter(); m_parameter.InterfTable = m_InterfTable; }
public void findACIRTest1() { m_TableDIC = new Dictionary<string, DataTable>(); readtable(); readtabledata(); InterfParameter interfparameter = new InterfParameter(m_TableDIC); float acir= interfparameter.findACIR(GSM, UMTS); Assert.AreEqual(13.01, acir,0.5); }
public void findSEAttTest1() { m_TableDIC = new Dictionary<string, DataTable>(); readtable(); readtabledata(); InterfParameter interfparameter = new InterfParameter(m_TableDIC); float frequence = GSM.Frequency; float freqband = GSM.FreqBand; float freqOffset = 1.6f; float se = interfparameter.findSEAtt(frequence, freqband, freqOffset); Assert.AreEqual(89, se, 0.2); }
/// <summary> /// 获取干扰信号,线性值mw /// </summary> /// <param name="Dic"></param> public static double CalcIo(IACell cell, double rxPower, IACell bestServer) { TrafficAdaptorMgr trafficMgr = TrafficAdaptorMgr.Instance; Dictionary<string, DataTable> m_InterfTable = trafficMgr.TableDIC; InterfParameter interfParam = new InterfParameter(); interfParam.InterfTable = m_InterfTable; IInterfCalc m_IInterf = new InterfCalculate(interfParam); double totalIntef = 0; //有用信号 Signal usefulSignal = InitSingle(bestServer); //干扰信号 Signal source = InitSingle(cell); source.RxPower = (float)(rxPower); totalIntef = GetOneCellInf(usefulSignal, source, m_IInterf, totalIntef); return totalIntef; }
/// <summary> /// 从context里取得需要的数据信息 /// </summary> /// <param name="context"></param> private void GetValueFromContext(Context context) { m_Context = context; m_CovBySignalLevel = (ValueMatrixShort)context[ContextKeys.CovBySignalLevel]; m_Group = (CoPredicGroup)context[ContextKeys.Group]; //获得CellID m_GSMBestServerID = (ValueMatrixDouble)context[ContextKeys.CoGSMBestServerID]; m_UMTSBestServerID = (ValueMatrixDouble)context[ContextKeys.CoUMTSBestServerID]; m_TDBestServerID = (ValueMatrixDouble)context[ContextKeys.CoTDBestServerID]; m_LTEBestServerID = (ValueMatrixDouble)context[ContextKeys.CoLTEBestServerID]; //获得Cell列表 m_CellList = (List<IACell>)context[ContextKeys.CellList]; m_trans = (List<Transceiver>)context[ContextKeys.TranceiverList]; InterfParameter interfPara = new InterfParameter(); interfPara.InterfTable = TrafficAdaptorMgr.Instance.TableDIC; m_IInterf = (IInterf)interfPara; }
/// <summary> /// 初始化Case /// </summary> /// <param name="context">存储数据的字典</param> public void InitialCase(Context context) { GetValueFromContext(context); InitLinkLossCalc(); InitInterfMatrix(context); AddDataToContext(context); InterfParameter param = new InterfParameter(); param.InterfTable = TrafficAdaptorMgr.Instance.TableDIC; //m_UMTSInterfCase.InterfCalc = new InterfCalculate(param); //m_GSMInterfCase.m_InterfTable = trafficMgr.TableDIC; //m_TDPCCPCHInterfCase.m_InterfTable = trafficMgr.TableDIC; }
public void GetInfTest() { float rxPower = -90f; double rIntef = 0; Signal usefulSignal = TDIntefCalc.InitSingle(bestCell); Signal source = TDIntefCalc.InitSingle(intefCell); source.RxPower = rxPower; InterfParameter param = new InterfParameter(); IInterfCalc m_IInterf = new InterfCalculate(param); double result = UnitTrans.todB(TDIntefCalc.GetInf(usefulSignal,source,m_IInterf,rIntef)); Assert.AreEqual(-90.0, result, 0.1); }
/// <summary> /// 从context里面取数据 /// </summary> /// <param name="context"></param> private void GetValueFromContext(Context context) { m_TFMatrix = (TrueFalseMatrix)context[ContextKeys.TFMatrix]; m_tdPredicGroup = (TDPredictionGroup)context[ContextKeys.Group]; m_BestServerCellIDMatrix = (ValueMatrixShort)context[ContextKeys.TDBestServerCellID]; m_CellList = (List<IACell>)context[ContextKeys.CellList]; m_appContext = (IBaseService)context[ContextKeys.ApplicationContext]; m_projectManager = ServiceHelper.Lookup<IProjectManager>(m_appContext); m_TDTerminal = (TDTerminal)m_tdPredicGroup.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA); List<Transceiver> trans = (List<Transceiver>)context[ContextKeys.TranceiverList]; InterfParameter interfPara = new InterfParameter(); interfPara.InterfTable = TrafficAdaptorMgr.Instance.TableDIC; m_IInterf = (IInterf)interfPara; m_linkLossCalc = new CoLinkLossCalc(m_tdPredicGroup.RxSensitivity, m_tdPredicGroup.TrafficTerminal, m_tdPredicGroup.TrafficService, m_tdPredicGroup.Shadow, m_tdPredicGroup.IndoorCoverage, m_tdPredicGroup.CoverageProb); InitialHopDic(trans); }
public void findBCIAttTest3() { m_TableDIC = new Dictionary<string, DataTable>(); readtable(); readtabledata(); InterfParameter interfparameter = new InterfParameter(m_TableDIC); float frequence =TD.Frequency; float freqband = TD.FreqBand; float rxpower = -16.0f; float freqOffset = 0.85f; float bci = interfparameter.findBCIAtt(rxpower, frequence, freqband, freqOffset); Assert.AreEqual(70, bci, 0.2); }
/// <summary> /// 获得小区到小区的干扰 /// </summary> /// <param name="index"></param> /// <param name="cell"></param> /// <param name="bestCell"></param> /// <param name="currentCell"></param> /// <param name="intefRxPower"></param> private void GetCellToCellInterf(int index, TDSCDMACarrier currentCell, TDSCDMACarrier bestCell, float intefRxPower) { Signal usefulSignal = TDIntefCalc.InitSingle(bestCell);//有用信号 Signal source = TDIntefCalc.InitSingle(currentCell);//干扰信号 source.RxPower = intefRxPower; if (currentCell is TDSCDMACarrier) { TDSCDMACarrier tdCell = currentCell as TDSCDMACarrier; source.OrthCoef = tdCell.OrthCoef; } InterfParameter param = new InterfParameter(); param.InterfTable = m_InterfTable; IInterfCalc m_IInterf = new InterfCalculate(param); m_totalCellInterf = TDIntefCalc.GetInf(usefulSignal, source, m_IInterf, m_totalCellInterf); }
/// <summary> /// 获得干扰计算对象 /// </summary> private void GetInterfCalcObject() { TrafficAdaptorMgr trafficMgr = TrafficAdaptorMgr.Instance; Dictionary<string, DataTable> m_InterfTable = trafficMgr.TableDIC; InterfParameter param = new InterfParameter(); param.InterfTable = m_InterfTable; m_IInterf = new InterfCalculate(param); }
private IInterfCalc InitInterfCalc() { TrafficAdaptorMgr trafficMgr = TrafficAdaptorMgr.Instance; Dictionary<string, DataTable> interfTable = trafficMgr.TableDIC; InterfParameter interfPara = new InterfParameter(); interfPara.InterfTable = interfTable; IInterfCalc interf = new InterfCalculate(interfPara); return interf; }