示例#1
0
 /// <summary>
 /// 初始化上行用户链路
 /// </summary>
 /// <param name="user">用户</param>
 /// <param name="nt">用户的终端类型</param>
 /// <param name="linkParam">用户所在的链路的信息</param>
 private void InitUlLinkParam(TDSimUser user, TSLinkParam linkParam)
 {
     float ulTotalLoss = m_LossCalc.GetULTotalLoss(user, user.ServiceCell);
     float bsSensitivity = CalcBsSensitivity(user);
     float gain = m_SmartGain.GetSmartAntMainGain(user);
     float ulTxPower = ulTotalLoss + bsSensitivity - gain;
     ulTxPower = Math.Max(ulTxPower, user.MinTxPower);
     linkParam.TxPower = Math.Min(ulTxPower, user.MaxTxPower);
     linkParam.BsRxPower = linkParam.TxPower - ulTotalLoss + gain;
 }
示例#2
0
 public static Dictionary<TS, TSLinkParam> CreatTSLinkSetDictionary()
 {
     Dictionary<TS, TSLinkParam> linksetDic = new Dictionary<TS, TSLinkParam>();
     TSLinkParam tsLinkParam = null;
     TS number = TS.TS0;
     for (int slotId = 0; slotId < 7; slotId++)
     {
         tsLinkParam = new TSLinkParam();
         tsLinkParam.CodeNum = 10;
         tsLinkParam.LinkCIR = 3;
         tsLinkParam.MsRxPower = 10;
         tsLinkParam.BsRxPower = 10;
         linksetDic.Add(number++, tsLinkParam);
     }
     return linksetDic;
 }
示例#3
0
文件: R4_DCA.cs 项目: xiaoyj/Space
 /// <summary>
 /// 初始化LinkSet
 /// </summary>
 /// <param name="user"></param>
 /// <param name="slot"></param>
 /// <param name="tsRes"></param>
 private static void InitTSLinkParam(TDSimUser user, TimeSlot slot, TSResource tsRes)
 {
     TSLinkParam link = new TSLinkParam();
     link.CodeRU = tsRes.RuNum;
     link.CodeNum = tsRes.PhCodeNum;
     link.TxPower = float.NegativeInfinity;
     user.LinkSet.Add(slot.TsNum, link);
     slot.AccessedUsers.Add(user);
 }
示例#4
0
 /// <summary>
 /// 初始化下行链路信息
 /// </summary>
 /// <param name="user"></param>
 /// <param name="linkParam"></param>
 /// <param name="tsNum"></param>
 private void InitDlLinkParam(TDSimUser user, TSLinkParam linkParam, TS tsNum)
 {
     float dlTotalLoss = m_LossCalc.GetDLTotalLoss(user, user.ServiceCell);
     float msSensitivity = CalcMsSensitivity(user);
     float gain = m_SmartGain.GetSmartAntMainGain(user);
     float dlTxPower = dlTotalLoss + msSensitivity - gain;
     float minPower = user.ServiceCell.MinSingleChPower + (float)UnitTrans.todB((double)linkParam.CodeNum);
     float maxPower = user.ServiceCell.MaxSingleChPower + (float)UnitTrans.todB((double)linkParam.CodeNum);
     float availablePower = R4_CommonCalcMethod.GetAvailablePower(tsNum, user);
     dlTxPower = Math.Max(dlTxPower, minPower);
     dlTxPower = Math.Min(dlTxPower, maxPower);
     linkParam.TxPower = Math.Min(dlTxPower, availablePower);
     linkParam.MsRxPower = linkParam.TxPower - dlTotalLoss + gain;
 }