Signal strength variation determination

WO2025185838A8PCT designated stage Publication Date: 2025-10-02TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/059134
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-04
Filing Date
2024-04-04
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing methods for predicting signal strength in wireless communication systems, particularly in indoor environments, are resource-intensive, require complex and expensive inputs, and are computationally inefficient, limiting accessibility and accuracy.

Method used

A method using machine learning models to predict signal strength variations across different altitudes within a structure, utilizing 3D geographic coordinates, clutter maps, and elevation data, with reduced complexity and computational costs, enabling efficient automation and minimal engineering intervention.

Benefits of technology

Streamlines signal strength prediction by reducing computational complexity and costs, improving process efficiency, and making the method accessible to non-experts, while maintaining high accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024059134_02102025_PF_FP_ABST
    Figure EP2024059134_02102025_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method is provided for determining variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network. The method includes receiving (700) data comprising three dimensional geographical coordinates of a measured or predicted signal strength for the location. The method further includes determining (708) a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more machine learning (ML) models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a two-dimensional location in the at least one structure.
Need to check novelty before this filing date? Find Prior Art

Description

SIGNAL STRENGTH VARIATION DETERMINATION TECHNICAL FIELD

[0001] The present disclosure is related to wireless communication systems and more particularly to a computer-implemented method for determining variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network. BACKGROUND

[0002] Prediction of signal strength has been widely studied by the mobile communications industry. The understanding of radio propagation and its characteristics in different environments (e.g., dense urban, urban, suburban, or the like) has become crucial for different activities like location of new sites, estimation of coverage areas, parameter optimization, and the like. SUMMARY

[0003] Some approaches may try to provide a signal strength prediction in a location (e.g., at a latitude and longitude) inside a building. Such approaches may use ray tracing calculations, which is a computationally demanding task that uses inputs such as three-dimensional (3D) maps that are not easily accessible and may be unavailable; and artificial intelligence (AI). Although the combination of AI and ray tracing may have enhanced accuracy, limitations persist. These include, for example, a need for intricate and expensive inputs, as well as the need for extensive training processes.

[0004] Moreover, use of ray tracing and 3D maps can pose significant challenges due to their resource-intensive nature, high costs, and limited input accessibility. Such challenges include: (1) high demands in terms of time, due to the complexity of the techniques used (e.g., ray tracing), which are computationally inefficient, and the time needed to properly configure the executions; (2) even when AI is used to accelerate the ray tracing process, training information can rely on theoretical predictions (e.g., simulations of specific environments) which may provide an accurate representation of the reality; and (3) even when AI and ray tracing are combined and fed with real field data, such an approach still needs complex inputs, such as very detailed maps representing a 3D building shape and materials, which can be difficult to obtain and quite expensive.

[0005] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. In some embodiments, a computer-implemented method is provided for determining variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network. The methodincludes receiving data including three dimensional geographical coordinates of a measured or predicted signal strength. The method further includes determining a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more machine learning (ML) models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a two-dimensional location in the at least one structure.

[0006] According to some embodiments, a computing device is provided for determining variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network. The computing device includes at least one processor and a memory storing instructions that when executed by the at least one processor cause the computing device to perform operations. The operations include to receive data including three dimensional geographical coordinates of a measured or predicted signal strength. The operations further to determine a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more ML models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a two-dimensional location in the at least one structure.

[0007] According to other embodiments, a non-transitory computer-readable media is provided for determining a variation in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network. The media includes instructions that when executed by a computing device cause the computing device to perform operations. The operations include to receive data including three dimensional geographical coordinates of a measured or predicted signal strength. The operations further to determine a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more ML models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a two-dimensional location in the at least one structure.

[0008] Certain embodiments may provide one or more of the following technical advantages. Prediction of signal strengths for different altitudes in at least one structure may be streamlined based on reduced complexity of inputs and calculation used for the prediction. Moreover, the methodology includes automation, which may make configuration and handling more efficient. Such reductions in complexity and automation, may not only help to streamline the method but also may reduce computational costs by trimming down the number of inputs and focusing on computationally less expensive inputs. Moreover, the method may reduce both process time and resource utilization and, thus, may provide an improvement over other approaches. Additionally,based on inclusion in the method of field samples and utilization of ML processes, there may be minimal need for direct intervention from an engineering perspective. As a consequence, the method may be accessible to individuals without prior expertise and, thus, may enable easy interaction with the method when implemented in an industrial context. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiments of inventive concepts. In the drawings:

[0010] Figure 1 is a flow chart illustrating an example process in accordance with some embodiments;

[0011] Figure 2 is a schematic drawing of an example of building in accordance with some embodiments;

[0012] Figure 3 is schematic drawing of an example of partitioning a building in accordance with some embodiments;

[0013] Figure 4 is a schematic drawing of an example 3D propagation signal scenario in accordance with some embodiments;

[0014] Figure 5 is an example of a vertical antenna diagram function in accordance with some embodiments;

[0015] Figure 6 is a schematic diagram of an example line-of-sight (LOS) / non-line-of-sight (NLOS) splitting in accordance with some embodiments;

[0016] Figure 7 is a flow chart illustrating a method for determining variations in a value representing a predicted signal strength among different altitudes in accordance with some embodiments;

[0017] Figure 8 is a block diagram of an example communication system in accordance with some embodiments;

[0018] Figure 9 is a block diagram of example user equipment in accordance with some embodiments;

[0019] Figure 10 is a block diagram of an example network node in accordance with some embodiments;

[0020] Figure 11 is a block diagram of an example virtualization environment in accordance with some embodiments; and

[0021] Figure 12 is a block diagram of an example computing device in accordance with some embodiments.DETAILED DESCRIPTION

[0022] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art, in which examples of embodiments of the present disclosure are shown. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of present inventive concepts to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present / used in another embodiment.

[0023] A number of methods and propagation models exist to predict signal strength in mobile communication networks. Although analysis of radio propagation has been mostly faced from a two-dimensional (2D) perspective, the increment of indoor traffic, especially in high buildings, has evidenced the importance to include the third dimension in the analysis. An aim is to provide not only a single signal strength prediction in a location (e.g., a certain latitude and longitude, and / or the like) inside a building, but also how the signal strength varies in that location across the different floors in the building, or the like.

