Exemplo n.º 1
0
        public void MyInitial()
        {
            m_IGetLinkloss = new MockIGetLinkloss();
            m_InterfCalc = new MockIInterfCalc();
            m_InterfPara = new InterfCalcPara();

        }
Exemplo n.º 2
0
 public void Inital()
 {
     m_User = MockGSMSimUser.CreateGSMSimUser();
     m_IGetLinkloss = new MockIGetLinkloss();
     totalLinkLoss = new TotalLossCalc(m_IGetLinkloss);
     interfPara = new InterfCalcPara();
     interfCalc = new MockIInterfCalc();
     m_TchCalc = new TCHInterfCalc();
 }
Exemplo n.º 3
0
 public void MyInitial()
 {
     m_IGetLinkloss = new MockIGetLinkloss();
     m_TotalLossCalc = new TotalLossCalc(m_IGetLinkloss);
     m_InterfCalc = new MockIInterfCalc();
     m_InterfPara = new InterfCalcPara();
     m_DlBCCHCIR = new DLBCCHCIR(m_IGetLinkloss, m_InterfPara, m_InterfCalc);
     //InitialUser();
     m_User = MockGSMSimUser.CreateGSMSimUser();
 }
Exemplo n.º 4
0
 /// <summary>
 /// 初始化成员变量
 /// </summary>
 /// <param name="context"></param>
 public void Init(SnapshotContext context)
 {
     m_InterfParam = context.Lookup<IInterfCalc>(GsmContextkey.GSMIInterfCalc);
     m_ServerdUsers = context.Lookup<List<GSMSimUser>>(GsmContextkey.GSMServedUsers);
     m_GetLinkLoss = context.Lookup<IGetLinkloss>(GsmContextkey.GSMGetLinkloss);
     m_InterfPara = context.Lookup<InterfCalcPara>(GsmContextkey.GSMIInterfParam);
     m_TchCir = new TCHCIR(m_GetLinkLoss, m_InterfPara, m_InterfParam);
     m_IsPowerCtrl = context.Lookup<GSMUIParam>(GsmContextkey.GSMUIParam).IspowerCtrl;
     m_PowerError = context.Lookup<GSMUIParam>(GsmContextkey.GSMUIParam).PowerError;
     m_Alpha = context.Lookup<GSMUIParam>(GsmContextkey.GSMUIParam).Alpha;
     m_Beta = context.Lookup<GSMUIParam>(GsmContextkey.GSMUIParam).Beta;
 }
Exemplo n.º 5
0
        public void Init(SnapshotContext context)
        {
            m_GetLinkLoss = context.Lookup<IGetLinkloss>(GsmContextkey.GSMGetLinkloss);
            m_InterfCalc = context.Lookup<IInterfCalc>(GsmContextkey.GSMIInterfCalc);
            m_InterfPara = context.Lookup<InterfCalcPara>(GsmContextkey.GSMIInterfParam);
            m_ForAccessAgain = context.Lookup<List<GSMSimUser>>(GsmContextkey.GSMForAccessAgain);
            m_ServerUser = context.Lookup<List<GSMSimUser>>(GsmContextkey.GSMServedUsers);

            m_TchCir = new TCHCIR(m_GetLinkLoss, m_InterfPara, m_InterfCalc);
            m_ThrptCalc = new ThroughputCalculate();
            context.AddKey(GsmContextkey.KickedUsers, m_KickedUsers);
            m_CsTable = context.Lookup<CodeSchemeTable>(GsmContextkey.CodeSchemeTable);
            
        }
Exemplo n.º 6
0
 /// <summary>
 /// 计算BCCH信道受到一个GSM邻载波的干扰
 /// </summary>
 /// <param name="user">用户</param>
 /// <param name="interfTRX">干扰载波</param>
 public void CalcGsmBCCHInterf(GSMSimUser user,GSMSimTRX interfTRX,InterfCalcPara interfPara,TotalLossCalc totalLinkLoss,IInterfCalc interfCalc)
 {
     m_TotalLossCalc = totalLinkLoss;
     m_IsCalcDLBCCH = true;
     m_InterfPara = interfPara;
     m_User = user;
     m_IsUserCsService = user.IsCs;
     m_InterfCalc = interfCalc;
     GSMSimTRX userTRX = FindUsefulTrx(user, true, true);
     m_IsSyn = interfTRX.NeTRX.SynchroRank == userTRX.NeTRX.SynchroRank;
     m_IsOtherSignalDTX = interfTRX.NeTRX.IsUseDTX;
     CalcHopFactor(interfTRX, userTRX, interfPara);
     if ((base.scHopFactor==0)&(base.adjHopFactor==0)&(base.adj2HopFactor==0))
         return ;
     //创建信号
     Signal userSignal = BuildGsmSignal(userTRX, true);
     Signal source = BuildGsmSignal(interfTRX, true);
     float sourcePwr = float.NegativeInfinity;
     float loss = totalLinkLoss.GetAllLoss(user, interfTRX, NetWorkType.GSM, true);
     CalcBcchInterf(interfTRX, userSignal, source, ref sourcePwr, loss);
 }
