public void TestInitialize()
 {
     cell.Frequency = 1825;
     cell.AntennaGain = 18;
     cell.RsPower = 16.2;
     budget = new LinkBudget(cell);
 }
 public void TestInitialize()
 {
     cell.Frequency   = 1825;
     cell.AntennaGain = 18;
     cell.RsPower     = 16.2;
     budget           = new LinkBudget(cell);
 }
 public void TestBudgetFromCell_Calculate_AdjustFrequencyAndRsPower()
 {
     cell.Frequency = 100;
     cell.RsPower = 15.2;
     budget = new LinkBudget(cell);
     double x = budget.CalculateReceivedPower(1, cell.Height);
     Assert.AreEqual(cell.Height, 30);
     Assert.AreEqual(x, -105.758561, eps, x.ToString(CultureInfo.InvariantCulture));
     x = budget.CalculateReceivedPower(1, 20);
     Assert.AreEqual(x, -108.192142, eps, x.ToString(CultureInfo.InvariantCulture));
 }
 public void TestLinkBudgetFromCell()
 {
     Assert.IsNotNull(budget);
     Assert.AreEqual(budget.AntennaGain, 18);
     Assert.AreEqual(budget.TransmitPower, 16.2);
     Assert.AreEqual(budget.Model.Frequency, 1867.5);
     cell.Frequency = 100;
     cell.RsPower   = 15.2;
     budget         = new LinkBudget(cell);
     Assert.AreEqual(budget.TransmitPower, 15.2);
     Assert.AreEqual(budget.Model.Frequency, 2120);
 }
        public void TestBudgetFromCell_Calculate_AdjustFrequencyAndRsPower()
        {
            cell.Frequency = 100;
            cell.RsPower   = 15.2;
            budget         = new LinkBudget(cell);
            double x = budget.CalculateReceivedPower(1, cell.Height);

            Assert.AreEqual(cell.Height, 30);
            Assert.AreEqual(x, -105.758561, eps, x.ToString(CultureInfo.InvariantCulture));
            x = budget.CalculateReceivedPower(1, 20);
            Assert.AreEqual(x, -108.192142, eps, x.ToString(CultureInfo.InvariantCulture));
        }
 public void TestLinkBudgetFromCell()
 {
     Assert.IsNotNull(budget);
     Assert.AreEqual(budget.AntennaGain, 18);
     Assert.AreEqual(budget.TransmitPower, 16.2);
     Assert.AreEqual(budget.Model.Frequency, 1867.5);
     cell.Frequency = 100;
     cell.RsPower = 15.2;
     budget = new LinkBudget(cell);
     Assert.AreEqual(budget.TransmitPower, 15.2);
     Assert.AreEqual(budget.Model.Frequency, 2120);
 }
 public void GenerateMeasurableCellList(ILinkBudget<double> budget, ComparableCell[] compCells,
     MeasurePoint point)
 {
     CellList.Clear();
     int count = Math.Min(compCells.Length, _maxMeasurableCells);
     for (int i = 0; i < count; i++)
     {
         MeasurableCell c = new MeasurableCell(compCells[i], point, budget);
         c.CalculateRsrp();
         CellList.Add(c);
     }
 }
Example #8
0
        public void GenerateMeasurableCellList(ILinkBudget <double> budget, ComparableCell[] compCells,
                                               MeasurePoint point)
        {
            CellList.Clear();
            int count = Math.Min(compCells.Length, _maxMeasurableCells);

            for (int i = 0; i < count; i++)
            {
                MeasurableCell c = new MeasurableCell(compCells[i], point, budget);
                c.CalculateRsrp();
                CellList.Add(c);
            }
        }
Example #9
0
        public ComparableCell(IGeoPoint <double> point, IOutdoorCell cell, IList <ILinkBudget <double> > budgetList,
                              IBroadcastModel model, byte pciModx = 0)
        {
            SetupComparableCell(point, cell);
            ILinkBudget <double> budget = budgetList.FirstOrDefault(
                x => Math.Abs(x.TransmitPower - cell.RsPower) < Eps &&
                Math.Abs(x.AntennaGain - cell.AntennaGain) < Eps);

            if (budget == null)
            {
                budget = new LinkBudget(model, cell.RsPower, cell.AntennaGain);
                budgetList.Add(budget);
            }

            Budget  = budget;
            PciModx = pciModx;
        }
Example #10
0
        public ComparableCell(IGeoPoint <double> point, IOutdoorCell cell, IList <ILinkBudget <double> > budgetList,
                              byte modBase = 3)
        {
            SetupComparableCell(point, cell);
            ILinkBudget <double> budget = budgetList.FirstOrDefault(
                x => Math.Abs(x.TransmitPower - cell.RsPower) < Eps &&
                Math.Abs(x.AntennaGain - cell.AntennaGain) < Eps &&
                x.Model.Earfcn == cell.Frequency);

            if (budget == null)
            {
                budget = new LinkBudget(cell);
                budgetList.Add(budget);
            }
            Budget  = budget;
            PciModx = (byte)(cell.Pci % modBase);
        }
Example #11
0
 public void TestInitialize()
 {
     IBroadcastModel model = new BroadcastModel();
     budget = new LinkBudget(model);
 }
Example #12
0
 public ComparableCell(IGeoPoint <double> point, IOutdoorCell cell, byte pciModx = 0)
 {
     SetupComparableCell(point, cell);
     Budget  = new LinkBudget(cell);
     PciModx = pciModx;
 }
Example #13
0
 public double CalculateReceivedRsrp(ILinkBudget<double> budget, double tiltFactor)
 {
     return budget.CalculateReceivedPower(Distance, Cell.Height) - AzimuthFactor() - tiltFactor;
 }
Example #14
0
        public void TestInitialize()
        {
            IBroadcastModel model = new BroadcastModel();

            budget = new LinkBudget(model);
        }
 public void TestInitialize()
 {
     measurePoint = new MeasurePoint(position);
     budget = new LinkBudget(model);
 }
Example #16
0
 public static double CalculateReceivedPower(this ILinkBudget <double> budget, double distance, double antennaHeight)
 {
     return(budget.TransmitPower + budget.AntennaGain - budget.Model.CalculatePathLoss(distance, antennaHeight));
 }
Example #17
0
 public double CalculateReceivedRsrp(ILinkBudget <double> budget, double tiltFactor)
 {
     return(budget.CalculateReceivedPower(Distance, Cell.Height) - AzimuthFactor() - tiltFactor);
 }
Example #18
0
 public void ImportCells(IEnumerable <IOutdoorCell> cells, ILinkBudget <double> budget)
 {
     ComparableCell[] compCells = GenerateComaparbleCellList(cells);
     CellRepository.GenerateMeasurableCellList(budget, compCells, this);
 }
 public void TestInitialize()
 {
     measurePoint = new MeasurePoint(position);
     budget       = new LinkBudget(model);
 }
Example #20
0
 public MeasurableCell(ComparableCell cell, IGeoPoint<double> point, ILinkBudget<double> budget)
 {
     Cell = cell;
     Budget = budget;
     TiltAngle = cell.Cell.AngleFromCellTilt(point);
 }
Example #21
0
 public MeasurableCell(ComparableCell cell, IGeoPoint <double> point, ILinkBudget <double> budget)
 {
     Cell      = cell;
     Budget    = budget;
     TiltAngle = cell.Cell.AngleFromCellTilt(point);
 }