[0024] This use case has also been analyzed in the industry and there are methods and tools that consider the altitude of the location in signal strength prediction. Such methodologies normally use, among other techniques, ray tracing calculations, which is a computationally demanding task that makes use of inputs (e.g., 3D maps including the heights of the buildings and the exact materials in each construction, and / or the like) that are not easily accessible and are sometimes unavailable.

[0025] The emergence of AI has facilitated the integration of these techniques into the use case. Although the combination of AI and ray tracing has significantly enhanced accuracy, certain limitations persist. These include the need for intricate and expensive inputs, extensive training processes, and the like.

[0026] Examples of the present disclosure include a process that may complement 2D signal strength predictions by adding an estimation of variation of the 2D signal strength prediction with altitude in a certain location. For example, variation of 2D signal strength among floors of a structure (or for given altitude) for respective structures, such as buildings, in a coverage area of a cell. To do so, the process of some examples uses 3D geographic-located signal strength measurements as an input; as well as physical information of the cells in a network, altitude maps and clutter maps.

[0027] Some examples include a process based on the following four operations to obtain the predictions: (1) Identify building polygons in the area under analysis using 2D clutter maps; (2) For each building polygon and cell, split Line-Of-Sight (LOS) and Non-Line-Of-Sight (NLOS) samples, to consider only samples located within the building polygons. A sample can be categorized as LOS if there are no obstacles between the serving cell and the building facade at the height where the sample is located; (3) Train either two ML models, one for every type of sample (e.g., LOS and NLOS), for each pair of a building polygon and cell; or train a single ML model in an event that samples in the building are categorized as unknown (e.g., they could be LOS or NLOS); and (4) Prediction of a given altitude (e.g., latitude, longitude, and altitude) within a building polygon can be performed by having a 2D reference signal received power (RSRP) prediction of the building polygon as input as well as the ML models trained in operation 3.

[0028] LOS and NLOS samples can be identified from a classification of a user device (e.g., a user equipment (UE)) measurement. For example, a user device measurement can be classified as LOS when there are no obstacles between a building façade and an antenna, and classified on NLOS when there is an obstacle(s).

[0029] In some examples, a first ML model calculates a difference in the signal strength between a 2D signal strength prediction and a LOS 3D signal strength prediction at a certain altitude.

[0030] Additionally or alternatively, in some examples, the first or a second ML model calculates a difference between a LOS 3D signal strength prediction and a NLOS 3D signal strength prediction at the same altitude.

[0031] Inputs used in some examples to obtain a prediction include, without limitation: 1. Cell physical information for a cell where predictions are to be carried out. The cell physical information can include: a. cellId: Cell identifier b. cellLatitude: The latitude of the antenna c. cellLongitude: The longitude of the antenna d. mtilt: The mechanical tilt of the antenna e. etilt: The electrical tilt of the antenna f. cellHeight: The antenna altitude over ground level 2. Clutter type map / information, which can include information about a type of terrain, discretized into a finite set of categories in each location with a certain spatial resolution. For example, pixels that are square areas (e.g., 20m x 20m) into which the whole map is divided. In one non-limiting example, each pixel is identified by its indexes in axis X and Y, where axis X increases with the latitude and axis Y increase with the longitude.3. Elevation map / information that includes the elevation of the terrain over the sea level in each location with a certain spatial resolution, which can be determined by the pixel size. For example, pixels that are square areas (e.g., 20m x 20m) into which the whole map is divided. In one non-limiting example, each pixel is identified by its indexes in axis X and Y, where axis X increases with the latitude and axis Y increase with the longitude. 4. Geographic-located signal strength measurements (e.g., including the latitude, the longitude, and the altitude) for users inside a structure such as a building. Geographic- located signal strength measurements can be collected from different sources, such as: a. Measurement messages that UEs send to the network, which may be available in call traces files and can be geographic-located with several processes including, e.g., triangulation. Moreover, functionalities such as Minimization of Drive Test (MDT) allow for geographically-locating a measurement. b. Walk test(s) measurements. Such measurements may present a high accuracy in terms of geographic-location, may be designed in advance, and typically are reliable. It is noted that in some cases, the time of execution and the associated costs may make a walk test measurement suitable only for small areas or a small group of sites. Moreover, it is further noted that such tests may not include indoor measurements. c. Crowdsourced data, which can offer geographic-located signal strength measurements obtained from applications installed in UEs. If available, this data source may be easily accessible. For example, this data may be obtained for many operators and countries in the world in a fast and efficient way, provided that an agreement with the crowdsourced data supplier is in place. Moreover, access to this data source may be carried out without operator collaboration, which may make the process even easier from an operator’s point of view. Further, the nature of the end-to-end process in some examples makes the process independent from ae network infrastructure vendor.

[0032] Data sources can include indoor and outdoor UEs. In some examples, when indoor and outdoor data sources are included, outdoor UEs can be filtered out. For example, to detect outdoor UES among UE samples, an indoor / outdoor classifier can be used. The indoor / outdoor classifier may include a process ranging from a process based on a clutter type of the location to a more sophisticated process.

[0033] A process of some examples is now discussed. As shown in the flow chart in Figure 1, an example process can include four steps: (1) building polygon detection, (2) LOS / NLOS splitting, (3) ML model training, and (4) RSRP 3D prediction 104.

[0034] Step 1 includes building polygon(s) detection. An aim of this step is to identify a map area(s) belonging to a same building polygon. In this example, a building is considered as a high building if it is higher than a certain threshold (e.g., 3 or 4 floors). Thus, in this example, the impact of the height of a UE inside the building on the RF signal strength it receives is analyzed. It is noted that high buildings can be a type of clutter available in a clutter map 100a and, therefore, the categorization available in this data source 100 can be the same used during this process. Additionally, a building polygon that covers a horizontal area higher than a threshold can be divided into different building polygons to help assure that RF conditions are as stable as possible inside each of them.

[0035] Building polygon detection can be performed once for a whole area under analysis and, in some examples, can use just a clutter map 100 a as input. A clutter map 100a providea a detailed description of the characteristics of a specific area. In other words, each pixel of a clutter map 100a serves a distinct purpose, such as identifying the presence of a building in a densely urban area or designating pixels as water to represent bodies of water on land. As a result, in some examples, a number of building polygons can be detected. A respective building polygon can be defined by a unique identifier together with a set of contiguous pixels from the clutter map 100a contained in that area (or the area covered by those pixels).

