Esempio n. 1
0
 public void CopyFrom(AntConfig antConfig)
 {
     this.DX = antConfig.DX;
     this.DY = antConfig.DY;
     this.Longitude = antConfig.Longitude;
     this.Latitude = antConfig.Latitude;
     this.TxPowerRatio = antConfig.TxPowerRatio;
     this.AntType = antConfig.AntType;
     this.Azimuth = antConfig.Azimuth;
     this.DlFeederLength = antConfig.DlFeederLength;
     this.DlJumpLossTmaToAnt = antConfig.DlJumpLossTmaToAnt;
     this.DlJumpLossTmaToBs = antConfig.DlJumpLossTmaToBs;
     this.DlMiscLoss = antConfig.DlMiscLoss;
     this.DlTotalLoss = antConfig.DlTotalLoss;
     this.ElecTilt = antConfig.ElecTilt;
     this.Height = antConfig.Height;
     this.AntennaID = antConfig.AntennaID;
     this.Tilt = antConfig.Tilt;
     this.UlFeederLength = antConfig.UlFeederLength;
     this.UlJumpLossTmaToAnt = antConfig.UlJumpLossTmaToAnt;
     this.UlJumpLossTmaToBs = antConfig.UlJumpLossTmaToBs;
     this.UlMiscLoss = antConfig.UlMiscLoss;
     this.UlTotalLoss = antConfig.UlTotalLoss;
     this.IsMainAnt = antConfig.IsMainAnt;
     this.IsUserInput = antConfig.IsUserInput;
     this.OutdoorAntenna = antConfig.OutdoorAntenna;
     this.SectorID = antConfig.SectorID;
     this.Tma = antConfig.Tma;
     this.Feeder = antConfig.Feeder;
 }
Esempio n. 2
0
 private object GetObjectValue(Repeater repeater, string propertyName)
 {
     PropModelConfig propModelConfig = new PropModelConfig();
     AntConfig antConfig = new AntConfig();
     if (this.IsMainPropModel(propertyName))
     {
         propModelConfig = repeater.PropModels[0];
         propertyName = propertyName.Substring("Main".Length);
         return this.GetPropModelValue(propModelConfig, propertyName);
     }
     if (this.IsExtPropModel(propertyName))
     {
         if (repeater.PropModels.Count == 2)
         {
             propModelConfig = repeater.PropModels[1];
         }
         propertyName = propertyName.Substring("Ext".Length);
         return this.GetPropModelValue(propModelConfig, propertyName);
     }
     if (!this.m_IsDonorSide)
     {
         antConfig = repeater.ConverageAntConfig;
         return this.GetAntConfigValue(antConfig, propertyName);
     }
     if (this.m_IsDonorSide)
     {
         antConfig = repeater.DonorAntConfig;
         return this.GetAntConfigValue(antConfig, propertyName);
     }
     return string.Empty;
 }
Esempio n. 3
0
       //构造TDCarrier
       public static IACell CreatTDCarrier()
       {
           IACell cell = new TDSCDMACarrier();
           Transceiver trans = new Transceiver();
           Site site = new Site();

           site.X = 100;
           site.Y = 100;
           site.Equipment = new BtsEquipment();
           site.Equipment.NoiseFigure = 2;

           trans.Name = "Trans1";
           trans.Parent = site;
           trans.Cells.Add(cell);

           cell.Name = "TDCell1";
           cell.Parent = trans;
           cell.FreqBand = new FrequencyBand();
           cell.FreqBand.DLFrequency = 2010f;
           cell.FreqBand.ULFrequency = 2010f;

           AntConfig antConfig = new AntConfig();
           antConfig.OutdoorAntenna = new Huawei.UNet.Antenna.Entity.AntennaEntity();
           cell.Parent.AntConfiguration.Add(antConfig);
           cell.Parent.AntConfiguration[0].IsMainAnt = true;
           cell.Parent.AntConfiguration[0].DlTotalLoss = 3;
           cell.Parent.AntConfiguration[0].OutdoorAntenna.Gain = 18;
           cell.ID = 2;

           PropModelConfig propModelConfig = new PropModelConfig();
           propModelConfig.CalcRadius = 4000;
           propModelConfig.CalcResolution = 50;
           trans.Cells[0].PropModels.Add(propModelConfig);
           return cell;
       }
