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 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);
        }
Esempio n. 6
0
 private static double CalculatePathLoss(IBroadcastModel model,
    double distanceInKilometer, double baseHeight, double mobileHeight = 1.5)
 {
     return model.CalculatePathLoss(distanceInKilometer, baseHeight, mobileHeight);
 }
Esempio n. 7
0
 private static double CalculatePathLoss(IBroadcastModel model,
                                         double distanceInKilometer, double baseHeight, double mobileHeight = 1.5)
 {
     return(model.CalculatePathLoss(distanceInKilometer, baseHeight, mobileHeight));
 }