Example #1
0
 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);
 }
Example #2
0
 /// <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;
 }
Example #3
0
 public List<ClutterParamsResult> GetAllClutterParams()
 {
     List<ClutterParamsResult> clutterParamList = new List<ClutterParamsResult>();
     ClutterParamsResult clutterParam = new ClutterParamsResult();
     clutterParamList.Add(clutterParam);
     return clutterParamList;
 }
Example #4
0
 public ClutterParamsResult GetClutterParamByCode(short code)
 {
     ClutterParamsResult clut = new ClutterParamsResult();
     //配置clut
     return clut;
 }
Example #5
0
 /// <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;
 }
Example #6
0
 public ClutterParamsResult GetClutterParamByCode(short code)
 {
     ClutterParamsResult clut = new ClutterParamsResult();
     //配置clut
     clut.ShadowStd = 1f;
     clut.PenetrationLoss = 7f;
     //clut.ShadowCor = 0.5f;
     return clut;
 }
Example #7
0
 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;
 }
Example #8
0
 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;
 }