Пример #1
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="CI">当前链路的CIR</param>
 /// <param name="bestCell">当前点的最佳服务小区</param>
 /// <param name="tdHSDPABearList">承载列表</param>
 /// <param name="tdTerminal">终端类型</param>
 public TDDwLinkThroughPutCalculator(double CI, IACell bestCell, 
     List<TDHSDPABearer> tdHSDPABearList, TDTerminal tdTerminal)
 {
     m_ServiceCI = CI;
     m_TdHSDPABearList = tdHSDPABearList;
     m_TdCell = bestCell as TDSCDMACarrier;
     m_TdTerminal = tdTerminal;
 }
Пример #2
0
 public TdTerminalDesc(TerminalManagement terminalManager, ReceptionEquipmentManagement receptionEquipment, Terminal terminal)
 {
     this.m_NewNames = new List<string>();
     this.m_TerminalManagement = terminalManager;
     this.m_ReceptionEquipment = receptionEquipment;
     this.m_Terminal = terminal;
     this.m_TdTerminal = terminal.NetTerminalList[0] as TDTerminal;
 }
Пример #3
0
 public bool ValidateDr(DataRow dr, List<Terminal> excludeTerminal, int validateId)
 {
     this.m_ValidatId = validateId;
     IExtractor ex = new DataRowExtractor(dr);
     Terminal terminal = new Terminal();
     TDTerminal item = new TDTerminal();
     terminal.NetTerminalList.Add(item);
     this.m_Desc = new TdTerminalDesc(this.m_TerminalManagement, this.m_ReceptionEquipment, terminal);
     return this.Validate(ref this.m_Info, this.m_Desc, ex, validateId);
 }
Пример #4
0
 private void InitTerminal(TDPredictionGroup group)
 {
     m_Terminal = new Terminal();
     group.TrafficTerminal = m_Terminal;
     List<NetworkTerminal> netTerminalList = new List<NetworkTerminal>();
     m_Terminal.NetTerminalList = netTerminalList;
     TDTerminal tdTerminal = new TDTerminal();
     tdTerminal.MaxTxPower = 21;
     tdTerminal.Attenuation = 45f;
     tdTerminal.NetType = NetWorkType.TDSCDMA;
     netTerminalList.Add(tdTerminal);
 }
Пример #5
0
        public void MyTestInitialize()
        {
            m_Index = 0;
            m_Name = "ULDCHRSCP";
            m_Context = new Context();
            m_Case = new ULDCHRSCPCase();

            TrueFalseMatrix matrix = new TrueFalseMatrix(4, 4, 0.0, 200, 50, true);
            TDPredictionGroup group = MockGroupAndCell.MockTDPredicGroup();
            IACell cell = MockGroupAndCell.CreateTDCell();
            m_Teminal = new Terminal();
            group.TrafficTerminal =m_Teminal;
            
             List<NetworkTerminal> netTerminalList=new List<NetworkTerminal>();
             m_Teminal.NetTerminalList = netTerminalList;
             TDTerminal tdTeminal = new TDTerminal();
             tdTeminal.Attenuation = 45f;
             tdTeminal.MaxTxPower = 21;
             tdTeminal.NetType = NetWorkType.TDSCDMA;
             netTerminalList.Add(tdTeminal);

            List<IACell> celllist = new List<IACell>();

            celllist.Add(new TDSCDMACarrier());
            celllist.Add(new TDSCDMACarrier());
            double[] x = { 100, 150 };
            double[] y = { 100, 100 };

            celllist = MockCellList.CreateCellList(celllist, x, y);
            celllist.Add(cell);


            LinkLossAssist.Init();
            IProjectManager projectMgr = ServiceHelper.Lookup<IProjectManager>(ProjectSingleton.CurrentProject.AppContext);
            string path = projectMgr.CurrentProjectLossPath;
            string absolutePath2 = ResultFilePath.CreateFilePath(path,
                group.Name, group.Region.Name, TDPredictionStudyType.Best_Server.ToString());
            string relativePath2 = ResultFilePath.CreateRelativePath(group.Name,
                group.Region.Name, TDPredictionStudyType.Best_Server.ToString());
            ShortResultStruct srs2 = ShortResultStruct.DefaultMax;
            ValueMatrixShort BestServerCellID = ValueMatrixAssist.GenerateByTrueFalseMatrix(matrix, absolutePath2, relativePath2, srs2);
            BestServerCellID[0] = cell.ID;

            m_Context.Add(ContextKeys.CurrentCalcCell, cell);
            m_Context.Add(ContextKeys.Group, group);
            m_Context.Add(ContextKeys.TDBestServerCellID, BestServerCellID);
            m_Context.Add(ContextKeys.CellList, celllist);
            m_Context.Add(ContextKeys.TFMatrix, matrix);
            m_Context.Add(ContextKeys.ApplicationContext, ProjectSingleton.CurrentProject.AppContext);

        }
