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 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); } }
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); } }
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; }
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); }
public void TestInitialize() { IBroadcastModel model = new BroadcastModel(); budget = new LinkBudget(model); }
public ComparableCell(IGeoPoint <double> point, IOutdoorCell cell, byte pciModx = 0) { SetupComparableCell(point, cell); Budget = new LinkBudget(cell); PciModx = pciModx; }
public double CalculateReceivedRsrp(ILinkBudget<double> budget, double tiltFactor) { return budget.CalculateReceivedPower(Distance, Cell.Height) - AzimuthFactor() - tiltFactor; }
public void TestInitialize() { measurePoint = new MeasurePoint(position); budget = new LinkBudget(model); }
public static double CalculateReceivedPower(this ILinkBudget <double> budget, double distance, double antennaHeight) { return(budget.TransmitPower + budget.AntennaGain - budget.Model.CalculatePathLoss(distance, antennaHeight)); }
public double CalculateReceivedRsrp(ILinkBudget <double> budget, double tiltFactor) { return(budget.CalculateReceivedPower(Distance, Cell.Height) - AzimuthFactor() - tiltFactor); }
public void ImportCells(IEnumerable <IOutdoorCell> cells, ILinkBudget <double> budget) { ComparableCell[] compCells = GenerateComaparbleCellList(cells); CellRepository.GenerateMeasurableCellList(budget, compCells, this); }
public MeasurableCell(ComparableCell cell, IGeoPoint<double> point, ILinkBudget<double> budget) { Cell = cell; Budget = budget; TiltAngle = cell.Cell.AngleFromCellTilt(point); }
public MeasurableCell(ComparableCell cell, IGeoPoint <double> point, ILinkBudget <double> budget) { Cell = cell; Budget = budget; TiltAngle = cell.Cell.AngleFromCellTilt(point); }