Esempio n. 4
0
        public void Init()
        {           
            matrix = new TrueFalseMatrix(10, 10, 0.0, 10.0, 1, true);
            cell = new MockCell();
            termianl = new Terminal();
            //termianl.Gain = 3f;
            CsService = new UnionCsService();
            CsService.BodyLoss = 5f;
            PsService = new UnionPsService();
            PsService.BodyLoss = 5f;

            AntConfig1 = new AntConfig();
            AntConfig1.IsMainAnt = true;
            AntConfig1.DlTotalLoss = 6f;
            AntConfig1.IsUserInput = false;
            AntConfig1.Feeder = new FeederEquipment();

            tran = new Transceiver();
            site = new Site();
            site.Equipment = new BtsEquipment();
            site.Equipment.NoiseFigure = 4f;
            site.X = 1;
            site.Y = 1;

            tran.Parent = site;
            tran.addAntConfig(AntConfig1);

            cell.Parent = tran;

            LinkLossAssist.Init();
        }
Esempio n. 5
0
        public static List<IACell> CreateCellList(List<IACell> cellList, double[] x, double[] y)
        {
            for (int i = 0; i < cellList.Count; i++)
            {
                Transceiver trans = new Transceiver();
                Site site = new Site();
                site.X = x[i];
                site.Y = y[i];   
                site.Equipment = new BtsEquipment();
                site.Equipment.NoiseFigure = 2;

                trans.Name = "Trans" + i.ToString();
                trans.Parent = site;
                trans.Cells.Add(cellList[i]);

                cellList[i].Parent = trans;
                cellList[i].MaxPower = 39;

                AntConfig antConfig = new AntConfig();
                cellList[i].Parent.AntConfiguration.Add(antConfig);
                cellList[i].Parent.AntConfiguration[0].IsMainAnt = true;
                cellList[i].Parent.AntConfiguration[0].DlTotalLoss = i+1;
                antConfig.OutdoorAntenna = new AntennaEntity();
                cellList[i].ID = (short)i;

                PropModelConfig propModelConfig = new PropModelConfig();
                propModelConfig.CalcRadius = 4000;
                propModelConfig.CalcResolution = 50;
                trans.Cells[0].PropModels.Add(propModelConfig);
                
            }
            return cellList;   
        }
Esempio n. 6
0
 public void SetAntConfig(Huawei.UNet.NE.Interface.AntConfig antConfig, string parentName)
 {
     this.m_oriAntConfig = antConfig;
     this.m_AntConfig = antConfig.Clone();
     this.m_AntConfig.ID = antConfig.ID;
     this.cellName = parentName;
 }
Esempio n. 7
0
 //这个方法好像没有调用的地方
 public float[] CalcPointPathLoss(IPropagationModel prop, IACell carrier, AntConfig ant, GeoXYLine xyLine, float resolution, float rxHeight, out Dictionary<string, object> modelDetail)
 {
     if (prop == null)
     {
         modelDetail = null;
         return new float[2];
     }
     AntConfig config = ant;
     IPropagationModel model = prop;
     SectionPathLossCalcParam param = new SectionPathLossCalcParam();
     param.TxAntennaHeight = config.Height;
     if (!(AntConfig.IS_ANTENNA_HEIGHT_INCLUDE_BUILDING || !this.GeoDataProvider.IGeoProvider.IsBuildingLoaded))
     {
         param.TxAntennaHeight += this.GeoDataProvider.GisInfo.GetValueByGeoXYPoint(xyLine.Points[0], DemDataType.Building, false);
     }
     param.RxAntennaHeight = rxHeight;
     param.Frequency = carrier.FreqBand.DLFrequency;
     param.MergeEdgeMaxDis = 80f;
     param.PropagModel = model;
     param.CalcResolution = resolution;
     param.CalcEndRadius = (float) xyLine.GetDistance();
     param.X = (float) xyLine.Points[0].X;
     param.Y = (float) xyLine.Points[0].Y;
     return this.CalcPointPathLoss(param, xyLine, carrier.FreqBand.ULFrequency, out modelDetail);
 }