Пример #6
0
 private void GetValueFromContext(Context context)
 {
     m_tdPreGroup = (TDPredictionGroup)context[ContextKeys.Group];
     m_tFMatrix = (TrueFalseMatrix)context[ContextKeys.TFMatrix];
     m_AppContext = (IBaseService)context[ContextKeys.ApplicationContext];
     m_Name = m_tdPreGroup.Name;
     TrafficAdaptorAssist trafficAdaptor = TrafficAdaptorAssist.Instance;
     m_BearerList = trafficAdaptor.TDHSUPABearerList;
     m_BestServerCellIDMatrix = (ValueMatrixShort)context[ContextKeys.TDBestServerCellID];
     m_cells = (List<IACell>)context[ContextKeys.CellList];
     m_ProjectManager = ServiceHelper.Lookup<IProjectManager>(m_AppContext);
     m_tdTerminal = (TDTerminal)m_tdPreGroup.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
     m_HSUPACIMatrix = (ValueMatrixShort)context[ContextKeys.ULDCHCIR];
 }
Пример #7
0
 private void InitTerminal(TDPredictionGroup group)
 {
     m_Terminal = new TDTerminal();
     
     m_Terminal = (TDTerminal)group.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
     m_Terminal.EnableHsdpa = true;
    
     //List<NetworkTerminal> netTerminalList = new List<NetworkTerminal>();
     //m_Terminal.NetTerminalList = netTerminalList;
     //TDTerminal tdTerminal = new TDTerminal();
     //tdTerminal.MaxTxPower = 21;
     //tdTerminal.UppchPower = 23;
     //tdTerminal.NetType = NetWorkType.TDSCDMA;
     //netTerminalList.Add(tdTerminal);
 }
Пример #8
0
        public void MyTestInitialize()
        {
            m_Name = "DLPeakThroughput";
            m_Group = MockGroupAndCell.MockTDPredicGroup();
            m_Cell = MockGroupAndCell.CreateTDCell();
            m_transList = new List<Transceiver>();
            m_Transceiver = new Transceiver();
            m_tfMatrix = new TrueFalseMatrix(4, 4, 0.0, 200, 50, true);
            m_index = 0;



            m_terminal = new TDTerminal();

            //m_Group.TrafficTerminal.NetTerminalList.Add(m_terminal);
            m_terminal = (TDTerminal)m_Group.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
            m_terminal.EnableHSUPA = true;
            //UnionCsService m_service = new UnionCsService();



            //UnionPsService service = new UnionPsService();
            //TDPsService S = new TDPsService();
            ////((TDPsService)m_Group.TrafficService ).EnableHSUPA = true;
            //service.PSServiceDic.Add(NetWorkType.TDSCDMA, S);
            //(service.PSServiceDic[NetWorkType.TDSCDMA] as TDPsService).EnableHSUPA = true;


            LinkLossAssist.Init();
            m_Case = new HSUPAPeakThroughputCase();
            m_projectMgr = ServiceHelper.Lookup<IProjectManager>(ProjectSingleton.CurrentProject.AppContext);
            GenerateMatrix();

            m_BestServerIDMatrix[m_index] = (short)(m_Cell.ID);
            m_HSUPACIMatrix[m_index] = -540;
            m_Case.Name = m_Name;
            m_CellList = new List<IACell>();
            m_Context = new Context();
            m_CellList.Add(m_Cell);
            //GenerateCellList();
            m_Transceiver.Cells = m_CellList;
            m_transList.Add(m_Transceiver);
            AddToContext();

        }