Exemplo n.º 7
0
 /// <summary>
 ///  GSM小区对GSM用户的干扰(邻小区)
 /// </summary>
 /// <param name="user"></param>
 /// <param name="isDL"></param>
 /// <param name="interfCell"></param>
 /// <param name="interfPara"></param>
 /// <param name="totalLinkLoss"></param>
 public void CalcTCHInterf(GSMSimUser user, bool isDL, GSMSimTRX interfCell, InterfCalcPara interfPara, TotalLossCalc totalLinkLoss, IInterfCalc interfCalc)
 {
     m_IsDL = isDL;
     m_TotalLossCalc = totalLinkLoss;
     m_InterfCalc = interfCalc;
     m_InterfPara = interfPara;
     m_User = user;
     m_IsCalcDLBCCH = false;
     m_IsUserCsService = user.IsCs;
     GSMSimTRX userTrx = FindUsefulTrx(user, false, isDL);
     m_IsSyn = interfCell.NeTRX.SynchroRank == userTrx.NeTRX.SynchroRank;
     CalcHopFactor(interfCell, userTrx,interfPara);
     if ((scHopFactor == 0) & (adjHopFactor == 0) & (adj2HopFactor == 0))
         return;
     Signal userSignal = BuildGsmSignal(userTrx, isDL);
     Signal source = BuildGsmSignal(interfCell, isDL);
     float sourcePwr = float.NegativeInfinity;
     List<GSMTimeSlot> userTSs = FindUserTSs(user, isDL);
     source.Frequency = CommonCalc.GSMFreqPointToFrequency(interfCell.NeTRX.FreqBand.DLFrequency, interfCell.NeTRX.FreqBand.BandWidth,
         interfCell.NeTRX.FreqBand.StartChIndex, interfCell.NeTRX.ChannelIndex, isDL);
     float loss = totalLinkLoss.GetAllLoss(user, interfCell, NetWorkType.GSM, isDL);
     sourcePwr = CalcTchInterf(user, isDL, interfCell, userSignal, source, sourcePwr, userTSs, loss);
 }
Exemplo n.º 8
0
 public TCHCIR(IGetLinkloss gsmLinkLoss, InterfCalcPara interfPara, IInterfCalc interfCalc)
 {
     m_GetLinkLoss = gsmLinkLoss;
     m_InterfPara = interfPara;
     m_InterfCalc = interfCalc;
 }
Exemplo n.º 9
0
        /// <summary>
        /// 初始化干扰计算参数
        /// </summary>
        private void InitCalcPara()
        {
            m_InterfCalcPara = new InterfCalcPara();
            m_InterfCalcPara.IsCalcAdj2Freq = m_UIParam.IsCalcAdj2Freq;
            m_InterfCalcPara.IsCalcAdjFreq = m_UIParam.IsCalcAdjFreq;
            m_InterfCalcPara.IsCalcBCI = m_UIParam.IsCalcBCI;
            m_InterfCalcPara.IsCalcImp3 = m_UIParam.IsCalcImp3;
            m_InterfCalcPara.IsCalcSE = m_UIParam.IsCalcSE;
            m_InterfCalcPara.PwrReBack = m_UIParam.PwrReBack;
            m_InterfCalcPara.TrxDTXFactor = m_UIParam.TrxDTXFactor;
            m_InterfCalcPara.UserDTXFactor = m_UIParam.UserDTXFactor;


        }
Exemplo n.º 10
0
 /// <summary>
 /// 计算跳频因子
 /// </summary>
 /// <param name="otherTrx">干扰载波</param>
 /// <param name="userTrx">用户载波</param>
 protected void CalcHopFactor(GSMSimTRX otherTrx, GSMSimTRX userTrx,InterfCalcPara interfPara)
 {
     scHopFactor = adjHopFactor = adj2HopFactor = 0;
     scHopFactor = m_HopFactor.CalcFactor(userTrx, otherTrx, 0);
     if (interfPara.IsCalcAdjFreq)
         adjHopFactor = m_HopFactor.CalcFactor(userTrx, otherTrx, 1);
     if (interfPara.IsCalcAdj2Freq)
         adj2HopFactor = m_HopFactor.CalcFactor(userTrx, otherTrx, 2);
 }