public void CalcOneSourceInfTest3() { GSM.LinkType = LinkType.Downlink; Mockinterf interf = new Mockinterf(); InterfCalculate interfcalculate = new InterfCalculate(interf); InterfResult itfr = interfcalculate.CalcOneSourceInf(GSM,UMTS); Assert.AreEqual(38.0f, itfr.OtherAC, 0.2); }
public void CalcOneSourceInfTest2() { UMTS.LinkType = LinkType.Downlink; Mockinterf interf = new Mockinterf(); InterfCalculate interfcalculate = new InterfCalculate(interf); InterfResult itfr = interfcalculate.CalcOneSourceInf(GSM,UMTS); Assert.AreEqual(28.01f, itfr.SE, 0.2); Assert.AreEqual(33.0f, itfr.BCI, 0.2); }
public void CalcOneSourceInfTest1() { UMTS.Frequency = 1802.0f; Mockinterf interf = new Mockinterf(); InterfCalculate interfcalculate =new InterfCalculate(interf); InterfResult itfr=interfcalculate.CalcOneSourceInf(GSM ,UMTS); Assert.AreEqual(416.02f, itfr.OtherSC, 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; }
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> /// 获得小区到小区的干扰 /// </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); }
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; }