Пример #9
0
        public void MyTestInitialize()
        {
            m_Name = "HSPDSCH_SINR";
            m_Context = new Context();
            m_Case = new HSPDSCHCIRCase();
            m_CellList = new List<IACell>();

            LinkLossAssist.Init();
            tfMatrix = new TrueFalseMatrix(4, 4, 0.0, 200, 50, true);
            tdGroup = MockGroupAndCell.MockTDPredicGroup();
            m_Cell = MockGroupAndCell.CreateTDCell();
            m_Cell.ID = 5;
            m_terminal = new TDTerminal();
            m_terminal = (TDTerminal)tdGroup.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
            m_terminal.EnableHsdpa = true;
            InitMatrix(tfMatrix, tdGroup);

            InitCellList();

            AddToContext(tfMatrix, tdGroup);
        }
Пример #10
0
 //构造使用PS业务的用户
 public static User CreatUser_PS()
 {
     Mobility mobility = new Mobility("mobility", 30);
     //构造业务参数
     UnionPsService unionPsService = new UnionPsService();
     Dictionary<NetWorkType, Service> PSServiceDic = new Dictionary<NetWorkType, Service>();
     TDPsService tdPsService = new TDPsService();
     tdPsService.TDR99Bearer = new TDR99Bearer();
     PSServiceDic.Add(NetWorkType.TDSCDMA, tdPsService);
     unionPsService.PSServiceDic = PSServiceDic;
     //构造终端参数
     Terminal terminal = new Terminal();
     List<NetworkTerminal> terminalList = new List<NetworkTerminal>();
     TDTerminal tempTerminal = new TDTerminal();
     tempTerminal.NoiseFigure = 2;
     tempTerminal.NetType = NetWorkType.TDSCDMA;
     tempTerminal.MinTxPower = 24;
     tempTerminal.MaxTxPower = 36;
     terminalList.Add(tempTerminal);
     terminal.NetTerminalList = terminalList;
     User user = new User(mobility, unionPsService, terminal, LinkType.Uplink, 1);
     user.Id = 1;
     return user;
 }
Пример #11
0
 public object Clone()
 {
     TDTerminal terminal = new TDTerminal();
     terminal.DlMaxTxPower = this.DlMaxTxPower;
     terminal.EnableHsdpa = this.EnableHsdpa;
     terminal.EnableHSUPA = this.EnableHSUPA;
     terminal.Gain = base.Gain;
     terminal.TDHSPAsupport = this.TDHSPAsupport;
     terminal.HSUPAUeCatgoryIndex = this.HSUPAUeCatgoryIndex;
     terminal.HSDPAUeCategoryIndex = this.HSDPAUeCategoryIndex;
     terminal.Loss = base.Loss;
     terminal.MaxTxPower = base.MaxTxPower;
     terminal.MinTxPower = base.MinTxPower;
     terminal.MudFactor = this.MudFactor;
     terminal.Name = base.Name;
     terminal.NoiseFigure = base.NoiseFigure;
     terminal.Reception = base.Reception;
     terminal.RhoFactor = this.RhoFactor;
     terminal.TDHsupaUeCategory = this.TDHsupaUeCategory;
     terminal.TDHsdpaUeCategory = this.TDHsdpaUeCategory;
     terminal.HSPower = this.HSPower;
     terminal.UppchPower = this.UppchPower;
     return terminal;
 }
Пример #12
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);
 }
Пример #13
0
 private void InitTerminal()
 {
     this.m_Terminal.Name = this.m_TerminalManagement.GeneralNewTerminalName();
     this.m_Terminal.Attenuation = 0f;
     this.m_TdTerminal = new TDTerminal();
     this.m_TdTerminal.MaxTxPower = 0f;
     this.m_TdTerminal.MinTxPower = 0f;
     this.m_Terminal.NetTerminalList.Add(this.m_TdTerminal);
 }