Esempio n. 8
0
 public AntConfig Clone()
 {
     AntConfig config = new AntConfig();
     config.DX = this.DX;
     config.DY = this.DY;
     config.Longitude = this.Longitude;
     config.Latitude = this.Latitude;
     config.SectorID = this.SectorID;
     config.TxPowerRatio = this.TxPowerRatio;
     config.AntType = this.AntType;
     config.Azimuth = this.Azimuth;
     config.DlFeederLength = this.DlFeederLength;
     config.DlJumpLossTmaToAnt = this.DlJumpLossTmaToAnt;
     config.DlJumpLossTmaToBs = this.DlJumpLossTmaToBs;
     config.DlMiscLoss = this.DlMiscLoss;
     config.DlTotalLoss = this.DlTotalLoss;
     config.ElecTilt = this.ElecTilt;
     config.Height = this.Height;
     config.AntennaID = this.AntennaID;
     config.Tilt = this.Tilt;
     config.UlFeederLength = this.UlFeederLength;
     config.UlJumpLossTmaToAnt = this.UlJumpLossTmaToAnt;
     config.UlJumpLossTmaToBs = this.UlJumpLossTmaToBs;
     config.UlMiscLoss = this.UlMiscLoss;
     config.UlTotalLoss = this.UlTotalLoss;
     config.IsMainAnt = this.IsMainAnt;
     config.IsUserInput = this.IsUserInput;
     config.Parent = this.Parent;
     config.OutdoorAntenna = this.OutdoorAntenna;
     config.Tma = this.Tma;
     config.Feeder = this.Feeder;
     return config;
 }
Esempio n. 9
0
        public static IACell CreateCell(IACell cell)
        {
            Transceiver trans = new Transceiver();
            Site site = new Site();

            site.X = 100;
            site.Y = 100;
            site.Equipment = new BtsEquipment();
            site.Equipment.NoiseFigure = 2;

            trans.Name = "Trans1";
            trans.Parent = site;
            trans.Cells.Add(cell);
                        
            cell.Parent = trans;
            cell.MaxPower = 39;

            AntConfig antConfig = new AntConfig();
            cell.Parent.AntConfiguration.Add(antConfig);
            cell.Parent.AntConfiguration[0].IsMainAnt = true;
            cell.Parent.AntConfiguration[0].DlTotalLoss = 2;
            antConfig.OutdoorAntenna = new AntennaEntity();
            cell.ID = 1;

            PropModelConfig propModelConfig = new PropModelConfig();
            propModelConfig.CalcRadius = 4000;
            propModelConfig.CalcResolution = 50;
            trans.Cells[0].PropModels.Add(propModelConfig);
            return cell;
        }
Esempio n. 10
0
 private PredictionBound GetBoundOfSector(AntConfig antConfig, double siteX, double siteY, float radius)
 {
     PredictionBound bound = new PredictionBound();
     bound.Left = (siteX + antConfig.DX) - radius;
     bound.Right = (siteX + antConfig.DX) + radius;
     bound.Top = (siteY + antConfig.DY) + radius;
     bound.Bottom = (siteY + antConfig.DY) - radius;
     return bound;
 }
Esempio n. 11
0
 private bool IsValidateCoverageFeeder(ref string info, AntConfig converageConfig)
 {
     string output = string.Empty;
     FeederEquipment feeder = converageConfig.Feeder;
     if ((feeder != null) && (feeder.Name.ToString() != string.Empty))
     {
         return DataValidate.NotEmptyString(ref info, "FeederCoverageSide", feeder.Name, out output);
     }
     return true;
 }