[0036] In this example, a first operation in the building polygon detection process, as shown in Figure 1 and described in Summary 1 herein, is to detect different building polygons in a target area 200 and to which building (labeled from B1 to BN in Summary 1 and Figure 2) each high building pixel belongs to (referred to as “HB_Pixels” in Summary 1). Figure 2 is a schematic drawing of an example of building labeling, where respective buildings are labeled with the nomenclature “Bx” where “x” is a number of a respective building. It is understood, however, that other labeling nomenclature may be used.

[0037] Summary 1 of building labeling: Building_Label = 0 HB_Pixels = {Pixel(x1, y1), Pixel (x2, y2), . . ., Pixel(xn, yn)} # All pixels in the target area that are in a high building clutter according to the clutter map. Labeled_Pixels = {} # Set of labeled pixels with the label assigned: Pixel(x, y) Label Pixel(x1, y1) Label1 ... ... Pixel(xn, yn) Labelnwhile HB_Pixels is not empty:i – index of first element in HB_Pixels Building_Pixels = {} # Pixels to label in the current building (Building_label) Add to Building_Pixels the following pixels if that are in HB_Pixels: {Pixel(xi-1, yi-1), Pixel(xi, yi-1), Pixel(xi+1, yi-1), Pixel(xi-1, yi), Pixel(xi-1, yi+1), Pixel(xi, yi+1), Pixel(xi+1, yi+1)} while Building_Pixels is not empty: J = index of first element in Building_Pixels Add Pixel(xj, yj) to Labeled_Pixels with label = Building_Label Remove Pixel(xj, yj) from Building_Pixels and from HB_Pixels Add to Building_Pixels the following pixels if they are in HB_Pixels: { Pixel(xj-1, yj-1), Pixel(xj, yj-1), Pixel(xj+1, yj-1), Pixel(xj-1, yj), Pixel(xj- 1, yj+1), Pixel(xj, yj+1), Pixel(xj+1, yj+1)} Building_Label = Building_Label +1 Return Labeled_Pixels

[0038] Summary 1 describes the example building polygon detection process. As shown in Summary 1, first all HB_Pixels in a clutter map 100a are identified, then these pixels are assigned to a building polygon one by one in such a way that when a pixel is assigned to a new building polygon, then all pixels around it are assigned to that building polygon until there are no more HB_Pixels close to it.

[0039] Continuing with this example, once each pixel has been assigned to a specific building, a second step to detect and divide building polygons that are too large is carried out. In this process, illustrated in Figure 3 and described in Summary 2, buildings with more than a maximum number of pixels (max_pixels_per_building in Summary 2) are partitioned / divided into different building partitions. The maximum number of pixels per building can be defined such that the area of the pixels in square meter is no larger than a maximum value (e.g., 2.500 m2). To divide a building in smaller buildings, the axis with the larger span of values in that coordinate for the specific building is selected (axis X or Y), and then, the lowest max_pixels_per_building pixels for the selected axis in the building are assigned to one building, and the rest of pixels are assigned to another building. For example, with reference to Figure 3, buildings B17, B18, and B39 in target area 200 are partitioned into B17.1 and B17.2; B18.1 and B18.2; and B39.1 and B39.2, respectively. This process is repeated until there is no building with more than max_pixels_per_building pixels in the target area 200.

[0040] Summary 2 of building partitioning: List_of_buildings = All different Building_Lables in Labeled_Pixels Partition = vector of zeros with the same length of List_of_buildingsMax_pixels_per_building = maximum area per building in pixels While List_of_buildings is empty: Building_Label + First Building_Label in List_of_buildings if number of pixels in Building_Label is higher than max_pixels_per_building then: partition(Building_Label) = last partition for Building_Label + 1 x_delta = (maximum x pixels in Building_Label) – (minimum x in pixels in Building_Label) y_delta = (maximum y in pixels in Building_Label) – (minimum y in pixels in Building_Label) if x_delta higher or equal than y_delta then: Modify label of max_pixel_per_building pixels with lowest x to Building_Label.partition(Building_Label) else: Modify label of max_pixel_per_building pixels with lowest y to Building_Label.partition(Building_Label) Add Building_Label.partition to List_of_buildings else: Remove Building_Label from List_of_buildings

[0041] It is noted that max_pixels_per_building in Summary 2 is defined considering user device measurements density in such a way that the number of samples per building polygon is enough to robustly train the ML models discussed further herein.

[0042] Continuing with the example process of Figure 1, operation 2 includes LOS / NLOS splitting. For a cell, and building polygon within the cell coverage area, the geolocated samples are categorized and separated between LOS samples and NLOS samples. As previously discussed, in this example, a sample is considered as LOS as long as there are no obstacles between the building façade at the altitude where the UE is located and the antenna of the serving cell.

[0043] The output of this operation for each building polygon and call is two groups of samples, LOS and NLOS; or one group in some cases, if samples are classified as unknown (that is, they could be LOS or NLOS). In this example, operation 2 step is performed once for every building polygon and cell.

[0044] Additionally, if both types of samples are detected in a building (that is, LOS and NLOS samples), the minimum altitude for LOS in each building is defined as the maximum value of altitude in all the NLOS samples.

[0045] The classification of samples as LOS or NLOS is executed based on their values of RSRP, assuming that propagation for LOS and NLOS samples is different. Before applying asplitting process described further herein, two components are removed from the measured RSRP value. The two components vary with the altitude of the samples but do not depend on whether the samples are LOS or NLOS: (a) the variation of the RSRP with the distance (∆Loss^୧^^ୟ୬ୡ^), and (b) the variation of the RSRP that depends on the vertical angle between the sample and the antenna (∆Lossୟ୬^୪^).

[0046] Figure 4 is a schematic drawing of an example 3D propagation signal scenario 400. Variables shown in the example of Figure 4 are now defined and discussed as follows.

[0047] ∆Loss^୧^^ୟ୬ୡ^is calculated as: ∆Loss ൌ 10 ∙ log ^dଶ ^ ∆hଶ) – 20 ∙^ ^୧^^ୟ୬ୡ^ log ^ୡ୭^ ^୫^୧୪^ା^^୧^୪^^^where ^^ is the distance in the horizontal plane (see Figure 4) between the antenna 402 and a user device in building 404. An altitude difference between the antenna 402 and the sample calculated as: ∆h ൌ hୡ^୪୪ ^୪୭୭୰ ^ cellHeight െ h^ୟ୫୮୪^ ^୪୭୭୰ െ hwhere hୡ^୪୪ ^୪୭୭୰is the altitude of the antenna 402 over the floor, cellHeight is the altitude of the antenna 402 floor over the sea level, h^ୟ୫୮୪^ ^୪୭୭୰is the altitude of the sample floor over the sea level, and h is the altitude of the samples over the floor (see Figure 4).