Пример #14
0
 private bool CheckTxPowerValid(TDTerminal tdTerminal, ref string info)
 {
     if ((tdTerminal.MaxTxPower < this.MINPOWERVALUE) || (tdTerminal.MaxTxPower > this.MAXPOWERVALUE))
     {
         return false;
     }
     if ((tdTerminal.MinTxPower < this.MINPOWERVALUE) || (tdTerminal.MinTxPower > this.MAXPOWERVALUE))
     {
         return false;
     }
     if (tdTerminal.MinTxPower > tdTerminal.MaxTxPower)
     {
         return false;
     }
     return true;
 }
Пример #15
0
 /// <summary>
 /// 从Context获取本case所需的指标
 /// </summary>
 /// <param name="context"></param>
 private void GetDataFromContext(Context context)
 {
     m_predictionGroup = (TDPredictionGroup)context[ContextKeys.Group];
     m_tfMatrix = (TrueFalseMatrix)context[ContextKeys.TFMatrix];
     m_appContext = (IBaseService)context[ContextKeys.ApplicationContext];
     m_projectMgr = ServiceHelper.Lookup<IProjectManager>(m_appContext);
     m_cellList = (List<IACell>)context[ContextKeys.CellList];
     m_bestServerCellIDMatrix = (ValueMatrixShort)context[ContextKeys.TDBestServerCellID];
     m_HSPDSCHRSCPMatrix = (ValueMatrixShort)context[ContextKeys.HSPDSCHRSCP];
     m_HSPDSCHInterfMatrix = (ValueMatrixDouble)context[ContextKeys.HSPDSCHInterf];
     m_OtherSystemInterfMatrix = (ValueMatrixDouble)context[ContextKeys.OtherSystemInterf];
     m_tdTermianl = (TDTerminal)m_predictionGroup.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
 }
Пример #16
0
        /// <summary>
        /// 从context里获取数据
        /// </summary>
        /// <param name="context"></param>
        private void GetDataFromContext(Context context)
        {
            m_Group = (CoPredicGroup)context[ContextKeys.Group];

            m_appContext = (IBaseService)context[ContextKeys.ApplicationContext];
            IProjectManager projectManager = ServiceHelper.Lookup<IProjectManager>(m_appContext);
            m_ProjectPath = projectManager.CurrentProjectLossPath;
            //获得Cell列表
            m_CellList = (List<IACell>)context[ContextKeys.CellList];
            //获得接收功率矩阵
            m_GSMBestServerRSCP = (ValueMatrixShort)context[ContextKeys.CoGSMBestServerRSCP];
            m_UMTSBestServerRSCP = (ValueMatrixShort)context[ContextKeys.CoUMTSBestServerRSCP];
            m_TDBestServerRSCP = (ValueMatrixShort)context[ContextKeys.CoTDSCDMABestServerRSCP];
            m_LTEBestServerRSCP = (ValueMatrixShort)context[ContextKeys.CoLTEBestServerRSCP];

            m_GSMBestServerID = (ValueMatrixDouble)context[ContextKeys.CoGSMBestServerID];
            m_UMTSBestServerID = (ValueMatrixDouble)context[ContextKeys.CoUMTSBestServerID];
            m_TDBestServerID = (ValueMatrixDouble)context[ContextKeys.CoTDBestServerID];
            m_LTEBestServerID = (ValueMatrixDouble)context[ContextKeys.CoLTEBestServerID];
            //获得干扰矩阵
            m_GSMInterf = (ValueMatrixDouble)context[ContextKeys.CoGSMInterf];
            m_UMTSInterf = (ValueMatrixDouble)context[ContextKeys.CoUMTSInterf];
            m_TDInterf = (ValueMatrixDouble)context[ContextKeys.CoTDInterf];
            m_LTEInterf = (ValueMatrixDouble)context[ContextKeys.CoLTEInterf];
            m_UMTSTerminal = (UMTSTerminal)m_Group.CoUMTSGroup.Terminal.GetNetWorkTerminal(NetWorkType.UMTS);
            m_TDTerminal = (TDTerminal)m_Group.CoTDSCDMAGroup.Terminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
            m_LTETerminal = (LTETerminal)m_Group.CoLTEGroup.Terminal.GetNetWorkTerminal(NetWorkType.LTE);
        }