Esempio n. 12
0
 private static void ConvertBLToDXDY(AntConfig config, Site site, GeoInfoObserver geoInfo)
 {
     if (site != null)
     {
         double num;
         double num2;
         geoInfo.TransformBLToXY(config.Latitude, config.Longitude, out num, out num2);
         config.DX = (float) (num - site.X);
         config.DY = (float) (num2 - site.Y);
     }
 }
Esempio n. 13
0
 private string AntParamToStirng(AntConfig antConfig)
 {
     StringBuilder builder = new StringBuilder();
     builder.Append(antConfig.ElecTilt.ToString());
     builder.Append(antConfig.Tilt.ToString());
     builder.Append(antConfig.Azimuth.ToString());
     builder.Append(antConfig.Height.ToString());
     AntennaEntity antEntity = antConfig.OutdoorAntenna;
     builder.Append(this.AntEntityParamToString(antEntity));
     return builder.ToString();
 }
Esempio n. 14
0
        public void Init()
        {
            IProject project = new MockProject();
            ProjectSingleton.CurrentProject = project;
            IGeoProvider Geo = new MockGeoProvider();
            ProjectSingleton.CurrentProject.AppContext.RegisterService(Geo);
            m_Target = new CalcCellToCellLinkLoss(ProjectSingleton.CurrentProject.AppContext);

            m_CellFrom = new MockIACell();
            m_CellTo = new MockIACell();

            FrequencyBand fromBand = new FrequencyBand();
            fromBand.DLFrequency = 900;
            m_CellFrom.FreqBand = fromBand;

            Transceiver fromParent = new Transceiver();
            IASite fromSite = new Site();
            fromSite.X = 0;
            fromSite.Y = 0;
            fromParent.setParent(fromSite);

            //List<AntConfig> fromConfigs = new List<AntConfig>();
            AntConfig fromConfig1 = new AntConfig();
            fromConfig1.OutdoorAntenna = new AntennaEntity();
            fromConfig1.AntType = 1;
            fromConfig1.Height = 30;
            fromConfig1.SectorID = 0;
            //fromConfigs.Add(fromConfig1);
            fromParent.addAntConfig(fromConfig1);
            m_CellFrom.setParent(fromParent, m_CellFrom);

            FrequencyBand toBand = new FrequencyBand();
            toBand.DLFrequency = 905;
            m_CellTo.FreqBand = toBand;

            Transceiver toParent = new Transceiver();
            IASite toSite = new Site();
            toSite.X = 4;
            toSite.Y = 3;
            toParent.setParent(toSite);

            AntConfig toConfig = new AntConfig();
            toConfig.OutdoorAntenna = new AntennaEntity();
            toConfig.AntType = 1;
            toConfig.Height = 25;
            toConfig.SectorID = 0;
            toParent.addAntConfig(toConfig);
            m_CellTo.setParent(toParent, m_CellTo);

 
        }
Esempio n. 15
0
 public void GetMainAntTest()
 {
     trans1 = new Transceiver();
     AntConfig atcfg1=new AntConfig();
     AntConfig atcfg2 = new AntConfig();
     AntConfig atcfg3 = new AntConfig();
     atcfg1.IsMainAnt = false;
     atcfg2.IsMainAnt = false;
     atcfg3.IsMainAnt = true;
     trans1.addAntConfig(atcfg1);
     trans1.addAntConfig(atcfg2);
     trans1.addAntConfig(atcfg3);
     Assert.AreEqual(atcfg3, Tool.GetMainAnt(trans1));
 }