[0048] Figure 5 is an example of a vertical antenna diagram function 500. To calculate losses that depend on the angle variation, a vertical antenna diagram is approached by a quadratic function as shown in Figure 5, for example, where BWଷ^^is the vertical angle (in radians) against the pointing direction where the losses are equal to 3dB, and Loss^ / ଶare the losses when the vertical angle against the pointing direction is േ^^ / 2.

[0049] The example function 500 of Figure 5 is mathematically defined as: ∆^^^^^^^^ ൌ ଶ^^^^^ ^^ ∙ ^^ ^ ^^ ∙ ^^where ^^ and ^^ are calculated as: Loss3 ∙ π^ / ଶെ2 ∙ BWଷ^^ , B ൌ 3 െ A ∙ BWଷ^^ଶand ^^, which is thedirection and the sample direction (see Figure 4), is calculated as: αൌ atan∆h ൬^ െ etilt െ mtiltwhere all the variables are defined as

[0050] Once defined the ∆Loss^୧^^ୟ୬ୡ^and the ∆Lossୟ୬^୪^, a normalized RSRPᇱ(RSRP normalized to the pointing direction by removing the impact of the samples being in a different altitude), as: RSRPᇱ ൌ RSRP െ ∆Loss^୧^^ୟ୬ୡ^ െ ∆Lossୟ୬^୪^

[0051] Continuing with the example, this RSRPᇱis used to split LOS and NLOS samples in each building for each cell using the process summarized Summary 3. For that, it is assumed that NLOS samples, in case they exist, are placed in the lowest floors of the building 404. Thus, if a group of ^^ NLOS samples exist, they are the ^^ samples with less altitude.

[0052] Based on that premise, there are ^N െ 1^ sample splitting possibilities: where the isamples with lowest altitude are in the NLOS cluster (C1 in Summary 3), and ^N െ i^ sampleswith highest altitude are in LOS cluster (C2 in Summary 3) for i ൌ 1.. ^N െ 1^.

