private void TestDifferentDistancesWithBsHeight(double bsHeight) { double d1 = model.CalculatePathLoss(0.01, bsHeight); double d2 = model.CalculatePathLoss(0.05, bsHeight); double d3 = model.CalculatePathLoss(0.2, bsHeight); Assert.IsTrue(d1 < d2); Assert.IsTrue(d2 < d3); }
private void TestDifferentUrbanTypesWithFrequency(FrequencyBandType ftype, double distance, bool farEnough) { model = new BroadcastModel(ftype, UrbanType.Dense); double d1 = model.CalculatePathLoss(distance, 40); model = new BroadcastModel(ftype); double d2 = model.CalculatePathLoss(distance, 40); model = new BroadcastModel(ftype, UrbanType.Middle); double d3 = model.CalculatePathLoss(distance, 40); if (farEnough) { Assert.IsTrue(d1 > d2, "d1 = {0}, d2 = {1}", d1, d2); } else { Assert.IsTrue(d1 < d2, "d1 = {0}, d2 = {1}", d1, d2); } Assert.IsTrue(d2 > d3, "d2 = {0}, d3 = {1}", d2, d3); }
private void TestDifferentFrequenciesWithUrbanType(UrbanType utype, double distance) { model = new BroadcastModel(utype: utype); double d1 = model.CalculatePathLoss(distance, 40); model = new BroadcastModel(FrequencyBandType.Uplink2100, utype); double d2 = model.CalculatePathLoss(distance, 40); model = new BroadcastModel(FrequencyBandType.Downlink1800, utype); double d3 = model.CalculatePathLoss(distance, 40); model = new BroadcastModel(FrequencyBandType.Uplink1800, utype); double d4 = model.CalculatePathLoss(distance, 40); model = new BroadcastModel(FrequencyBandType.Tdd2600, utype); double d5 = model.CalculatePathLoss(distance, 40); Assert.IsTrue(d5 > d1); Assert.IsTrue(d1 > d2); Assert.IsTrue(d2 > d3); Assert.IsTrue(d3 > d4); }
private static double CalculatePathLoss(IBroadcastModel model, double distanceInKilometer, double baseHeight, double mobileHeight = 1.5) { return model.CalculatePathLoss(distanceInKilometer, baseHeight, mobileHeight); }
private static double CalculatePathLoss(IBroadcastModel model, double distanceInKilometer, double baseHeight, double mobileHeight = 1.5) { return(model.CalculatePathLoss(distanceInKilometer, baseHeight, mobileHeight)); }