Пример #17
0
 /// <summary>
 /// 从context里面取对象
 /// </summary>
 /// <param name="context"></param>
 private void GetValueFromContext(Context context)
 {
     m_tdPredicGroup = (TDPredictionGroup)context[ContextKeys.Group];
     m_tFMatrix = (TrueFalseMatrix)context[ContextKeys.TFMatrix];
     m_BestServerCellIDMatrix = (ValueMatrixShort)context[ContextKeys.TDBestServerCellID];
     m_CellList = (List<IACell>)context[ContextKeys.CellList];
     m_appContext = (IBaseService)context[ContextKeys.ApplicationContext];
     m_smartAntGain = ServiceHelper.Lookup<ISmartAntCalcGain>(m_appContext);
     m_ProjectManager = ServiceHelper.Lookup<IProjectManager>(m_appContext);
     m_Name = m_tdPredicGroup.Name;
     m_tdTerminal = m_tdPredicGroup.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA) as TDTerminal;
 }
Пример #18
0
 /// <summary>
 /// 从context里面提取数据对象
 /// </summary>
 /// <param name="context"></param>
 private void GetValueFromContext(Context context)
 {
     m_TdPredicGroup = (TDPredictionGroup)context[ContextKeys.Group];
     m_TFMatrix = (TrueFalseMatrix)context[ContextKeys.TFMatrix];
     m_AppContext = (IBaseService)context[ContextKeys.ApplicationContext];
     m_ProjectManager = ServiceHelper.Lookup<IProjectManager>(m_AppContext);
     m_ITrafficService = ServiceHelper.Lookup<ITrafficService>(m_AppContext);
     HSDPABearerManagement tdHSDPAManagement =
       m_ITrafficService.LookupManager(typeof(HSDPABearerManagement)) as HSDPABearerManagement;
     m_TdHSDPAList.AddRange(tdHSDPAManagement.TdHsdpaBearerList);
     m_CellList = (List<IACell>)context[ContextKeys.CellList];
     m_BestServerCellID = (ValueMatrixShort)context[ContextKeys.TDBestServerCellID];
     m_DLInterf = (ValueMatrixDouble)context[ContextKeys.DLDCHInterf];
     m_Name = m_TdPredicGroup.Name;
     m_SpaceDivMultipleGain = m_TdPredicGroup.tdUIParam.SpaceDivMultipleGain;
     m_MaxSpaceDivMultipleGain = m_TdPredicGroup.tdUIParam.MaxSpaceDivMultipleGain;
     m_TdTermial = (TDTerminal)m_TdPredicGroup.TrafficTerminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
 }
Пример #19
0
 private bool CheckTdTerminalPropertyValid(TDTerminal tdTerminal, ref string info)
 {
     if ((tdTerminal.Gain < this.MINZEROVALUE) || (tdTerminal.Gain > this.MAXVALUE))
     {
         info = string.Format(TrafficMapResource.TRAFFIC_MESSAGE_IMPROPERTY, TrafficModelResource.TRAFFICMODEL_GAIN);
         return false;
     }
     if (!this.CheckTxPowerValid(tdTerminal, ref info))
     {
         info = TrafficModelResource.TRAFFICMODEL_TERMINAL_MINMAX_POWER;
         return false;
     }
     if ((tdTerminal.NoiseFigure < this.MINZEROVALUE) || (tdTerminal.NoiseFigure > this.MAXVALUE))
     {
         info = string.Format(TrafficMapResource.TRAFFIC_MESSAGE_IMPROPERTY, TrafficModelResource.TRAFFICMODEL_NOISEFIGUREDB);
         return false;
     }
     return true;
 }