Ejemplo n.º 1
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="context"></param>
 public TDIntefCalculate(TDCalcCommonParam param)
 {
     m_TotalLoss = new TDLinkLossCalc(param.CalcLinkLoss);
     m_SmartAnt = new SmartAntGain(param.SmartAntGain);
     //m_IntefCalc = new InterfCalculate(param.IntefParam);
     m_CustomerParam = param.TdUIParam;
     m_IntefCalc = param.InterfCalc;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 初始化
 /// 为了实现接口
 /// </summary>
 /// <param name="linkloss"></param>
 /// <param name="interfCalc"></param>
 /// <param name="orthogonalCoefficient">正交因子</param>
 public void Initialization(IGetLinkloss linkloss, IInterfCalc interfCalc, ISmartAntCalcGain param)
 {
     this.m_Linkloss = linkloss;
     this.m_InterfCalc = interfCalc;
     TDCalcCommonParam param1 = new TDCalcCommonParam();
     param1.SmartAntGain = param;
     this.m_SmartAntGain = new SmartAntGain(param1.SmartAntGain);
     m_GetTDLinkLoss = new TDLinkLossCalc(m_Linkloss);
 }
Ejemplo n.º 3
0
        public void HARQ_Test()
        {
            IGetLinkloss linkloss = new MockIGetLinkloss();
            ICalcInterfere interfere = null;
            TDCalcCommonParam param = new TDCalcCommonParam();
            TDLinkLossCalc TDLinkLoss = new TDLinkLossCalc(linkloss);
            ISimUser simUser = new MockISimUserBase();
            ISimCellBase cellBase = new MockISimCellBase();
            TDLinkLoss.GetDLTotalLoss(simUser, cellBase);

            HSDPABearerManagement retainGain = new HSDPABearerManagement(NetWorkType.TDSCDMA);
            HARQ m_Harq = new HARQ(interfere, linkloss, retainGain);
            m_Harq.CalcInterfere = new MockICalcInterfere();
            TimeSlot slot1 = new TimeSlot();
            TimeSlot slot2 = new TimeSlot();
            List<TDSimCell> cellList = new List<TDSimCell>();
            TDSimCell cell1;
            cell1 = MockTDSimCell.CreatTDSimCell();
            //cell1.NeCell = new TDSCDMACarrier();
            TDSimCell cell2;
            cell2 = MockTDSimCell.CreatTDSimCell();
            //cell2.NeCell = new TDSCDMACarrier();

            TDSimUser user1;
            user1 = MockTDSimUser.CreatTDSimUser_CS();
            TDSimUser user2;
            user2 = MockTDSimUser.CreatTDSimUser_CS();
            user2.IsHSDPARetransmited = true;
            user2.HSDPARetransCount = 1;
            TDSimUser user3;
            user3 = MockTDSimUser.CreatTDSimUser_CS();
            user3.IsHSDPARetransmited = true;
            user3.HSDPARetransCount = 2;
            slot1.HSDPAScheduledUsers.Add(user1);
            slot2.HSDPAScheduledUsers.Add(user2);
            slot2.HSDPAScheduledUsers.Add(user3);


            cell1.HSDPATimeslot.Add(slot1);
            cell1.HSDPATimeslot.Add(slot2);

            cellList.Add(cell1);
            cellList.Add(cell2);


            m_Harq.Run(cellList);

            Assert.AreEqual(cellList[0].HSDPAAccessedUsers.Count, 0);

        }
Ejemplo n.º 4
0
 public ResourceSchedule(SortUser sortUserTool, ICalcInterfere cInterfere, TDCalcCommonParam m_CommonParam,
     List<TDHSDPABearer> bearerList)
 {
     this.m_SortUser = sortUserTool;
     this.m_CalcInterfere = cInterfere;
     this.m_BearerList = bearerList;
     this.m_Linkloss = m_CommonParam.CalcLinkLoss;
     this.m_trafficpriority = m_CommonParam.TdUIParam.TrafficPriorityFactor;
     this.m_userpriority = m_CommonParam.TdUIParam.UEPriorityFactor;
     this.m_chpriority = m_CommonParam.TdUIParam.CHPriorityFactor;
     this.m_IsCDMAon = m_CommonParam.TdUIParam.IsCDMAon;
     this.m_ScheduleType = m_CommonParam.TdUIParam.HSPA_SheduleType;
     m_GetTDLinkLoss = new TDLinkLossCalc(m_Linkloss);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="param"></param>
 public R4_InitPower(TDCalcCommonParam param)
 {
     m_LossCalc = new TDLinkLossCalc(param.CalcLinkLoss);
     m_SmartGain = new SmartAntGain(param.SmartAntGain);
     m_PreUsers = param.R4PreUsers;
 }
Ejemplo n.º 6
0
 public CalculateInterference( IInterfCalc interfCalc, SmartAntGain smartant, TDLinkLossCalc linkloss)
 {
     m_InterfCalc = interfCalc;
     m_SmartAnt = smartant;
     m_LinkLoss = linkloss;
 }
Ejemplo n.º 7
0
        public void Run_Test()
        {
            HSDPASimulization simulization = new HSDPASimulization();
            TDIterationBase tdIterationBase = new TDIteration();

            SnapshotContext context = new SnapshotContext();
            List<Transceiver> trans = new List<Transceiver>();
            TDSimCellCollection cellCollection = new TDSimCellCollection();

            TDSimCell cell;
            cell = MockTDSimCell.CreatTDSimCell();

            simulization.AccessControl = new Access();
            simulization.SimulizeTTICount = 50;

            IGetLinkloss linkloss = new MockIGetLinkloss();
            ICalcInterfere interfere = null;
            TDCalcCommonParam param = new TDCalcCommonParam();
            TDLinkLossCalc TDLinkLoss = new TDLinkLossCalc(linkloss);
            ISimUser simUser = new MockISimUserBase();
            ISimCellBase cellBase = new MockISimCellBase();
            TDLinkLoss.GetDLTotalLoss(simUser, cellBase);
            HSDPABearerManagement retainGain = new HSDPABearerManagement(NetWorkType.TDSCDMA);
            HARQ m_Harq = new HARQ(interfere, linkloss, retainGain);
            simulization.HarqArithmetic = new HARQ(interfere, linkloss, retainGain);
            simulization.HarqArithmetic.CalcInterfere = new MockICalcInterfere();

            SortUser sortUserTool = new SortUser();
            ICalcInterfere cInterfere = new MockICalcInterfere();
            TDCalcCommonParam m_CommonParam = new TDCalcCommonParam();
            List<TDHSDPABearer> bearerList = new List<TDHSDPABearer>();
            TDHSDPABearer bearer1 = new TDHSDPABearer();
            TDHSDPABearer bearer2 = new TDHSDPABearer();
            bearer1.RTBS = 50;
            bearer2.RTBS = 50;
            bearer2.CI = 2d;
            bearerList.Add(bearer1);
            bearerList.Add(bearer2);
            m_CommonParam.CalcLinkLoss = new MockIGetLinkloss();
            simulization.ResourceSchedule = new ResourceSchedule(sortUserTool, cInterfere, m_CommonParam, bearerList);
            simulization.SortUserTool = new SortUser();

            TDSimCell cell1;
            cell1 = MockTDSimCell.CreatTDSimCell();
            TDSimCell cell2;
            cell2 = MockTDSimCell.CreatTDSimCell();
            TDSimUser user3;
            user3 = MockTDSimUser.CreatTDSimUser_CS();
            TDSimUser user4;
            user4 = MockTDSimUser.CreatTDSimUser_CS();
            TDSimUser user1;
            user1 = MockTDSimUser.CreatTDSimUser_CS();
            user1.HSDPAThrowput = 100f;
            user1.IsHSDPARetransmited = true;
            TDSimUser user2;
            user2 = MockTDSimUser.CreatTDSimUser_PS();
            user2.HSDPAThrowput = 200f;
            cell2.HSDPAServedUserList.Add(user3);
            cell2.HSDPAServedUserList.Add(user4);
            cell2.HSDPAServedUserCount = 2;
            cell1.HSDPATimeslot[0].HSDPAScheduledUsers.Add(user1);
            cell1.HSDPATimeslot[0].HSDPAScheduledUsers.Add(user2);
            cell1.HSDPAAccessedUsers.Add(user1);
            cell1.HSDPAAccessedUsers.Add(user2);
            List<TDSimCell> cellList = new List<TDSimCell>();
            cellList.Add(cell1);
            cellList.Add(cell2);
            List<TDSimUser> userList = new List<TDSimUser>();
            userList.Add(user1);
            userList.Add(user2);
            simulization.TimeSlotSimulization = new TimeSlotSim(cellList, userList);

            cellCollection.TDCells.Add(cell1);
            cellCollection.TDCells.Add(cell2);

            context.AddKey(ContextKeys.TranceiverList, trans);
            context.AddKey(ContextKeys.TDSimCellCollection, cellCollection);

            simulization.InitCells(context);
            simulization.SimResultReport();

            DPAResult dpaResult =(DPAResult)simulization.Run();
            Assert.AreEqual(dpaResult.CellResult.Count, 2);
        }