Esempio n. 16
0
        public static Transceiver CreatTransceiver()
        {
            Transceiver trans = new Transceiver();
            AntConfig antConfig = new AntConfig();
            trans.AntConfiguration = new List<AntConfig>();
            Site site = new Site();
            site.Equipment = new BtsEquipment();
            trans.Parent = site;
            trans.Parent.X = 10;
            trans.Parent.Y = 10;
            trans.Cells.Add(MockLTECell.CreatLteCell());
             
            //LTECell cell = MockLTECell.CreatCell();
            //cell.FreqBand.ID = 5;
            //trans.Cells.Add(cell);

            antConfig.Parent = trans;
            trans.AntConfiguration.Add(antConfig);
            return trans;
        }
Esempio n. 17
0
        public static RelayCell CreatRelayCell()
        {
            RelayCell relayCell = new RelayCell();
            //relayCell.ParentRN = new RelayNode();
            //RelayNode relayNode = 
            //m_Site.Equipment = new BtsEquipment();
            //relayCell.Parent.Parent = m_Site;
            relayCell.FreqBand = new FrequencyBand();
            relayCell.FreqBand.BandWidth = 20;
            relayCell.FreqBand.ID = 4;
            relayCell.PropModels.Add(MockPropModelCfg.CreatRelayPropModelCfg());
            AntConfig antConfig=new AntConfig();
            antConfig.DX = 1.0f;
            antConfig.DY = 1.0f;
            antConfig.Parent = relayCell.Tran;
            //antConfig.Parent = MockTrans.CreatTransceiver();
            relayCell.RCToCellAnt = antConfig;
            relayCell.CellToUEAnt = antConfig;
            relayCell.ID = 2;
            return relayCell;

        }
Esempio n. 18
0
File: Mock.cs Progetto: xiaoyj/Space
        public static IACell CreatGsmCell()
        {
            IACell cell = new GSMTRX();
            Site site = new Site();
            site.X = 100;
            site.Y = 100;
            site.Equipment = new BtsEquipment();
            site.Equipment.NoiseFigure = 4f;

            Transceiver trans = new Transceiver();
            trans.Name = "Tranceiver1";
            trans.Parent = site;
            trans.ID = 1;
            trans.Cells.Add(cell);

            cell.Name = "GSMCell1";
            cell.Parent = trans;

            AntConfig antConfig = new AntConfig();
            cell.Parent.AntConfiguration.Add(antConfig);
            cell.Parent.AntConfiguration[0].IsMainAnt = true;
            cell.Parent.AntConfiguration[0].DlTotalLoss = 3;
            cell.Parent.AntConfiguration[0].OutdoorAntenna = new AntennaEntity();
            cell.Parent.AntConfiguration[0].OutdoorAntenna.Gain = 0;
            cell.ID = 1;
            cell.FreqBand.BandWidth = 0.2f;
            ((GSMTRX)cell).TRXType = TRXType.BCCH;
            ((GSMTRX)cell).MaxPower = 46;
            ((GSMTRX)cell).TRXPower = 46;

            PropModelConfig propModelConfig = new PropModelConfig();
            propModelConfig.CalcRadius = 4000;
            propModelConfig.CalcResolution = 50;
            trans.Cells[0].PropModels.Add(propModelConfig);

            return cell;
        }
Esempio n. 19
0
 public bool ValidateObject(string oriCellName, AntConfig config, Dictionary<string, List<int>> sectorIds)
 {
     return (this.ValidateObjectWithOutCell(oriCellName, config, sectorIds) && this.IsCellExist(ref this.m_Info, this.m_CellName));
 }
Esempio n. 20
0
 private bool ValidateDrWithoutCell(string oriCellName, DataRow dr, Dictionary<string, List<int>> sectorIds)
 {
     short sectorIdColumnsValue;
     AntConfig outdoorEntity = new AntConfig();
     outdoorEntity.IsMainAnt = this.m_IsMainAnt;
     this.m_AntConfigDesc = new AntConfigDesc(this.m_Model, outdoorEntity, this.m_CellName, oriCellName, sectorIds);
     this.m_AntConfigDesc.SetoldSectorId(this.m_OriSectorId);
     IExtractor ex = new DataRowExtractor(dr);
     try
     {
         sectorIdColumnsValue = this.GetSectorIdColumnsValue(dr["AntennaID"]);
     }
     catch
     {
         this.m_Info = NEResource.NE_INVALID_FIELD + NEResource.NE_SECTORID;
         return false;
     }
     return this.Validate(ref this.m_Info, this.m_AntConfigDesc, ex, sectorIdColumnsValue);
 }
