private void AddParamsInDic(ClutterParamsResult clutterParamsResult) { ParamsFromGIS mgis = new ParamsFromGIS(); mgis.PenetrationLoss = clutterParamsResult.PenetrationLoss; mgis.SpatialMultiplexFactor = clutterParamsResult.SpatialMultiplex; mgis.StandardDeviation = clutterParamsResult.StandardDeviation; mgis.ClutterName = clutterParamsResult.Name; short code = clutterParamsResult.Code; this.m_DicOfParamsFromGIS.Add(code, mgis); }
/// <summary> /// 遍历激活集计算EbNo /// </summary> /// <param name="index"></param> /// <param name="context"></param> /// <returns></returns> private double CalcTerminalDLSinr(int index) { double tempDLSinr = 0; clutterparam = UMTSPredicCommonCalc.ConfingClutter(m_BestCell.Parent, appContext); m_ModelShadowMargin = UMTSPredicCommonCalc.GetModelShadowMargin(clutterparam, m_PredictionGroup.IsShadow, m_PredictionGroup.CoverageProb); m_CIShadowMargin = UMTSPredicCommonCalc.GetCIShadowMargin(clutterparam, m_PredictionGroup.IsShadow, m_PredictionGroup.CoverageProb); double interf = CalcBinInterf(index); int count = activeSetCellList.Count; for (int i = 0; i < count; i++) { m_CurrentCell = (UMTSCell)SearchAssist.GetCellbyID(activeSetCellList[i], m_CellList); float[] linkLoss = linkLossCalc.GetLinkLoss(index, m_TFMatrix, m_CurrentCell); double sinr = UMTSPredicCommonCalc.Calc_SINR(m_TchTxPower, linkLoss[1] - m_ModelShadowMargin, interf) + m_PredictionGroup.UIParam.DLDivGain + UnitTrans.todB(m_PredictionGroup.UIParam.ChipsRate / m_TchDLRate) - m_CIShadowMargin; tempDLSinr += UnitTrans.dBmTomw(sinr); } if (count > 1) { tempDLSinr *= m_PredictionGroup.UIParam.DLRakeEffiFactor; } return tempDLSinr; }
public List<ClutterParamsResult> GetAllClutterParams() { List<ClutterParamsResult> clutterParamList = new List<ClutterParamsResult>(); ClutterParamsResult clutterParam = new ClutterParamsResult(); clutterParamList.Add(clutterParam); return clutterParamList; }
public ClutterParamsResult GetClutterParamByCode(short code) { ClutterParamsResult clut = new ClutterParamsResult(); //配置clut return clut; }
/// <summary> /// 遍历激活集计算EbNo /// </summary> /// <param name="index"></param> /// <returns></returns> private double CalcTerminalHSPDSCHSinr(int index) { clutterparam = UMTSPredicCommonCalc.ConfingClutter(m_BestCell.Parent, appContext); m_ModelShadowMargin = UMTSPredicCommonCalc.GetModelShadowMargin(clutterparam, m_PredictionGroup.IsShadow, m_PredictionGroup.CoverageProb); m_CIShadowMargin = UMTSPredicCommonCalc.GetCIShadowMargin(clutterparam, m_PredictionGroup.IsShadow, m_PredictionGroup.CoverageProb); float[] linkLoss = linkLossCalc.GetLinkLoss(index, m_TFMatrix, m_BestCell); double interf = CalcBinInterf(index, linkLoss[1]); double txPower = 33;// 此处应该是m_BestCell.HSDPAPower; double sinr = UMTSPredicCommonCalc.Calc_SINR(txPower, linkLoss[1] - m_ModelShadowMargin, interf) + m_PredictionGroup.UIParam.DLDivGain + UnitTrans.todB(m_PredictionGroup.UIParam.ChipsRate / m_TchDLRate) - m_CIShadowMargin; return sinr; }
public ClutterParamsResult GetClutterParamByCode(short code) { ClutterParamsResult clut = new ClutterParamsResult(); //配置clut clut.ShadowStd = 1f; clut.PenetrationLoss = 7f; //clut.ShadowCor = 0.5f; return clut; }
private ClutterParamsResult GetValueFromDataTable(string columnName, string columnValue, DataTable table, ref bool isSuccessful) { ClutterParamsResult resultForOneRow = new ClutterParamsResult(); if (table != null) { foreach (DataRow row in table.Rows) { if (row[columnName].ToString() == columnValue) { resultForOneRow = this.GetResultForOneRow(row); isSuccessful = true; } } } return resultForOneRow; }
private ClutterParamsResult GetResultForOneRow(DataRow row) { ClutterParamsResult result = new ClutterParamsResult(); result.Code = (short) row[GISCtrlGResourceEx.GIS_CODE]; result.Name = (string) row[GISCtrlGResourceEx.GIS_COLORBASE_CLUTTER_NAME]; result.ClutterHeight = (float) row[GISCtrlGResourceEx.GIS_HEIGHT]; result.SpatialMultiplex = (float) row[GISCtrlGResourceEx.GIS_COLORBASE_SPATIAL_MULTIPLEX]; result.PenetrationLoss = (float) row[GISCtrlGResourceEx.GIS_PENETRATIONLOSS]; result.ShadowStd = (float) row[GISCtrlGResourceEx.GIS_SHADOW_STD]; result.ShadowCor = (float) row[GISCtrlGResourceEx.GIS_SHADOW_COR]; result.StandardDeviation = (float) row[GISCtrlGResourceEx.GIS_SHADOW_STD]; result.C_I_NStandDev = (float) row[GISCtrlGResourceEx.GIS_C_I_NStandDev]; return result; }