Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
        /// <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;
        }
Ejemplo n.º 5
0
 /// <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;
 }
Ejemplo n.º 6
0
        /// <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;


        }
Ejemplo n.º 7
0
 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);
 }
Ejemplo n.º 8
0
 /// <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);
 }
Ejemplo n.º 9
0
 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);
 }
Ejemplo n.º 10
0
 /// <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);
 }
Ejemplo n.º 11
0
 /// <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);
 }
Ejemplo n.º 12
0
 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;
 }