Esempio n. 21
0
 protected virtual void OnEquipButtonClick(AntConfig config)
 {
     EventHandler equipButtonClick = this.EquipButtonClick;
     if (equipButtonClick != null)
     {
         equipButtonClick(config, new EventArgs());
     }
 }
Esempio n. 22
0
        private static void InitCell(out IACell cell1, out IACell cell2)
        {
            cell1 = new MockACell();
            cell1.ID = 1;
            FrequencyBand Fre1 = new FrequencyBand();
            Fre1.DLFrequency = 900;
            cell1.FreqBand = Fre1;
            Transceiver Trans1 = new Transceiver();
            IASite Site1 = new Site();
            Site1.X = 0;
            Site1.Y = 0;
            ((Site)Site1).Equipment = new BtsEquipment();
            Trans1.setParent(Site1);
            AntConfig Ant1 = new AntConfig();
            Ant1.OutdoorAntenna = new AntennaEntity();
            Ant1.AntType = 1;
            Ant1.Height = 25;
            Ant1.SectorID = 0;
            Ant1.IsMainAnt = true;
            Trans1.addAntConfig(Ant1);
            cell1.setParent(Trans1, cell1);

            cell2 = new MockACell();
            cell2.ID = 2;
            FrequencyBand Fre2 = new FrequencyBand();
            Fre2.DLFrequency = 925;
            cell2.FreqBand = Fre2;
            Transceiver Trans2 = new Transceiver();
            IASite Site2 = new Site();
            Site2.X = 10;
            Site2.Y = 10;
            ((Site)Site2).Equipment = new BtsEquipment();
            Trans2.setParent(Site2);
            AntConfig Ant2 = new AntConfig();
            Ant2.OutdoorAntenna = new AntennaEntity();
            Ant2.AntType = 1;
            Ant2.Height = 25;
            Ant2.SectorID = 0;
            Ant2.IsMainAnt = true;
            Trans2.addAntConfig(Ant2);
            cell2.setParent(Trans2, cell2);
        }
Esempio n. 23
0
 public bool ValidateObject(string oriCellName, AntConfig config)
 {
     if (config == null)
     {
         return false;
     }
     Dictionary<string, List<int>> sectorIds = new Dictionary<string, List<int>>();
     return this.ValidateObject(oriCellName, config, sectorIds);
 }
Esempio n. 24
0
 //Todo```
 public void CopyFrom(RelayCell cell)
 {
     m_Ams = cell.Ams;
     m_AmsThreshold = cell.AmsThreshold;
     base.CopyFrom(cell);
     this.m_TAC = cell.TAC;
     m_PhyID = cell.PhyID;
     m_RCToCellAnt = cell.RCToCellAnt;
     m_CellToUEAnt = cell.CellToUEAnt;
     m_RelayUEPropModelConfig = cell.RelayUEPropModelConfig;
     m_SchedulePolicy = cell.SchedulePolicy;
     m_HighSpeed = cell.HighSpeed;
     //m_parentRN = cell.ParentRN;
     m_RSPower = cell.RSPower;
     m_CellRadius = cell.CellRadius;
     m_DlActualTxPower = cell.DlActualTxPower;
     m_BCHPoffset = cell.BCHPoffset;
     m_BCHPower = cell.BCHPower;
     m_BestStartFrequency = cell.BestStartFrequency;
     m_RCellPriority = cell.RCellPriority;
     m_RCellRadius = cell.RCellRadius;
     m_PCFICHPoffset = cell.PCFICHPoffset;
     m_PDCCHPoffset = cell.PDCCHPoffset;
     m_PHICHPoffset = cell.PHICHPoffset; ;
     m_SCHPoffset = cell.SCHPoffset;
     m_SCHPower = cell.SCHPower;
     m_UlActualIoT = cell.UlActualIoT;
     m_RPUCCHPower = cell.RPUCCHPower; //Cal       
     m_RPUSCHPower = cell.RPUSCHPower;
     //add by xg 20100224
     m_RelayAlgParameter = cell.RelayAlgParameter;
     m_PB = cell.PB;
     m_ActualDlLoad = cell.ActualDlLoad;
     m_ActualUlLoad = cell.ActualUlLoad;
     m_PowerBias = cell.PowerBias;
     m_IsIndoor = cell.m_IsIndoor;
     m_DLRsSinrAccessThreshold = cell.DLRsSinrAccessThreshold;
 }
