示例#1
0
 public void CalculateServiceSatisfy(IAdmissionCarrier carrier, int currentTTI)
 {
     this.m_GBRUserlist = new List<ISimulationUser>();
     this.m_NonGBRUserlist = new List<ISimulationUser>();
     SatisficationCalculate calculate = new SatisficationCalculate(currentTTI, this.m_SatisficationThParam);
     AdmissionCellTag admissionCarrierTag = carrier.AdmissionCarrierTag as AdmissionCellTag;
     calculate.GetUsers(carrier.DlDataWaitUserList, this.m_GBRUserlist, this.m_NonGBRUserlist);
     admissionCarrierTag.DLGBRSatisfication = calculate.DLSatisCalGBR(this.m_GBRUserlist, SimulationConstant.MinNumOfGBR);
     admissionCarrierTag.DLNonGBRSatisfication = calculate.DLSatisCalGBR(this.m_NonGBRUserlist, SimulationConstant.MinNumOfNonGBR);
     if (SimulationConstant.IS_CACULATE_SQS_SCORE)
     {
         admissionCarrierTag.DLVoiceSatisfication = calculate.VoiceSatisCalculateSQS(carrier.DlVoiceWaitUserList);
     }
     else
     {
         admissionCarrierTag.DLVoiceSatisfication = calculate.DLSatisCalGBR(carrier.DlVoiceWaitUserList, SimulationConstant.MinNumOfVoice);
     }
 }
        public void MyTestInitialize()
        {
            m_SatisificationCalculate = new SatisficationCalculate(m_currentTTI, m_sfCalTh);
            m_sfCalTh = new SatisficationThParam();
            m_VoiceUserList = new List<ISimulationUser>();
            m_UserList = new List<ISimulationUser>();
            m_VoiceUser = new SimulationUser();
            m_GBRUserList = new List<ISimulationUser>();
            m_DataUserList = new List<ISimulationUser>();
            m_NonGBRUserList = new List<ISimulationUser>();
            m_User = new SimulationUser();
            Service serv = new UnionPsService();
            m_User.LTEUser = new User();

            SimulationUser user1 = new SimulationUser();
            SimulationUser user2 = new SimulationUser();

            m_GBRUserList.Add(user1);
            m_GBRUserList.Add(user2);
            m_UserList.Add(m_User);
            m_DataUserList.Add(m_User);
            m_VoiceUserList.Add(m_User);

            m_User.AdmissionUserTag = new AdmissionControlUserTag();
            AdmissionControlUserTag tag2 = m_User.AdmissionUserTag as AdmissionControlUserTag;

            m_User.LTEUser.Service = serv;
            m_User.LTEUser.Service = new Huawei.UNet.Traffic.Interface.UnionPsService();
            NetworkTerminal networkTerminal = new NetworkTerminal();
            ((Huawei.UNet.Traffic.Interface.UnionPsService)(m_User.LTEUser.Service)).PSServiceDic = new Dictionary<Huawei.UNet.Frame.Interface.NetWorkType, Huawei.UNet.Traffic.Interface.Service>();
            ((Huawei.UNet.Traffic.Interface.UnionPsService)(m_User.LTEUser.Service)).PSServiceDic.Add(NetWorkType.LTE, new Huawei.UNet.Traffic.LTEModel.LTEService());


            m_UlMinThroughputDemand = new UnionPsService();
            m_UlTxEff = new UnionPsService();
            m_UlOffset = new UnionPsService();

            
            
            
        }
示例#3
0
        /// <summary>
        /// 计算每个小区的上行服务的满意度
        /// </summary>
        /// <param name="carrier"></param>
        /// <param name="currentTTI"></param>
        public void CalculateServiceSatisfy(IAdmissionCarrier carrier, int currentTTI)
        {
            this.m_GBRUserlist = new List<ISimulationUser>();
            this.m_NonGBRUserlist = new List<ISimulationUser>();
            SatisficationCalculate calculate = new SatisficationCalculate(currentTTI, this.m_SatisficationThParam);
            AdmissionCellTag admissionCarrierTag = carrier.AdmissionCarrierTag as AdmissionCellTag;
            calculate.GetUsers(carrier.UlDataWaitUserList, this.m_GBRUserlist, this.m_NonGBRUserlist);
            //计算小区的上行数据用户的整体满意度
            admissionCarrierTag.ULGBRSatisfication = calculate.ULSatisCalGBR(this.m_GBRUserlist, SimulationConstant.MinNumOfGBR);
            admissionCarrierTag.ULNonGBRSatisfication = calculate.ULSatisCalGBR(this.m_NonGBRUserlist, SimulationConstant.MinNumOfNonGBR);

            //SQS_SCORE这是一个什么score,SimulationConstant.IS_CACULATE_SQS_SCORE这个参数从哪读的,暂时设为true
            //计算小区的上行voice用户的整体满意度
            if (true)//SimulationConstant.IS_CACULATE_SQS_SCORE)
            {
                admissionCarrierTag.ULVoiceSatisfication = calculate.VoiceSatisCalculateSQS(carrier.UlVoiceWaitUserList);
            }
            else
            {
                admissionCarrierTag.ULVoiceSatisfication = calculate.ULSatisCalGBR(carrier.UlVoiceWaitUserList, SimulationConstant.MinNumOfVoice);
            }
        }
        public void DlAdmissionControlExecute_Test1()
        {

            m_SatisThParam = new SatisficationThParam();
            m_SatisCal = new SatisficationCalculate(m_CurrentTTI, m_SatisThParam);
            DlAdmissionControl m_dladdmissionControl = new DlAdmissionControl();
            //m_DlAdmission.Init();
            SimulationUser duser1 = new SimulationUser();
            m_DlHODataUserList = new List<ISimulationUser>();
            m_DlHODataUserList.Add(duser1);
            m_Carrier.DLHandOverDataUserList = m_DlHODataUserList;


            m_DlAdmission.Init(m_ISimulationCarrierList);          
            m_DlAdmission.DlAdmissionControlExecute(m_ISimulationCarrierList, m_CurrentTTI);
            Assert.AreEqual(m_ISimulationCarrierList.Count, 1);
        }