[0053] From these sample splitting possibilities, the ones with groups of only one elementare discarded (that is, i ൌ 1 and i ൌ N െ 1^, and therefore N െ 3 possibilities are considered.

[0054] Continuing with the example, a score (e.g., a Silhouette score), which is a metric commonly used to measure the quality of a clustering process, is calculated for each of these options and the one with the maximum value is selected as a candidate for LOS / NLOS splitting. If the score of that candidate is lower than or equal to a minimum threshold, then LOS / NLOS splitting is not carried out and the output of the process of Summary 3 is one group of ^^ “unknown” samples, else the output of the process is the candidate LOS / NLOS splitting.

[0055] The process of Summary 3 tries to find the best splitting in terms of a Silhouette score in this example. If that score is higher than a minimum value, then that splitting is carried out. In another case, all samples are categorized as “unknown” (that is, they could be LOS or NLOS, and it does not matter since only one ML model is going to be trained for all of them). It is noted that there are two options: (1) all samples are categorized as LOS or NLOS, or (2) all samples are categorized as “unknown”. In this example, under no circumstances is a portion of the samples categorized as “unknown”, and the rest categorized as LOS or NLOS.

[0056] Summary 3 of LOS / NLOS splitting: Samples_Building # All samples for the target building, each of them including RSRP and Altitude value. min_samples # Minimum number of samples for slitting Samples_Building min_Silhouette_score # Minimum Silhouette score for splitting Samples_Building Sort Samples_Building from lower to higher altitude N = number of samples in Samples_Building If N < min_samplesOutput = [Samples_Building] Else For n from 2 to (N – 2): C1 = RSRP’ values for the first n samples after sorting them by altitude and RSRP in ascending order in Samples_Building C2 = RSRP’ values for all samples in Samples_building except samples in C1 shilhouettescore(n) = 0 For i in all index in C1: a = ^ ^ି^∙ ∑^ ^^^^1, ^^ ് ^^ |^^^^^^^^ᇱ^^ െ ^^^^^^^^′^^|^ି^For i in all index in C2: b = ^ᇱ^ି^∙ ∑^ ^^^^1 |^^^^^^^^ ^^ െ ^^^^^^^^′^^|^ି^shilhouette ^^^^^^௨^௧௧^ scor (n) =ೞ^^^^^^^ e ே max_i = index of the score (i)If shilhouettescore(max_i) > min_shilhouette_score NLOS_samples = max_i samples with lowest altitude in Samples_Building LOS_samples = all samples in Samples_Building except LOS samples output = [NLOS_samples, LOS_samples] Else: output = [Samples_Building]

[0057] In this example, in case two groups (LOS and NLOS) are provided as output in a certain building polygon for a building 404 and a certain cell associated with antenna 402, then LOSୟ୪^୧^^^^is set as the minimum altitude for the LOS in all the samples in the LOS group for that building polygon in that cell, as shown in Figure 6.

[0058] In a training phase discussed further herein, if the output contains both groups, LOS and NLOS, then each group used to train a different ML model. If the output only contains one group, all samples are used to train one ML model.

[0059] Further, in prediction phase discussed further herein, if two ML models have been trained, then the LOS ML model is used for locations with altitude higher than NLOSୟ୪^୧^^^^, andthe NLOS ML model is used for locations with altitude equal or lower than NLOSୟ୪^୧^^^^. If only one ML model has been trained, then this ML model is used for all the locations.

[0060] ML model training of operation 3 of Figure 1 is now discussed further. For each building in each cell, a supervised ML model is trained for each of the groups of samples detected (that is, two ML models if LOS and NLOS samples were detected, or one ML model if only “unknown” samples were detected). The ML models are trained with one feature at the input, which is the altitude of the sample over the floor (h), and the label is the difference between the RSRP of the sample normalized to the pointing distance (RSRP′) and the 2D RSRP prediction used as reference for that location and that cell (RSRPଶୈ ^ୖ^ୈ୍େ^୍^^): INPUT → hLABEL → ∆RSRP ൌ RSRP′ െ RSRPଶୈ ^ୖ^ୈ୍େ^୍^^

[0061] It is noted that, in this example, RSRP prediction for a 2D scenario is used as input and as a reference. Any other signal strength predictor can also be used as input.

[0062] Continuing with the example, all samples inside the corresponding group for the target building and cells are used to train a ML model, for example, a decision tree regression model. The maximum depth of the decision tree is not very high to avoid overfitting (e.g., 3 can be the value). In this example, a decision tree regression model is used due to its flexibility, which can adapt its predictions to the potential particularities of each floor in the building at the same time that is able to catch continuous variations along the altitude of the building.

[0063] RSRP 3D prediction 104 in the example shown in Figure 1 is now discussed. For each 3D location (that is, latitude, longitude, and altitude) and cell where a prediction is to be carried out, the ML model to be used is selected by: 1. Select only ML models of the target cell; 2. Determine the building polygon where the sample is located based on the latitude and longitude of the location; 3. If there are two ML models for that building, then the LOS ML model is selected if h is higher than the NLOSୟ୪^୧^^^^of that building and cell. If h is lower or equal than the NLOSୟ୪^୧^^^^of that building and cell, then the NLOSML model is used. If there is only one ML model in that building and cell, then this ML model is used.

[0064] Once the ML model is selected, the ∆RSRP for that location and cell is predicted using the altitude of the samples (h) as input. The, the 3D RSRP prediction in that location and cell is calculated as: RSRPଷୈ ^ୖ^ୈ୍େ^୍^^ ൌ ∆RSRP ^ ∆Loss^୧^^ୟ୬ୡ^ ^ ∆Lossୟ୬^୪^ ^ RSRPଶୈ ^ୖ^ୈ୍େ^୍^^

[0065] Operations of a computing device 1200 (implemented using the structure of Figure 12) will now be discussed with reference to the flow chart of Figure 7 according to someembodiments of the present disclosure. For example, modules may be stored in memory 1204 or ML models 1206 of Figure 12, and these modules may provide instructions so that when the instructions of a module are executed by respective computing device processing circuitry 1202, computing device 1200 performs respective operations of the flow chart.

[0066] In some embodiments, a computer-implemented method is provided for determining variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network. The method includes receiving (700) data including 3D geographical coordinates of a measured or predicted signal strength for the location. The method further includes determining (708) a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more ML models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a 2D location in the at least one structure.

[0067] In other embodiments, the method further includes identifying (704) whether there is a LOS between an antenna associated with the cell and an exterior of the at least one structure; and determining (706), when there is a LOS, a minimum altitude for the LOS.

[0068] At least one of the ML models can be configured to determine a value representing a difference in signal strength between a predicted signal strength for the 2D location and a predicted LOS signal strength at a particular altitude within the 2D location.

[0069] In some embodiments, at least one of the ML models is configured to determine a value representing a difference in signal strength between a predicted LOS signal strength and a predicted NLOS signal strength at a same altitude within the 2D location.

[0070] In other embodiments, the method further includes generating (710) the one or more of the ML models based at least in part on data. The data, in this embodiment, indicates physical information for one or more cells associated with the two-dimensional location; a clutter-type map for the 2D location; an elevation map for the 2D location; and a plurality of signal-strength measurements for user devices located inside the at least one structure within the 2D location.

[0071] The physical information can include at least one or more of: cell identifiers for the one or more cells, one or more latitudes for one or more antennas associated with the one or more cells, one or more longitudes for the one or more antennas, one or more mechanical tilts for the one or more antennas, one or more electrical tilts for the one or more antennas, and one or more heights for the one or more antennas.

[0072] The plurality of signal-strength measurements can be based at least in part on at least one of measurement messages received from the user devices, results from one or more walk testsperformed using the user devices, or crowdsourced data generated by one or more applications executing on the one or more user devices.

[0073] In some embodiments, the method further includes determining (702), based at least in part on a cluster map of the 2D location, one or more polygons representing one or more associated structures at the 2D location.

[0074] In other embodiments, responsive to determining that at least one of the polygons representing at least one of the one or more associated structures exceeds a threshold size, the method includes dividing the at least one of the polygons into one or more constituent polygons representing one or more portions of the at least one of the one or more associated structures.

[0075] In yet other embodiments, the method further includes classifying (708) for one or more polygons representing one or more associated structures within the 2D location, and at least one cell associated with the one or more polygons, measured signal strength samples as either LOS samples or NLOS samples.

[0076] Classifying (708) the measured signal strength samples can include classifying the measured signal strength samples based at least in part on their respective measured signal strengths within the 2D location.

[0077] In some embodiments, prior to classifying each measured signal strength sample, the method includes removing variation of the measured signal strengths due to a deviation, in a distance and a vertical angle, between (i) a pointing position of an antenna associated with the cell and (ii) the three dimensional geographical coordinates of the measured signal strength.

[0078] In other embodiments, classifying (708) the measured signal strength samples includes classifying the measured signal strength samples based at least in part on a value corresponding to a maximum measured quality of clustering for one or more portions of the measured signal strength samples.

[0079] In further embodiments, classifying (708) the measured signal strength samples includes classifying the measured signal strength samples responsive to a determination that the value corresponding to the maximum measured quality of clustering meets a threshold.

[0080] The measured quality of clustering can include one or more scores representing an accuracy of the clustering.

[0081] At least one of the ML models can be configured to determine the value representing the predicted signal strength if the location is determined to be a LOS location, and at least one of the ML models is configured to determine the value representing the predicated signal strength if the location is determined to be a NLOS location.

[0082] In some embodiments, at least one of the one or more ML models includes a decision tree regression model.

[0083] Determining the variation in the value can include determining a value representing a predicted reference signal received power for the location.

[0084] Various operations from the flow chart of Figure 7 may be optional with respect to some embodiments of computing devices configured to determine variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network and related methods. For example, the operations of blocks 702-706 and 710-712 may be optional in some embodiments.

[0085] Figure 8 is a block diagram of an example communication system in accordance with some embodiments.

[0086] Referring to Figure 8, the communication system 800 includes a telecommunication network 802 that includes an access network 804, such as a radio access network (RAN), and a core network 806, which includes one or more core network nodes 808, and a cloud-based computing device 818. As will be appreciated by those of skill in the art, the computing device 818 is not necessarily limited to a cloud-based implementation and, instead may be located within the telecommunication network 802. Moreover, computing device 818 may not be a separate device and, instead, mya be included in core network node 808, network node 810A, 810B, and / or UE 812A, 812B; and / or may include disaggregated implementations or portions thereof.

[0087] Moreover, as will be appreciated by those of skill in the art, the network nodes 810 are not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that the network nodes 810 may include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 802 includes one or more open radio access network (ORAN) network nodes. The access network 804 includes one or more access network nodes, such as network nodes 810a and 810b (one or more of which may be generally referred to as network nodes 810), or any other similar 3rd Generation Partnership Project (3GPP) access node or non-3GPP access point. Moreover, as will be appreciated by those of skill in the art, the network nodes 810 are not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that the network nodes 810 may include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 802 includes one or more open radio access network (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 802 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 802, including one or more network nodes 810 and / or core network nodes 808.

[0088] Examples of an ORAN network node include an O-RU, an O-DU, an O-CU, including an O-CU-CP or an O-CU-UP, a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time RAN control application (e.g., xApp) or a non-real time RAN automation application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1, F1, W1, E1, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Intents and content-aware notifications described herein may be communicated from a 3GPP network node or an ORAN network node over 3GPP-defined interfaces (e.g., N2, N3) and / or ORAN Alliance-defined interfaces (e.g., A1, O1). Moreover, an ORAN network node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further herein) in which one or more network functions are virtualized. The network nodes 810 facilitate direct or indirect connection of user equipment (UE), such as by connecting wireless devices 812a, 812b, 812c, and 812d (one or more of which may be generally referred to as UEs 812) to the core network 806 over one or more wireless connections.

[0089] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 800 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 800 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0090] The UEs 812 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 810 and other communication devices. Similarly, the network nodes 810 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 812 and / or with other network nodes or equipment in the telecommunication network 802 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 802.