Esempio n. 25
0
 public RelayCell()
 {
     m_tran = new Transceiver();
     base.SetDefaultValue(NetWorkType.LTE);
     m_TAC = 0;
     m_PhyID = 0;
     m_RCToCellAnt = new AntConfig();
     m_CellToUEAnt = new AntConfig();
     m_CellToUEAnt.Height = 5f;
     m_RelayUEPropModelConfig = new PropModelConfig();
     m_SchedulePolicy = SchedulePolicy.PF;
     m_HighSpeed = HighSpeedType.LowSpeed;
     m_RSPower = 15f;
     m_RelayAlgParameter = new LteAlgParam();
     m_BCHPoffset = 0f;
     if (base.FreqBand != null)
     {
         this.m_BestStartFrequency = base.FreqBand.DLFrequency;
     }
     else
     {
         this.m_BestStartFrequency = 0f;
     }
     m_DlActualTxPower = 44.927f;
     m_RCellPriority = 0;
     m_RCellRadius = 0f;
     m_PCFICHPoffset = 0f;
     m_PDCCHPoffset = 0f;
     m_PHICHPoffset = 0f;
     m_SCHPoffset = 0f;
     m_UlActualIoT = 2f;
     m_RPUCCHPower = 0f;
     m_RPUSCHPower = 0f;
     m_AntList = new List<AntConfig>();
     m_AntList.Add(m_RCToCellAnt);
     m_AntList.Add(m_CellToUEAnt);
     m_PowerBias = 0f;
     m_IsIndoor = false;
     m_DLRsSinrAccessThreshold = -20f;
     this.m_ActualUlLoad = base.UlTargetLoad;
     this.m_ActualDlLoad = base.DlTargetLoad;
 }
Esempio n. 26
0
        public void TestPolyAntenna()
        {
            ICalcGain calcGain = new MockCalcGain();
            AntConfig fromConfig2 = new AntConfig();
            fromConfig2.AntType = 1;
            fromConfig2.Height = 30;
            fromConfig2.SectorID = 1;
            m_CellFrom.Parent.addAntConfig(fromConfig2);

            AntConfig toConfig2 = new AntConfig();
            toConfig2.AntType = 1;
            toConfig2.Height = 30;
            toConfig2.SectorID = 1;
            m_CellTo.Parent.addAntConfig(toConfig2);
            float linkLoss = m_Target.GetCellToCellLinkLoss(m_CellFrom, m_CellTo, calcGain);
            Assert.AreEqual(45.5, linkLoss, 0.3);
        }
