//public double CalculateAsRxPower(IACell cell, GeoXYPoint point, float Linkloss) //{ //double m_TRXPower = ((GSMTRX)cell).MaxPower; //GSMTRX isGSMCell = cell as GSMTRX; //if (isGSMCell != null) //{ //GSMTerminal gsmTerminal = (GSMTerminal)terminal.GetNetWorkTerminal(NetWorkType.GSM); //double terminalGain = gsmTerminal.Gain; //double serviceLoss = ((GSMService)service).BodyLoss; //return m_TRXPower + terminalGain - serviceLoss - linkloss; //} //else //{ // return double.NegativeInfinity; //} // return CalculateRxPower(cell, point, Linkloss); //} public IDetail CalculateDownLinkDetail(List<RxPowerAndLinkLossModel> ModelList, GeoXYPoint point, Service service, Mobility mobility, Terminal terminal) { TargetPara target = new TargetPara(); InitData(ModelList, service, terminal, target); m_DlBestCell = FindDlBestServer(); m_IInterf = InitInterfCalc(); DlResultImage(); DlJudgeAccess(target); return dlDetail; }
private void InitData(List<RxPowerAndLinkLossModel> ModelList, Service service, Terminal terminal, TargetPara target) { m_Terminal = (GSMTerminal)terminal.GetNetWorkTerminal(NetWorkType.GSM); m_ModelList = ModelList; //数据用户 if (service.CommonType == CommonServiceType.PSService) { GSMTerminal gsmTerminal = (GSMTerminal)terminal.GetNetWorkTerminal(NetWorkType.GSM); GSMPointAnalysisCommonCalc.InialUseList(gsmTerminal); target.TargetThroughput = GSMPointAnalysisCommonCalc.GetPsReqThroughput(); } //语音用户 else { CsInit(service, target); } target.TargetRxPower = -110; }
private bool UlJudge(TargetPara target) { if (m_Terminal.Technology == GsmTechnologyType.GSM) { return ulDetail.TCHCIR > target.TargetCIR; } else { return ulDetail.TCHThroughput > target.TargetThroughput; } }
private void UlJudgeAccess(TargetPara target) { ulDetail.AbleAccess = (m_UlBestModle.RxPower > target.TargetRxPower) && UlJudge(target); }
private void DlJudgeAccess(TargetPara target) { dlDetail.AbleAccess = (m_DlBestModle.RxPower > target.TargetRxPower)&&AccessJudge(target); }
public IDetail CalculateUpLinkDetail(List<RxPowerAndLinkLossModel> ModelList, GeoXYPoint point, Service service, Terminal terminal, Mobility mobility) { TargetPara target = new TargetPara(); InitData(ModelList, service, terminal, target); m_UlBestCell = FindUlBestServer(); UlResultImage(); UlJudgeAccess(target); return ulDetail; }
private static void CsInit(Service service, TargetPara target) { UnionCsService csService = (UnionCsService)service; GSMService temp = csService.CSServiceDic[NetWorkType.GSM] as GSMService; if (temp == null) { temp = (csService.CSServiceDic[NetWorkType.GSM] as UnionCsService).CSServiceDic[NetWorkType.GSM] as GSMService; } target.TargetCIR = temp.ReqCIR; }