[0091] In the depicted example, the core network 806 connects the network nodes 810 to one or more hosts, such as host 816. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled tohosts. The core network 806 includes one more core network nodes (e.g., core network node 808) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 808. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).

[0092] The host 816 may be under the ownership or control of a service provider other than an operator or provider of the access network 804 and / or the telecommunication network 802, and may be operated by the service provider or on behalf of the service provider. The host 816 may host a variety of applications to provide one or more services. Examples of such applications include rApps as discussed herein, network management services, live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0093] As a whole, the communication system 800 enables connectivity between the UEs, network nodes, nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0094] In some examples, the telecommunication network 802 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 802 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 802. For example, the telecommunications network 802 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs,while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive IoT services to yet further UEs.

[0095] In some examples, the UEs 812 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 804 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 804. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, New Radio (NR) and LTE, e.g., being configured for multi-radio dual connectivity (MR-DC), such as Evolved-UMTS Terrestrial Radio Access Network (E-UTRAN) New Radio – Dual Connectivity (EN-DC).

[0096] In the example, the hub 814 communicates with the access network 804 to facilitate indirect communication between one or more UEs (e.g., UE 812c and / or 812d) and network nodes (e.g., network node 810b). In some examples, the hub 814 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 814 may be a broadband router enabling access to the core network 806 for the UEs. As another example, the hub 814 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 810, or by executable code, script, process, or other instructions in the hub 814. As another example, the hub 814 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 814 may be a content source. For example, for a UE that is a virtual reality (VR) headset, display, loudspeaker or other media delivery device, the hub 814 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 814 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 814 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy IoT devices.

[0097] The hub 814 may have a constant / persistent or intermittent connection to the network node 810b. The hub 814 may also allow for a different communication scheme and / or schedule between the hub 814 and UEs (e.g., UE 812c and / or 812d), and between the hub 814 and the core network 806. In other examples, the hub 814 is connected to the core network 806 and / or one or more UEs via a wired connection. Moreover, the hub 814 may be configured to connect to an machine to machine (M2M) service provider over the access network 804 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 810 while still connected via the hub 814 via a wired or wireless connection. In some embodiments, the hub 814 may be a dedicated hub – that is, a hub whose primary functionis to route communications to / from the UEs from / to the network node 810b. In other embodiments, the hub 814 may be a non-dedicated hub – that is, a device which is capable of operating to route communications between the UEs and network node 810b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0098] Figure 9 is a block diagram of an example UE in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.

[0099] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle- to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).

[0100] Referring to Figure 9, the UE 900 includes processing circuitry 902 that is operatively coupled via a bus 904 to an input / output interface 906, a power source 908, a memory 910, a communication interface 912, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in FIG.9. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0101] The processing circuitry 902 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 910. The processing circuitry 902 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 902 may include multiple central processing units (CPUs).

[0102] In the example, the input / output interface 906 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 900. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0103] In some embodiments, the power source 908 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 908 may further include power circuitry for delivering power from the power source 908 itself, and / or an external power source, to the various parts of the UE 900 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 908. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 908 to make the power suitable for the respective components of the UE 900 to which power is supplied.

[0104] The memory 910 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 910 includes one or more application programs 914, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 916. The memory 910 may store, for use by the UE 900, any of a variety of various operating systems or combinations of operating systems.

[0105] The memory 910 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 910 may allow the UE 900 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 910, which may be or comprise a device-readable storage medium.

[0106] The processing circuitry 902 may be configured to communicate with an access network or other network using the communication interface 912. The communication interface 912 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 922. The communication interface 912 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 918 and / or a receiver 920 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 918 and receiver 920 may be coupled to one or more antennas (e.g., antenna 922) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0107] In the illustrated embodiment, communication functions of the communication interface 912 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short- range communications such as Bluetooth, near-field communication, location-basedcommunication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.

[0108] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 912, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).

[0109] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.

[0110] A UE, when in the form of an Internet of Things (IoT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an IoT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the formof an IoT device comprises circuitry and / or software in dependence of the intended application of the IoT device in addition to other components as described in relation to the UE 900.

[0111] As yet another specific example, in an IoT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.

[0112] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.

[0113] Figure 10 is a block diagram of an example network node in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs), NR NodeBs (gNBs)), O-RAN nodes, or components of an O-RAN node (e.g., intelligent controller, O-RU, O-DU, O-CU).

[0114] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).

[0115] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).