Esempio n. 27
0
        public void Test()
        {
            ICalcGain calcGain = new MockCalcGain();
            //不共站的情况,只计算水平隔离度
            float linkLoss1 = m_Target.GetCellToCellLinkLoss(m_CellFrom, m_CellTo, calcGain);
            Assert.AreEqual(45.5, linkLoss1, 0.3);
            
            //共站址的情况,计算垂直隔离度
            m_CellTo.Parent.Parent.X = 0;
            m_CellTo.Parent.Parent.Y = 0;
            float linkLoss2 = m_Target.GetCellToCellLinkLoss(m_CellFrom, m_CellTo, calcGain);
            Assert.AreEqual(75, linkLoss2, 0.3);

            //共站址的情况,且天线高度一致
            AntConfig toConfig = new AntConfig();
            toConfig.OutdoorAntenna = new AntennaEntity();
            toConfig.AntType = 1;
            toConfig.Height = 30;
            toConfig.SectorID = 0;
            m_CellTo.Parent.removeSetorConfig(0);
            m_CellTo.Parent.addAntConfig(toConfig);
            float linkLoss3 = m_Target.GetCellToCellLinkLoss(m_CellFrom, m_CellTo, calcGain);
            Assert.AreEqual(0, linkLoss3,0.1);
            
        }
Esempio n. 28
0
 /// <summary>
 /// access路损 覆盖
 /// </summary>
 /// <param name="ant"></param>
 /// <param name="cell"></param>
 /// <param name="X"></param>
 /// <param name="Y"></param>
 /// <param name="clutterID"></param>
 /// <param name="buildHeight"></param>
 /// <param name="isFirstSuite"></param>
 /// <param name="resolution"></param>
 /// <returns></returns>
 public double[] GetAccessLinkLoss(AntConfig ant, RelayCell cell, double X, double Y, short clutterID, short buildHeight, bool isFirstSuite, float resolution)
 {
     this.m_SFadingMarginAndpenetrationLoss = 0.0;
     float[][] pathLoss = m_iGetRelayUEPathLoss.GetRelayUEPointPathLoss(cell, X, Y); 
     if ((pathLoss[0][0] >= -32768.000001) && (pathLoss[0][0] <= -32767.999999))
     {
         WriteLog.Logger.Error("pathLoss[0][0] is Error:" + pathLoss[0][0].ToString() + "Cell:" + ant.Parent.Name);
     }
     if ((pathLoss[0][1] >= -32768.000001) && (pathLoss[0][1] <= -32767.999999))
     {
         WriteLog.Logger.Error("pathLoss[0][1] is Error:" + pathLoss[0][1].ToString() + "Cell:" + ant.Parent.Name);
     }
     this.m_SFadingMarginAndpenetrationLoss = this.GetSFadingMarginAndPenetrationLoss(clutterID, buildHeight, this.m_IsShadowdowAccout, this.m_IsIndoorCoverage);
     this.m_OutAntSetUpTotalLoss = ant.DlTotalLoss;
     double[] numArray2 = this.GetSingleLinkLoss(ant.Parent, pathLoss, clutterID, isFirstSuite);
     numArray2[0] = this.GetLinkLossWithMCL(numArray2[0]);
     numArray2[1] = this.GetLinkLossWithMCL(numArray2[1]);
     return numArray2;
 }
Esempio n. 29
0
 private bool ValidateObjectWithOutCell(string oriCellName, AntConfig config, Dictionary<string, List<int>> sectorIds)
 {
     if (config == null)
     {
         return false;
     }
     this.m_CellName = config.Parent.Name;
     AntConfig outdoorEntity = new AntConfig();
     outdoorEntity.IsMainAnt = this.m_IsMainAnt;
     this.m_AntConfigDesc = new AntConfigDesc(this.m_Model, outdoorEntity, this.m_CellName, oriCellName, sectorIds);
     this.m_AntConfigDesc.SetoldSectorId(this.m_OriSectorId);
     IExtractor ex = new AntConfigObjExtractor(config);
     short antennaID = (short) config.AntennaID;
     return this.Validate(ref this.m_Info, this.m_AntConfigDesc, ex, antennaID);
 }
Esempio n. 30
0
 public bool ValidateObjectWithOutCell(string oriCellName, AntConfig config)
 {
     Dictionary<string, List<int>> sectorIds = new Dictionary<string, List<int>>();
     return this.ValidateObjectWithOutCell(oriCellName, config, sectorIds);
 }