[0116] Referring to Figure 10, the network node 1000 includes a processing circuitry 1002, a memory 1004, a communication interface 1006, and a power source 1008. The network node 1000 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 1000 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 1000 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 1004 for different RATs) and some components may be reused (e.g., a same antenna 1010 may be shared by different RATs). The network node 1000 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 1000, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 1000.

[0117] The processing circuitry 1002 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node 1000 components, such as the memory 1004, to provide network node 1000 functionality.

[0118] In some embodiments, the processing circuitry 1002 includes a system on a chip (SOC). In some embodiments, the processing circuitry 1002 includes one or more of radio frequency (RF) transceiver circuitry 1012 and baseband processing circuitry 1014. In some embodiments, the radio frequency (RF) transceiver circuitry 1012 and the baseband processingcircuitry 1014 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 1012 and baseband processing circuitry 1014 may be on the same chip or set of chips, boards, or units.

[0119] The memory 1004 may comprise any form of volatile or non-volatile computer- readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 1002. The memory 1004 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry 1002 and utilized by the network node 1000. The memory 1004 may be used to store any calculations made by the processing circuitry 1002 and / or any data received via the communication interface 1006. In some embodiments, the processing circuitry 1002 and memory 1004 is integrated.

[0120] The communication interface 1006 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 1006 comprises port(s) / terminal(s) 1016 to send and receive data, for example to and from a network over a wired connection. The communication interface 1006 also includes radio front-end circuitry 1018 that may be coupled to, or in certain embodiments a part of, the antenna 1010. Radio front-end circuitry 1018 comprises filters 1020 and amplifiers 1022. The radio front-end circuitry 1018 may be connected to an antenna 1010 and processing circuitry 1002. The radio front-end circuitry may be configured to condition signals communicated between antenna 1010 and processing circuitry 1002. The radio front-end circuitry 1018 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 1018 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 1020 and / or amplifiers 1022. The radio signal may then be transmitted via the antenna 1010. Similarly, when receiving data, the antenna 1010 may collect radio signals which are then converted into digital data by the radio front-end circuitry 1018. The digital data may be passed to the processing circuitry 1002. In other embodiments, the communication interface may comprise different components and / or different combinations of components.

[0121] In certain alternative embodiments, the network node 1000 does not include separate radio front-end circuitry 1018, instead, the processing circuitry 1002 includes radio front-endcircuitry and is connected to the antenna 1010. Similarly, in some embodiments, all or some of the RF transceiver circuitry 1012 is part of the communication interface 1006. In still other embodiments, the communication interface 1006 includes one or more ports or terminals 1016, the radio front-end circuitry 1018, and the RF transceiver circuitry 1012, as part of a radio unit (not shown), and the communication interface 1006 communicates with the baseband processing circuitry 1014, which is part of a digital unit (not shown).

[0122] The antenna 1010 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 1010 may be coupled to the radio front-end circuitry 1018 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 1010 is separate from the network node 1000 and connectable to the network node 1000 through an interface or port.

[0123] The antenna 1010, communication interface 1006, and / or the processing circuitry 1002 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna 1010, the communication interface 1006, and / or the processing circuitry 1002 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.

[0124] The power source 1008 provides power to the various components of network node 1000 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 1008 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 1000 with power for performing the functionality described herein. For example, the network node 1000 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 1008. As a further example, the power source 1008 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.

[0125] Embodiments of the network node 1000 may include additional components beyond those shown in FIG.10 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 1000 may include user interface equipment to allow input of information into the network node 1000 and to allow output ofinformation from the network node 1000. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 1000.

[0126] Figure 11 is a block diagram of an example virtualization environment in accordance with some embodiments. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 1100 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment 1100 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework 1200 via an O-2 interface.

[0127] Applications 1102 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment 1100 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0128] Hardware 1104 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 1106 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1108a and 1108b (one or more of which may be generally referred to as VMs 1108), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 1106 may present a virtual operating platform that appears like networking hardware to the VMs 1108.

[0129] The VMs 1108 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 1106. Different embodiments of the instance of a virtual appliance 1102 may be implemented on one or more of VMs 1108, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume serverhardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[0130] In the context of NFV, a VM 1108 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 1108, and that part of hardware 1104 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 1108 on top of the hardware 1104 and corresponds to the application 1102.

[0131] Hardware 1104 may be implemented in a standalone network node with generic or specific components. Hardware 1104 may implement some functions via virtualization. Alternatively, hardware 1104 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 1110, which, among others, oversees lifecycle management of applications 1102. In some embodiments, hardware 1104 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 1112 which may alternatively be used for communication between hardware nodes and radio units.

[0132] Figure 12 is a block diagram an example computing device 1200 in accordance with some embodiments. Examples of a computing device include, but are not limited to, a computer, a server, a network node, a core network node, a UE, etc.

[0133] Referring to Figure 12, the computing device 1200 includes processing circuitry 1202, a power source 1210, a memory 1204 that includes application programs / a ML model(s) and data 1208, a communication interface 1212, and / or any other component, or any combination thereof. Certain computing devices may utilize all or a subset of the components shown in Figure 12. The level of integration between the components may vary from one computing device to another computing device. Further, certain computing devices may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0134] The processing circuitry 1202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 1204. The processing circuitry 1202may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic FPGAs, ASICs, etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or DSP, together with appropriate software; or any combination of the above. For example, the processing circuitry 1202 may include multiple CPUs.

[0135] In some embodiments, the power source 1210 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 1210 may further include power circuitry for delivering power from the power source 1210 itself, and / or an external power source, to the various parts of the computing device 1200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 1210. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 1210 to make the power suitable for the respective components of the computing device 1200 to which power is supplied.

[0136] The memory 1204 may be or be configured to include memory such as RAM, ROM, PROM, EPROM, EEPROM, magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 1204 includes one or more application programs 1206, such as an operating system, web browser application, a widget, gadget engine, or other application, one or more ML models, and corresponding data 1208. The memory 1204 may store, for use by the computing device 1200, any of a variety of various operating systems or combinations of operating systems.

[0137] The memory 1204 may be configured to include a number of physical drive units, such as RAID, flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, HD-DVD optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, HDDS optical disc drive, external mini-DIMM, SDRAM, external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a UICC including one or more SIMs, such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an eUICC, iUICC or a removable UICC commonly known as ‘SIM card.’ The memory 1204 may allow the computing device 1200 to access instructions, application programs, ML model(s), and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 1204, which may be or comprise a device-readable storage medium.

[0138] The processing circuitry 1202 may be configured to communicate with an access network or other network using the communication interface 1212. The communicationinterface 1212 may comprise one or more communication subsystems. The communication interface 1212 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another computing device, UE or a network node in an access network). Each transceiver may include a transmitter and / or a receiver appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter and receiver may be coupled to one or more antennas and may share circuit components, software or firmware, or alternatively be implemented separately.

[0139] In the illustrated embodiment, communication functions of the communication interface 1212 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short- range communications such as Bluetooth, near-field communication, location-based communication such as the use of the GPS to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, CDMA, WCDMA, GSM, LTE, NR, UMTS, WiMax, Ethernet, TCP / IP, SONET, ATM, QUIC, HTTP, and so forth.

[0140] Although computing devices described herein may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination.

[0141] Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[0142] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.

Claims

What is claimed is:

1. A computer-implemented method for determining variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network, the method comprising: receiving (700) data comprising three dimensional geographical coordinates of a measured or predicted signal strength for the location ; and determining (708) a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more machine learning (ML) models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a two-dimensional location in the at least one structure.

2. The method of claim 1, further comprising: identifying (704) whether there is a line-of-sight between an antenna associated with the cell and an exterior of the at least one structure; and determining (706), when there is a line-of-sight, a minimum altitude for the line-of-sight.

3. The method of any one of the preceding claims, wherein at least one of the ML models is configured to determine a value representing a difference in signal strength between a predicted signal strength for the two-dimensional location and a predicted line-of-sight signal strength at a particular altitude within the two-dimensional location.

4. The method of any one of the preceding claims, wherein at least one of the ML models is configured to determine a value representing a difference in signal strength between a predicted line-of-sight signal strength and a predicted non-line-of-sight signal strength at a same altitude within the two-dimensional location.

5. The method of any one of the preceding claims, wherein the method further comprises: generating (710) the one or more of the ML models based at least in part on data indicating: physical information for one or more cells associated with the two-dimensional location; a clutter-type map for the two-dimensional location; an elevation map for the two-dimensional location; anda plurality of signal-strength measurements for user devices located inside the at least one structure within the two-dimensional location.

6. The method of claim 5, wherein the physical information comprises at least one or more of: cell identifiers for the one or more cells, one or more latitudes for one or more antennas associated with the one or more cells, one or more longitudes for the one or more antennas, one or more mechanical tilts for the one or more antennas, one or more electrical tilts for the one or more antennas, and one or more heights for the one or more antennas.

7. The method of claim 5, wherein the plurality of signal-strength measurements is based at least in part on at least one of measurement messages received from the user devices, results from one or more walk tests performed using the user devices, or crowdsourced data generated by one or more applications executing on the one or more user devices.

8. The method of any one of the preceding claims, wherein the method further comprises: determining (702), based at least in part on a cluster map of the two-dimensional location, one or more polygons representing one or more associated structures at the two-dimensional location.

9. The method of claim 8, wherein the method comprises, responsive to determining that at least one of the polygons representing at least one of the one or more associated structures exceeds a threshold size, dividing the at least one of the polygons into one or more constituent polygons representing one or more portions of the at least one of the one or more associated structures.

10. The method of any one of the preceding claims, wherein the method further comprises: classifying (708) for one or more polygons representing one or more associated structures within the two-dimensional location, and at least one cell associated with the one or more polygons, measured signal strength samples as either line-of-sight samples or non-line-of- sight samples.

11. The method of claim 10, wherein classifying (708) the measured signal strength samples comprises classifying the measured signal strength samples based at least in part on their respective measured signal strengths within the two-dimensional location.

12. The method of claim 11, wherein the method comprises, prior to classifying each measured signal strength sample, removing variation of the measured signal strengths due to a deviation, in a distance and a vertical angle, between (i) a pointing position of an antenna associated with the cell and (ii) the three dimensional geographical coordinates of the measured signal strength.

13. The method of any one of claims 9 to 12, wherein classifying (708) the measured signal strength samples comprises classifying the measured signal strength samples based at least in part on a value corresponding to a maximum measured quality of clustering for one or more portions of the measured signal strength samples.

14. The method of 13, wherein classifying (708) the measured signal strength samples comprises classifying the measured signal strength samples responsive to a determination that the value corresponding to the maximum measured quality of clustering meets a threshold.

15. The method of claim 13, wherein the measured quality of clustering comprises one or more scores representing an accuracy of the clustering.

16. The method of any one of the preceding claims, wherein at least one of the ML models is configured to determine the value representing the predicted signal strength if the location is determined to be a line-of-sight location, and at least one of the ML models is configured to determine the value representing the predicated signal strength if the location is determined to be a non-line-of-sight location.

17. The method of any one of the preceding claims, wherein at least one of the one or more ML models comprises a decision tree regression model.

18. The method of any one of the preceding claims, wherein determining the variation in the value comprises determining a value representing a predicted reference signal received power for the location.

19. A computing device (818, 1200) for determining variations in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network, the computing device comprising: at least one processor (1202); anda memory (1204) storing instructions (1206) that when executed by the at least one processor cause the system to perform operations comprising: receive data comprising three dimensional geographical coordinates of a measured or predicted signal strength for the location; and determine a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more machine learning (ML) models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a two-dimensional location in the at least one structure.

20. The computing device of claim 19, wherein the memory includes instructions that when executed by the at least one processor cause the computing device to perform further operations comprising any of the operations of any one of claims 2 to 19.

21. A non-transitory computer-readable media (1204) for determining a variation in a value representing a predicted signal strength among different altitudes of at least one structure in a location in a cell of a telecommunications network, the media comprising instructions (1206) that when executed by a computing device (818, 1200) cause the computing device to perform operations comprising: receive data comprising three dimensional geographical coordinates of a measured or predicted signal strength for the location; and determine a variation in the value representing the predicted signal strength for the different altitudes of the at least one structure based at least in part on the data and one or more machine learning (ML) models that predict, for the different altitudes of the at least one structure, a predicted signal strength corresponding to a two-dimensional location in the at least one structure.

22. The non-transitory computer-readable media of claim 21, wherein the instructions when executed by the computing device cause the computing device to perform further operations comprising any of the operations of any one of claims 2 to 19. .