Method for determining network coverage in at least one control point in an area and associated electronic determination device

DE602023004883T2Active Publication Date: 2025-07-16THALES SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602023004883
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-12-27
Filing Date
2023-12-27
Publication Date
2025-07-16
Estimated Expiration
2043-12-27

AI Technical Summary

Technical Problem

Existing methods for determining network coverage in large environments, such as regions, are not applicable due to scaling issues and numerical approximations, limiting their effectiveness beyond small environments like streets.

Method used

A method and device for determining network coverage in any environment by modeling electromagnetic signal trajectories, using a cumulative database to select and calculate corrected rays that account for reflections and losses, utilizing graphics processing units (GPUs) for efficient computation and storage.

Benefits of technology

Enables accurate determination of network coverage in large environments by overcoming scaling issues, allowing for precise network coverage analysis in complex environments.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to a method for determining network coverage at at least one control point. The present invention also relates to a computer program product and an electronic determination device suitable for implementing such a method.

[0002] The present invention relates to the field of determining network coverage.

[0003] In the field of drones piloted remotely in an environment, it is known to transmit piloting commands to the drones by an electromagnetic signal, preferably a radio signal, from one or more transmitting antennas.

[0004] To ensure that drones can be piloted anywhere in the environment, it is best to first check that there is sufficient network coverage at any point in the environment.

[0005] “Network coverage at a point” means the power of the electromagnetic signals emitted from the transmitting antenna(s) and received at that point.

[0006] Network coverage at a point is influenced in particular by the length of the path taken by electromagnetic signals from the transmitting antenna to that point.

[0007] Furthermore, in the context of an environment with obstacles, electromagnetic signals are reflected off said obstacles. Thus, the length of the path traveled by each signal does not depend only on the distance between the transmitting antenna and the point, but also on the reflections of said signals off the obstacles.

[0008] Thus, it is known to model a trajectory of electromagnetic signals by rays forming respectively a broken line in which a break is made at each reflection. The directions of the breaks are for example calculated with the Snell-Descartes laws. We then understand that several rays leaving the transmitting antenna are likely to reach the same point by being reflected respectively on distinct obstacles.

[0009] Subsequently, the network coverage at the point can be theoretically determined by combining the contributions of each ray reaching said point.

[0010] However, when we want to make a numerical determination of network coverage in an environment, it is not possible to test all the points in the environment which would then represent an infinite number of possibilities.

[0011] It is known, in particular, from the article "Shooting and Bouncing Rays: Calculating the RCS of an Arbitrarily Shaped Cavity" by LING, H; CHOU, RC; LEE, SW published in the IEEE Transactions on Antennas and Propagation, to choose control points and digitally emit rays from the transmitting antenna, according to different directions.

[0012] Then, for each control point, the distance between each ray and the control point is measured. When the distance associated with a ray is less than a threshold whose value is of the order of numerical approximation, it is considered that the ray reaches the control point.

[0013] Then, the network coverage at each control point is determined by combining the contributions of the rays considered to reach the control point.

[0014] However, with such a method, the propagation of numerical approximations implies that the threshold is proportional to the distance between the transmitting antenna and the control point considered.

[0015] Thus, the assumption that rays whose distance to the control point is less than the threshold are considered to reach the control point, only works for control points close to the transmitting antenna.

[0016] The state-of-the-art method therefore only makes it possible to determine network coverage in a small environment, e.g. of the order of magnitude of a street.

[0017] In the aforementioned context of the deployment of drones in a larger environment, e.g. of the order of magnitude of a region, the method of the state of the art is therefore not applicable.

[0018] US 2015 / 0333849 A1 discloses a method for estimating the intensity of the electric field associated with a radio wave emitted by an electromagnetic source of a cellular radio communication network within an area. The method comprises: identifying a set of obstacles; determining at least one of the following: a direct visibility polygon of the points in line of sight with the source; a reflection visibility polygon of the points that can be reached by the wave after reflection by the obstacles; a diffraction visibility polygon of the points that can be reached by the wave after diffraction by the obstacles. The visibility polygons are associated with the respective values of the electric field calculated therein.The method further comprises: subdividing the area into pixels; for each pixel, determining membership in at least one of the visibility polygons; and if so, determining the electric field strength at the pixel as a value proportional to the calculated electric field at at least one visibility polygon.

[0019] The present invention therefore proposes a method for determining network coverage which applies to any type of environment.

[0020] To this end, the present invention relates to a method for determining network coverage at at least one control point included in an environment, the environment comprising at least one antenna emitting an electromagnetic signal, the method being implemented by an electronic determination device and comprising the following steps: obtaining a model of the environment, the model comprising obstacles capable of reflecting the electromagnetic signal, the transmitting antenna and the control point, each obstacle being formed of a plurality of obstacle parts, determining a trajectory specific to each of a plurality of initial rays, each initial ray being transmitted from the transmitting antenna, in the model of the environment, in a respective transmission direction, at least one of the plurality of initial rays being reflected on at least one obstacle part, for the or each initial ray whose trajectory complies with a constraint associated with the or one of the control points, calculating for the or one of said control points, a trajectory of a corrected ray passing through said control point and through the transmitting antenna, the trajectory of each corrected ray comprising a corrected transmission direction,storing the or at least part of the corrected rays and their respective trajectory, in a cumulative database, for each control point, if the cumulative database comprises several corrected rays whose corrected emission directions are substantially identical, selecting only one of said corrected rays, and determining the network coverage at or at each control point by applying, to the selected rays from the cumulative database, a loss model in the electromagnetic signals, the loss model depending on the number of selected rays reaching the control point, a length of the trajectory of each selected ray and a number of reflections in the trajectory of each selected ray.

[0021] By calculating corrected ray trajectories, it is possible to overcome the scaling issues inherent in the state-of-the-art process.

[0022] According to preferred embodiments, the method according to the invention comprises one or more of the following characteristics, taken in isolation or in all technically possible combinations: the method comprising between the step of obtaining and the step of determining trajectories: ∘ a step of defining several meshed surfaces in the environment, each meshed surface having a tiling of cells, each cell being delimited by a number N of sides and by N vertices, each vertex being a control point, and ∘ a step of loading a meshed surface among the meshed surfaces during the calculation step, the constraint associated with each control point being that the ray reaches a cell of which a vertex is said control point, the meshed surfaces preferably being planar and preferably still parallel to each other; the steps of loading, determining trajectories, calculating corrected ray(s), storing and selecting are iterated for each of the meshed surfaces;each meshed surface is divided into a predefined number of quadrants, each control point belonging to one of the quadrants, during the storage step, the quadrant associated with the control point of each corrected ray also being stored in the cumulative database, and the selection step being carried out successively for each quadrant of the cumulative database; for at least one initial ray respecting the constraint associated with the or one of the control points, no corresponding corrected ray connects the transmitting antenna and said control point, during the calculation step, for this initial ray and for this control point, no corrected ray then being calculated;the steps of determining trajectories, calculating corrected ray(s), storing and selecting are iterated several times, the emission directions of the initial rays emitted during the step of determining trajectories being distinct from one iteration to another, preferably, the steps of determining trajectories, calculating, storing and selecting are iterated until a criterion is reached, the criterion being that: ∘ the number of iterations is equal to a threshold, and / or ∘ a ratio between the number of rays selected during the selection step and the number of rays in the cumulative database is greater than or equal to another threshold;the loss model is such that the network coverage at the or one of the control points is equal to a sum of contributions, each contribution being associated with a selected ray from the cumulative database, each contribution being a power of the selected ray, inversely proportional to the distance traveled by said selected ray from the transmitting antenna, and a function of the number of reflections of said selected ray on parts of the obstacle; and the electronic determination device comprises at least one graphics card, the trajectory determination and calculation steps being implemented by the graphics card(s).

[0023] The present invention also relates to a computer program product comprising software instructions, which when executed by a computer, implement such a determination method.

[0024] The present invention also relates to an electronic device for determining network coverage at at least one control point included in an environment, the environment comprising at least one antenna emitting an electromagnetic signal, the electronic determination device comprising: an obtaining module suitable for obtaining a model of the environment, the model comprising obstacles suitable for reflecting the electromagnetic signal, the transmitting antenna and the control point, each obstacle being formed from a plurality of obstacle parts, a first determining module suitable for determining a trajectory specific to each of a plurality of initial rays, each initial ray being transmitted from the transmitting antenna, in the model of the environment, in a respective transmission direction, at least one of the plurality of initial rays being reflected on at least one obstacle part, a calculating module suitable for calculating, for the or each initial ray whose trajectory complies with a constraint associated with the or one of the control points, for the or one of said control points, a trajectory of a corrected ray passing through said control point and through the transmitting antenna,the trajectory of each corrected ray comprising a corrected emission direction, a storage module suitable for storing the or at least part of the corrected rays and their respective trajectory, in a cumulative database, a selection module suitable for selecting, for each control point, if the cumulative database comprises several corrected rays whose corrected emission directions are substantially identical, only one of said corrected rays, and a second determination module suitable for determining the network coverage at or at each control point by applying, to the selected rays from the cumulative database, a model of losses in the electromagnetic signals, , the loss pattern depending on the number of selected rays reaching the control point, a length of the path of each selected ray and a number of reflections in the path of each selected ray.

[0025] Other features and advantages of the invention will become apparent upon reading the following description of embodiments of the invention, given by way of example only and with reference to the drawings which are: there figure 1 is a schematic view of an electronic determination device according to the invention; figure 2 is an explanatory diagram of a step implemented by the electronic device for determining the figure 1 ; there figure 3 is an explanatory diagram of a step implemented by the electronic device for determining the figure 1 ; there figure 4 is an explanatory diagram of a step implemented by the electronic device for determining the figure 1 ; there figure 5 is an explanatory diagram of a step implemented by the electronic device for determining the figure 1 ; and the figure 6is a flowchart of a determination method implemented by the electronic device of the figure 1 .

[0026] On the figure 1 an electronic device 10 is shown for determining network coverage at at least one control point Pc included in an environment.

[0027] As shown in the figure 1 , the determination device 10 comprises for example a display screen 15 and a processing unit 20.

[0028] The display screen 15 is capable of displaying content received from the processing unit 20.

[0029] The processing unit 20 is for example a computer. The processing unit 20 then preferably comprises a processor 25, a graphics card 30, an electronic disk 35 and a hard disk 40.

[0030] The processor 25, also called CPU (from the English Central Processing Unit) is suitable for executing software functions. The processor 25 preferably comprises a random access memory 45, also called RAM memory (from the English Random Access Memory ) suitable for temporarily or transiently storing data resulting from the execution of software functions by said processor 25.

[0031] The 30 graphics card, also called GPU (from the English Graphics Processing Unit ) is also suitable for implementing software functions. Preferably, the graphics card 30 comprises a video memory 50, also called VRAM memory (from the English Video Random Access Memory ). Although the video memory 50 is initially intended to temporarily, or transiently, store video data calculated by the graphics card 30, its use can be diverted to temporarily, or transiently, store any type of data from software functions executed by the graphics card 30, as is the case in the present invention.

[0032] The 35 electronic disk, also called SSD disk (from the English Solid State Drive ), solid-state disk, or solid-state disk, is suitable for storing data, for example organized in the form of a database as will be described below. The quantity of data suitable for being stored in the electronic disk 35 is higher than the quantity of data suitable for being stored in the RAM 45 and in the video memory 50.

[0033] Furthermore, the electronic disk 35 is a non-volatile memory, unlike the RAM 45 and video 50 memories. Thus, following a power-down of the processing unit 20, the data stored in the electronic disk 35 are retained in memory unlike those present in the RAM 45 and in the video memory 50.

[0034] The electronic disk 35 is connected to the processor 25 and to the graphics card 30 in particular. The electronic disk 35 is capable of storing, non-transitorily, data originating from the RAM 45 of the processor 25, and / or from the video memory 50 of the graphics card 30. The electronic disk 35 is further capable of supplying data stored within it, to each of the RAM 45 and video memories 50.

[0035] The 40 hard drive, also called HD disk (from the English Hard Drive ) is a physical disk suitable for storing, non-transiently, data. The hard disk 40 is also connected to the processor 25 and to the graphics card 30. The hard disk 40 is suitable for exchanging data with the RAM 45 and the video memory 50.

[0036] The hard disk 40 has a storage capacity greater than that of an electronic disk 35 of equivalent cost. However, the data exchange speed between the hard disk 40 and each of the processor 25 and the graphics card 30 is lower than the data exchange speed between the electronic disk 35 and each of the processor 25 and the graphics card 30.

[0037] Preferably, the hard disk 40 stores a plurality of software modules.

[0038] Each software module stored in the hard disk 40 comprises software instructions suitable for execution by the processor 25 or by the graphics card 30.

[0039] In particular, the hard disk 40 stores a obtaining module 55 suitable for being executed by the processor 25 in order to obtain a model of an environment. The environment is for example a city. The environment then includes obstacles for example formed by the buildings of the city as well as any other natural or artificial infrastructure.

[0040] Each of the infrastructures therefore forms an obstacle capable of partially reflecting, and partially absorbing, all electromagnetic signals which reach it. The environment preferably also includes a ground and a transmitting antenna 56 visible on the figure 2 . The ground of the environment is for example flat or curved. In the case of a curved plane, said plane is for example derived from a Mercator or Lambert 93 type projection.

[0041] An "electromagnetic signal" means electromagnetic radiation.

[0042] In the environment model, each obstacle is formed from a plurality of obstacle parts 57 contiguous to one another. For example, the environment model is a surface file in which the obstacles are divided into obstacle parts 57, preferably a file of geometric primitives. In the latter case, the obstacle parts 57 are for example contiguous triangles respectively comprising three vertices. Each triangle shares two vertices with juxtaposed triangles. The environment model comprises, for each of said triangles, the coordinates, in a three-dimensional space, of each of the three vertices, and a normal vector to the triangle. The normal vector is oriented towards the outside of the obstacle. Each triangle is then stored in the electronic disk 35.

[0043] Preferably, the obtaining module 55 is capable of obtaining the model of the environment from a user of the determination device 10.

[0044] The hard disk 40 also preferentially stores a definition module 60 capable of defining, in the environment, at least one mesh surface 58. The definition module is for example capable of being executed by the processor 25.

[0045] The mesh surface 58 is for example a plane. In one example the plane is horizontal. Alternatively, the plane is vertical.

[0046] In another example, the mesh surface 58 is curved. The mesh surface 58 then follows the shape of the ground. Thus, the distance between each point of the mesh surface 58 and the ground is constant.

[0047] The mesh surface 58 has a tiling of cells. Each cell is delimited by a number N of sides and by N vertices. Each vertex of a cell is a control point Pc. Preferably, each cell is square in shape. It is then understood that each control point Pc is common to four cells. One side of each cell has a length for example equal to eight meters, ten meters or sixteen meters in the model of the environment.

[0048] Advantageously, the definition module 60 is capable of defining several mesh surfaces 58, preferably parallel to each other. A distance between two successive mesh surfaces 58 is preferably constant, for example equal to eight meters, ten meters, or sixteen meters.

[0049] Preferably, the cells of each mesh surface 58 are identical to each other. For example, the distance between two successive mesh surfaces 58 is identical to the length of each side of a cell of each mesh surface 58. In the latter case, the mesh surfaces 58 form a tiling of the environment by a plurality of elementary volumes whose vertices are the control points Pc. If in addition the mesh surfaces 58 are planar, each elementary volume has for example a cubic shape.

[0050] Each mesh surface 58 and associated control points Pc are preferentially stored in the electronic disk 35.

[0051] The hard disk 40 further stores a loading module 62 suitable for being executed by the graphics card 30, to load, into the video memory 50, the model of the environment and one of the mesh surfaces 58.

[0052] The hard disk 40 further stores a first determination module 65 suitable for being executed by the graphics card 30.

[0053] The first determination module 65 is capable of determining a trajectory specific to each of a plurality of emitted rays, called initial rays, in the model of the environment. Each initial ray is emitted from the transmitting antenna 56. The first determination module 65 is preferably capable of being executed by the graphics card 30.

[0054] The first determination module 65 is capable of emitting, into the environment, the plurality of initial rays from the emitting antenna 56. Each initial ray is emitted in an emission direction i , ϕ which is specific to him.

[0055] The broadcasting direction i , ϕ is defined in spherical coordinates, by a first angle i and a second angle ϕ .

[0056] The emission directions i , ϕ are preferentially distinct from one ray to another. The first determination module 65 is for example capable of randomly determining each direction of emission i , ϕ from a seed (from English seed ) from graphics card 30, at a given time.

[0057] Each initial ray emitted follows a substantially rectilinear trajectory.

[0058] Some initial rays are not reflected by any part of obstacle 57.

[0059] Other initial rays are reflected on the obstacle parts 57 of the environment. Preferably, the first determination module 65 is capable of determining the trajectory of each of said initial rays until one of the following two conditions is met: the number of reflections of the initial ray reaches a first threshold, and the initial ray reaches the mesh surface 58.

[0060] The first threshold is for example equal to five. Indeed, at each reflection of an initial ray on a part of obstacle 57, the electromagnetic signal carried by the initial ray is partly absorbed by the part of obstacle 57. Thus, at the end of five reflections, the residual electromagnetic signal carried by the initial ray is negligible compared to the electromagnetic signal emitted by the transmitting antenna 56.

[0061] The trajectories of the initial rays presenting reflections are therefore broken lines comprising respectively a plurality of ordered rectilinear portions of rays d1, d2, d3, d4 visible on the figure 2 The ray portions are ordered so that the first ray portion d1 corresponds to the ray portion connecting the transmitting antenna 56 to the first obstacle part 57 encountered by the initial ray.

[0062] To determine the remainder of the trajectory of the initial ray, the first determination module 65 is capable of calculating an angle of incidence of the first portion of ray d1 on the first part of obstacle 57 encountered. The first determination module 65 is then capable of calculating a first direction of reflection i r 1 , f r 1 of the initial ray from the calculated angle of incidence, and preferably by applying the Snell-Descartes laws. The first determination module 65 is then able to calculate the trajectory of the second portion of ray d2 as substantially rectilinear from the first obstacle part 57 according to the first direction of reflection i r 1 , f r1, for example up to a second part of obstacle 57 encountered by the initial ray. The first determination module 65 is capable of iterating the calculation of the angle of incidence, of the direction of reflection θ r , ϕr and the trajectory for each part of obstacle 57 encountered by the initial ray.

[0063] A trajectory of an initial ray reaching the mesh surface 58 is shown in the figure 2 . On the figure 2 , the mesh surface 58 is represented as a vertical plane. Alternatively, the mesh surface 58 is a horizontal plane.

[0064] In particular, as visible on the figure 2 , the initial ray is emitted according to the emission direction i , ϕforming the first portion of ray d1. The initial ray is reflected on the first obstacle part 57, thus forming the second portion of ray d2. Then the initial ray is reflected on the second obstacle part 57, forming the third obstacle part d3. The initial ray is then reflected on the third obstacle part 57, forming the fourth position of ray d4. The fourth obstacle portion d4 reaches the mesh surface 58. More particularly, the fourth portion of ray d4 reaches a cell, not shown, at an impact point P. A control point Pc associated with said cell is shown on the figure 2 .

[0065] Each initial ray reaching the mesh surface 58 and not including a reflection is called a “direct path”.

[0066] Preferably, the first determination module 65 is capable of emitting a number of initial rays such that the video memory 50 is saturated. The expression “being saturated” means that the video memory 45 no longer has any available storage space. The number of initial rays emitted is greater than ten million, preferably equal to one hundred million. Thus, with such a number of initial rays emitted according to emission directions i , ϕ random, all emission directions i , ϕ possible is substantially uniformly discretized.

[0067] The first determination module 65 is further capable of emitting initial rays according to emission directions i , ϕ chosen, as will be described later.

[0068] The hard disk 40 further stores a first comparison module 67 suitable for being executed by the graphics card 30 to check, for each initial ray, whether it complies with a constraint associated with one or more control points Pc.

[0069] Preferably, the constraint associated with each control point Pc is that said initial ray reaches the meshed surface 58 at an impact point P located in a cell of which said control point Pc is a vertex. The first comparison module 67 is capable of considering, for each initial ray, that the constraint is respected for the four control points Pc forming vertices of the cell reached by the initial ray.

[0070] Preferably, the first comparison module 67 is capable of deleting from the video memory 50 the trajectories of the initial rays which do not respect the constraint associated with any control point Pc.

[0071] The hard disk 40 further stores a calculation module 70 suitable for being executed by the graphics card 30. The calculation module 70 is suitable for calculating, for each initial ray respecting a constraint associated with a control point Pc, a trajectory of a corrected ray RC passing through said control point Pc and through the transmitting antenna 56. In other words, the calculation module 70 is suitable for calculating, for each initial ray reaching the meshed surface 58, the trajectories of four corrected rays RC respectively connecting the transmitting antenna 56 and a distinct vertex of the cell reached by the initial ray.

[0072] The calculation of the trajectory of a corrected RC ray is illustrated in the figures 3 to 5 .

[0073] In reference to the figure 3, the calculation module 70 is capable of calculating the position of a fictitious emission point PE located at a distance from the point of impact P equal to the sum of the lengths of each portion of radius d1, d2, d3, d4, and in the extension of the last portion of radius, i.e. the fourth portion of radius d4 in the example shown.

[0074] The calculation module 70 is suitable for measuring the angle α formed between the segment connecting the fictitious emission point PE and the impact point P and the segment connecting the fictitious emission point PE and the control point Pc.

[0075] The calculation module 70 is then able to emit, from the control point Pc associated with the impact point P, a test ray RT visible on the figure 4 The test beam RT is emitted, from said control point Pc, towards the fictional emission point PE.

[0076] In reference to the figure 4, the calculation module 70 is capable of calculating the trajectory of said test ray RT by considering its potential reflections on the obstacle parts 57. The calculation of the trajectory of the test ray RT is analogous to the calculation of the trajectories of the initial rays implemented by the first determination module 65.

[0077] According to the example shown on the figure 4 , the test ray RT is reflected on the same obstacle parts 57 as the ray comprising the ray portions d1, d2, d3, d4 until passing close to the transmitting antenna 56.

[0078] In the example of the figure 4 , the test beam RT does not exactly reach the position of the transmitting antenna 56, in particular because of digital approximations made by the graphics card 30 when calculating the trajectory of said test beam RT.

[0079] It is however possible, as shown in the figure 5, that the geometry of the obstacle parts 57 is such that the test ray RT moves away significantly from the initial ray comprising the portions d1, d2, d3, d4, and does not approach the transmitting antenna 56.

[0080] To distinguish between these two cases, the calculation module 70 is able to compare, at any point of the test radius RT, the distance between said test radius RT and the transmitting antenna 56.

[0081] The distance between the transmitting antenna 56 and the test beam RT is defined as the length of the shortest segment connecting the transmitting antenna 56 and a point on the test beam RT.

[0082] The calculation module 70 is capable of, if the calculated distance is greater than a second threshold, considering that for this initial radius and this control point Pc, no corrected radius RT can be determined. The second threshold is for example equal to half the size of a cell of the mesh surface 58.

[0083] The calculation module 70 is capable of, if the calculated distance is less than the second threshold, emitting, from the transmitting antenna 56, a corrected RC ray in a corrected emission direction. θ c , ϕc. The corrected emission direction θ c , ϕc is equal to the direction of emission i , ϕ of the initial radius, modified by an angle equal to the angle α previously measured.

[0084] The calculation module 70 is capable of calculating the trajectory of the corrected ray RC in a manner analogous to that described previously.

[0085] Due to numerical approximations, the corrected ray RC does not perfectly reach the control point Pc. Determining the corrected emission direction θ c , ϕchowever ensures that the corrected ray RC reaches a position close to the control point Pc. Preferably, the calculation module 70 is configured to determine the distance between the corrected ray RC and the control point Pc as described above for the test ray RT and the transmitting antenna 56.

[0086] The calculation module 70 is capable of iterating what is described previously for each pair of control point Pc and initial radius, for which the initial radius respects the constraint relating to the control point Pc.

[0087] The hard disk 40 further stores a first storage module 75 suitable for being executed by the graphics card 30 to organize storage of the RC-corrected ray trajectories in a temporary database which is stored in the video memory 50. For example, the first storage module 75 stores, in the temporary database and for each RC-corrected ray, the position of the control point Pc associated with the RC-corrected ray, the corrected emission direction θ c , ϕc of said corrected radius RC.

[0088] Preferably, for each corrected ray RC, the first storage module 75 is further capable of storing in the temporary database, an identifier of each part of obstacle 57 on which the corrected ray RC is reflected.

[0089] In the example in which each obstacle part 57 is a triangle, the identifier of each obstacle part 57 is preferably a barycenter of the vertices of the triangle, or an identifier corresponding to the index of the triangle in a list.

[0090] The temporary database is preferentially ordered according to the position of the control points Pc. In other words, the temporary database is, for example, a table successively comprising the trajectories of all the corrected rays arriving at the same control point Pc.

[0091] The hard disk 40 further stores a preselection module 80 preferably suitable for being executed by the graphics card 30. The preselection module 80 is suitable for, if the temporary database includes several corrected RC rays including corrected emission directions θ c , ϕc are substantially identical, i.e. whose corrected emission angles θ c, ϕc are identical except for a difference less than a third threshold preselect only one of said RC corrected rays. For example, the preselected ray is the one with the smallest distance to control point P c.,

[0092] Indeed, since each control point Pc is preferentially common to several cells, the determination of the trajectories of RC-corrected rays, for the same control point Pc but for distinct initial rays, is likely to lead to substantially identical RC-corrected rays. The preselection module 80 then makes it possible to avoid duplicates in the temporary database.

[0093] Preferably, the preselection module 80 is specific to, if the temporary database includes several RC corrected rays including corrected emission directions θ c , ϕcare substantially identical, and furthermore a respective trajectory of which is reflected on the same obstacle parts 57, preselect only one of said RC corrected rays.

[0094] We then understand that the preselected RC corrected rays correspond to a reduced number of RC corrected rays stored in the temporary database.

[0095] As an optional addition, the hard disk 40 further stores a second storage module 85 suitable for being executed by the processor 25. The second storage module 85 is suitable for storing, in a cumulative database, located in the RAM 45, the preselected departments.

[0096] The hard disk 40 further stores a selection module 90 specific to, if the cumulative database includes several preselected rays including corrected emission directions θ c , ϕcare substantially identical, i.e. identical except for a difference less than the third threshold, select only one of the preselected rays, preferably the one whose distance to the control point Pc considered is the smallest.

[0097] Preferably, the selection module 90 is specific to, if the cumulative database comprises several preselected rays including emission directions θ c , ϕc are substantially identical, and furthermore a respective trajectory of which is reflected on the same obstacle parts 57, select only one of said preselected rays as described above.

[0098] Alternatively, the hard disk 40 does not store the first storage module 75 and the preselection module 80. Thus, the second storage module 85 is capable of directly storing in the cumulative database, the RC corrected rays calculated by the calculation module 70. The selection module 90 is then capable of selecting RC corrected rays and not preselected rays.

[0099] The hard disk 40 further stores a second comparison module 95 suitable for being executed by the processor 25. The second comparison module 95 is suitable for comparing a ratio between the number of selected rays and the number of preselected rays in the cumulative database, at a fourth threshold.

[0100] The comparison module 95 is capable of, if said ratio is greater than the fourth threshold, ordering a repetition of the software functions of the first determination module 65, first comparison module 67, calculation module 70, first storage module 75, preselection module 80, second storage module 85 and selection module 90.

[0101] Preferably, during a new iteration, the data stored in the video memory 50 and associated with a previous iteration are deleted.

[0102] Preferably, during a new iteration, the first determination module 65 is capable of emitting initial rays according to emission directions i , ϕ randomly determined from a seed specific to the iteration. Alternatively, the emission directions i , ϕare determined so as to emit more initial rays in directions substantially close to those of the rays selected during a previous iteration, while retaining a share of randomness.

[0103] Preferably, the temporary database is specific to each iteration.

[0104] Preferably, the cumulative database is common to each iteration. Thus, the selection module 95 is able to make its selection from the preselected rays during all the iterations.

[0105] Preferably, the second comparison module 95 is configured, from the second iteration, to also compare the iteration number to a fifth threshold, corresponding to a maximum number of iterations, for example 1000. The second comparison module 95 is capable of ordering a new iteration only if the ratio between the number of rays selected and the number of rays preselected in the cumulative database is greater than the fourth threshold, and if the iteration number is less than the fifth threshold.

[0106] It is understood that the iterations controlled by the second comparison module 95 are carried out for the same mesh surface 58.

[0107] The hard disk 40 further stores a third comparison module 97 suitable for checking whether all the mesh surfaces 58 stored in the electronic disk 35 have been processed.

[0108] The third comparison module 97 is suitable for, if all the mesh surfaces 58 have not been processed, then choosing an unprocessed mesh surface 58 and repeating the software functions of the loading modules 62, first determination module 65, calculation module 70, first storage module 75, preselection module 80, second storage module 85, selection module 90, and second comparison module 95, from the chosen mesh surface 58.

[0109] The hard disk 40 further stores a second determination module 98, preferably suitable for being executed by the processor 25. The second determination module 98 is suitable for determining the network coverage at or at each control point Pc, by applying, to the selected rays from the cumulative database, a loss model in the electromagnetic signals. The loss model depends on the number of selected rays reaching the control point Pc in the cumulative database, a length of the trajectory of each selected ray and a number of reflections in the trajectory of each selected ray.

[0110] Preferably, the loss model is such that the network coverage at each control point Pc is equal to a sum of contributions, each contribution being associated with a selected ray from the cumulative database. Each contribution is a power Pu of the associated ray, inversely proportional to the distance traveled by said ray from the transmitting antenna 56, and a function of the number of reflections of said ray on parts of obstacle 57.

[0111] For example, the power Pu of a ray of the “direct path” type is obtained with the following equation: Pu = 30 . Pe Ge . e j .2 πr λ r Or Pe is the signal strength at the transmitting antenna 56, Ge is a gain of the transmitting antenna 56, the gain Ge is likely to depend on the corrected emission direction θ c , ϕc of the selected radius, j is the complex number, r is the length of the selected ray, and lis the wavelength of the signal emitted by the transmitting antenna 56 and carried by the selected beam.

[0112] The power Pu of a “multi-path” type ray is obtained with the following equation: Pu = 30 . Pe Ge ∏ k = 1 N e j . k − 1 . π e j .2 πr k λ ∑ k = 1 N r k Or Π k = 1 N is the product operator for k ranging from 1 to N, N is the number of portions of the selected ray, r k is the length of the k-th portion of the selected ray, and Σ k = 1 N is the sum operator for k ranging from 1 to N.

[0113] As an optional addition, the loss model also considers a material associated with each obstacle part 57 on which the selected ray is reflected. In this case, an additional absorption is added to each reflection depending on the material of the obstacle part 57 on which the selected ray is reflected.

[0114] Optionally, the hard disk 40 further stores a display module 99 capable of generating an image of the environment in which a gray level or color scale is assigned to each control point Pc according to the network coverage determined by the second determination module 98.

[0115] The display module 99 is capable of sending, to the display screen 15, the image generated for its display to a user of the determination device 10.

[0116] The modules 55, 60, 62, 65, 67, 70, 75, 80, 85, 90, 95, 97, 98, 99 form, for example, a computer program suitable for being stored on an information medium.

[0117] The information medium is a medium readable by the processing unit 20. The readable information medium is a medium suitable for storing electronic instructions and capable of being coupled to a bus of a computer system.

[0118] For example, the information medium is a USB key, a floppy disk, an optical disk, a CD-ROM, a magneto-optical disk, a ROM memory, a RAM memory, an EPROM memory, an EEPROM memory, a magnetic card or an optical card.

[0119] The computer program including program instructions is stored on the information medium.

[0120] The computer program can be loaded onto the processing unit 20 and is adapted to cause the implementation of a method for determining network coverage, when the computer program is implemented on the processing unit 20. Such a determination method will be described in the remainder of the description.

[0121] According to a variant, each mesh surface 58 is divided into a predefined number of quadrants, each control point Pc belonging to one of the quadrants.

[0122] According to this variant, the first 75 and the second 85 storage modules are configured to further store, in their respective database, the quadrant associated with each control point Pc. Preferably, the temporary database and the cumulative database are ordered according to the quadrants. This makes it easier to preselection and selection of the preselection 80 and selection 90 modules.

[0123] The operation of the determination device 10 will now be described with reference to the figure 6 representing a flowchart of a process for determining network coverage.

[0124] The determination method comprises an obtaining step 110 during which the processor 25 obtains, from the user, the model of the environment. The model of the environment is preferably stored in the electronic disk 35.

[0125] The method further comprises a definition step 120 during which the processor 25 defines the mesh surface(s) 58 as described previously. Preferably, each mesh surface 58 is divided into the predefined number of quadrants, each control point Pc belonging to one of the quadrants.

[0126] The iteration number is initialized to the value 1.

[0127] The method further comprises a loading step 125, during which the graphics card 30 loads, into the video memory 50, the model of the environment and one of the mesh surfaces 58 defined during the definition step 120, via the execution of the loading module 62.

[0128] The method further comprises a first determination step 130, during which the graphics card 30 emits, via the execution of the first determination module 65, initial rays, in the model of the environment and according to the plurality of emission directions. i , ϕ , until overloading video memory 50.

[0129] Still during the first determination step 130, the graphics card 30 determines, via the execution of the first determination module 65, the trajectory of each initial ray emitted until, for said initial ray, one of the following two conditions is met: the number of reflections of the initial ray on obstacle parts 57 reaches the first threshold, and the initial ray reaches the loaded mesh surface 58.

[0130] Then, the method comprises a comparison step 140, for each control point Pc, during which the graphics card 30 verifies, via the execution of the first comparison module 67, whether the trajectory of one or more initial rays respects the constraint associated with the control point Pc. Preferably, the constraint is that the trajectory of the initial ray is such that the initial ray reaches a cell having said control point Pc as a vertex.

[0131] Then, the method comprises a calculation step 150, during which the graphics card 30 calculates, for each control point Pc and for each initial ray respecting the constraint associated with said control point Pc, the trajectory of a corresponding corrected ray RC as explained previously with reference to figures 3 to 5 . The graphics card 30 calculates in particular the corrected emission direction θ c , ϕcof each RC-corrected ray. Preferably, the graphics card 30 performs these calculations by executing the calculation module 70.

[0132] For some control points Pc and some initial rays respecting the constraint associated with the control point Pc, the trajectory of no corrected ray RC can be calculated.

[0133] Then, the method comprises a first storage step 155, during which the graphics card 30 stores, in the temporary database, the trajectories of the RC corrected rays calculated during the calculation step 150, preferably by executing the first storage module 75. The temporary database is for example located in the video memory 50.

[0134] Preferably, each corrected ray RC is stored in the temporary database according to the quadrant to which the control point Pc associated with said corrected ray RC belongs.

[0135] At the end of the first storage step 155, the temporary database includes, for each corrected ray RC, the corrected emission direction θ c , ϕc , and preferably the identifier of each part of obstacle 57 on which the corrected ray RC is reflected.

[0136] Then, the method comprises a preselection step 157, during which if the temporary database comprises several RC corrected rays including corrected emission directions θ c , ϕc are substantially identical, then the graphics card 30 preselects only one of said RC corrected rays, via the execution of the preselection module 80, as described previously.

[0137] Preferably, the preselection step 157 also takes into account the identifiers of the obstacle parts 57 on which the RC-corrected rays are reflected. Thus, the graphics card 30 only preselects a single RC-corrected ray from among the RC-corrected rays of the temporary database, having corrected emission directions. θ c , ϕc substantially identical and further reflecting on the same obstacle portions 57, as previously described.

[0138] Advantageously, the preselection step 157 is carried out successively for each quadrant stored in the temporary database.

[0139] The method further comprises a second storage step 160 during which the preselected rays are stored, by the processor 25, in the cumulative database, for example via the execution of the second storage module 85.

[0140] The cumulative database is for example ordered by quadrant.

[0141] The method further comprises a selection step 170 similar to the preselection step 157 but from the preselected rays of the cumulative database. The selection step 170 is preferably only of interest for iterations distinct from the first iteration. The selection step 170 is preferably implemented by the processor 25, via the execution of the selection module 90.

[0142] Thus, if the cumulative database is ordered by quadrant, the selection step 170 is performed in parallel, or successively, for each quadrant of the cumulative database.

[0143] According to a variant, the method does not include the first storage step 155, nor the preselection step 157. Thus, during the second storage step 160, all the RC corrected rays are stored in the cumulative database. During the selection step 170, the selected rays are therefore the RC corrected rays stored in the cumulative database. According to this variant, the storage steps 160 and selection steps 170 are of interest even for the first iteration.

[0144] The method further comprises a second comparison step 180, during which the processor 25 checks whether the criterion is met via the execution of the second comparison module 95. In other words, the processor 25 checks for example whether the ratio between the number of rays selected and the number of rays in the cumulative database is greater than the fourth threshold, and / or preferably whether the number of the current iteration is equal to the fifth threshold.

[0145] If not, then the iteration number is incremented, the temporary database is deleted, and the first determination step 130, the first comparison step 140, the calculation step 150, the first storage step 155, the preselection step 157, the second storage step 160, and the selection step 170 are repeated.

[0146] During the successive iteration(s), the emission directions i , ϕ initial rays are for example chosen to be substantially similar to the corrected emission directions θ c , ϕc selected rays from the cumulative database, while retaining a portion of randomness as described previously.

[0147] The cumulative database is common to all iterations since RAM 45 is not emptied.

[0148] If yes, then the method continues by moving to a third comparison step 185. In this case, the mesh surface 58 loaded during the loading step 130 is fully processed. The processor 25 preferentially moves the cumulative database into the electronic disk 35.

[0149] In the third comparison step 185, the processor 25 checks whether all the mesh surfaces 58 have been processed, via the execution of the third comparison module 97.

[0150] If not, the steps of loading 125, determining 130, comparing 140, calculating 150, storing 155, preselecting 157, storing 160, selecting 170, and comparing 180, as well as their potential reiterations, are repeated from the loading step 125 during which a new mesh surface 58 is loaded into the video memory 50.

[0151] If yes, then the electronic disk 35 comprises a cumulative database for each mesh surface 58 and the method proceeds to a second determination step 190. During the second determination step 190, the processor 25 determines the network coverage at each control point Pc by applying, to the selected radii of each cumulative database, the model of losses in the electromagnetic signals as described previously.

[0152] As an optional addition, the method then comprises a display step 195 during which the processor 25 generates, via the execution of the display module 99, the image of the environment described previously and sends it to the display screen 15 for its display to the user of the determination device 10.

[0153] According to a variant, all the steps of said method are executed by the processor 25, the video memory 50 then corresponding to a part of the RAM 45.

[0154] The determination method according to the present invention is therefore suitable for any type of environment, and in particular for large environments.

[0155] Furthermore, the structure of the determination method according to the invention makes it possible to parallelize the steps of loading 125, determination 130, comparison 140, calculation 150, storage 155, and preselection 157, on several graphics cards 30 placed in parallel. In particular, each mesh surface 58 can be processed simultaneously by parallel graphics cards 30.

Claims

1. - A method for determining a network coverage in at least one control point (Pc) comprised in an environment, the environment comprising at least one transmitting antenna (56) which transmits an electromagnetic signal, the method being implemented by an electronic determination device (10) and comprising the following steps - obtaining (110) a model of the environment, the model comprising obstacles suitable for reflecting the electromagnetic signal, the transmitting antenna (56) and the control point (Pc), each obstacle being formed by a plurality of parts of an obstacle (57), - determination (130) of a trajectory specific to each of a plurality of initial rays, each initial ray being transmitted from the transmitting antenna (56), in the model of the environment, along a respective direction of transmission (θ, ϕ), at least one of the plurality of initial rays being reflected on at least one part of obstacle (57), - for the or each initial ray the trajectory of which obeys a constraint associated with the or one of the control points (Pc), calculation (150) for the or one of said control points (Pc), of a trajectory of a corrected ray (RC) passing through said control point (Pc) and through the transmitting antenna (56), the trajectory of each corrected ray (RC) comprising a corrected direction of transmission (θc, ϕc) - storage (160) of the or at least part of the corrected rays (56) and the respective trajectory thereof in a cumulative database, - for each control point (Pc), if the cumulative database comprises a plurality of corrected rays, the corrected directions of transmission (θc, ϕc) of which are substantially identical, selection (170) of only one of said corrected rays (RC), and - determination (190) of the network coverage at the or each control point (Pc) by applying a loss model in electromagnetic signals to the selected rays of the cumulative database, the loss model depending on the number of selected rays reaching the control point (Pc), a length of the path of each selected ray, and a number of reflections in the path of each selected ray.

2. The method according to the preceding claim, comprising between the obtaining step (110) and the trajectory determination step (130): - a step (120) of defining a plurality of grid surfaces (58) in the environment, each grid surface (58) having a tiling of cells, each cell being delimited by a number N of sides and by N vertices, each vertex being a control point (Pc), and - a step of loading (125) a grid surface (58) among the grid surfaces during the calculation step (150), the constraint associated with each control point (Pc) being that the ray reaches a cell the vertex of which is said control point (Pc), the grid surfaces (58) being preferably flat, and if not, preferentially parallel to each other.

3. The method according to the preceding claim, wherein the steps of loading (130), of trajectory determination (130), of calculation of corrected ray(s) (150), of storage (160) and of selection (170) are iterated for each of the grid surfaces (58).

4. The method according to any of claims 2 and 3, wherein each grid surface (58) is divided into a predefined number of quadrants, each control point (Pc) belonging to one of the quadrants, during the storage step (160), the quadrant associated with the control point (Pc) of each corrected ray is also stored in the cumulative database, and the selection step (170) being performed in parallel, or successively, for each quadrant of the cumulative database.

5. - The method according to any of the preceding claims, wherein, for at least one initial ray complying with the constraint associated with the or one of the control points (Pc), no corresponding corrected ray (RC) connects the transmitting antenna (56) and said control point (Pc), during the calculation step (150), for this initial ray and for this control point (Pc), no corrected ray (RC) is then calculated.

6. - The method according to any preceding claim, wherein the steps of trajectory determination (130), of calculation of corrected ray(s) (170), of storage (160) and of selection (170) are iterated a plurality of times, the directions of transmission (θ, ϕ) of the initial rays emitted in the trajectory determination step (130) are distinct from one iteration to another, preferentially, the steps of trajectory determination (130), of calculation (150), of storage (160) and of selection (170) are iterated until a criterion is reached, the criterion being that: - the iteration number is equal to a threshold, and / or - a ratio between the number of rays selected in the selection step (170) and the number of rays in the cumulative database is greater than or equal to another threshold.

7. - The method according to any preceding claim, wherein the loss model is such that the network coverage at the or one of the control points (Pc) is equal to a sum of contributions, each contribution being associated with a selected ray of the cumulative database. each contribution being a power (Pu) of the selected ray, inversely proportional to the distance traveled by said selected ray from the transmitting antenna (56), and a function of the number of reflections of said selected ray on parts of an obstacle (57).

8. The method according to any of the preceding claims, wherein the electronic determination device (10) comprises at least one graphics card (30), the steps of trajectory determination (130) and of calculation (150) being implemented by the at least one graphics card (30).

9. - A computer program product including software instructions which, when executed by a computer, implement a determination method according to any of the preceding claims.

10. An electronic determination device (10) for determining a network coverage at, at least one control point (Pc) comprised in an environment, the environment comprising at least one transmitting antenna (56) which transmits an electromagnetic signal, the electronic determination device (10) comprising: - an obtaining module (55) suitable for obtaining a model of the environment, the model comprising obstacles apt to reflect the electromagnetic signal, the transmitting antenna (56) and the control point (Pc), each obstacle being formed by a plurality of parts of obstacle (57), - a first determination module (65) apt to determine a trajectory specific to each of a plurality of initial rays, each initial ray being transmitted from the transmitting antenna (56), in the model of the environment, along a respective direction of transmission (θ, ϕ), at least one of the pluralities of initial rays being reflected on at least one part of obstacle (57), - a calculation module (70) apt to calculate, for the or each initial ray the trajectory of which obeys a constraint associated with the or one of the control points (Pc), for the or one of said control points (Pc), of a trajectory of a corrected ray (RC) passing through said control point (Pc) and through the transmitting antenna (56), the trajectory of each corrected ray (RC) comprising a corrected direction of transmission (θc, ϕc), - a storage module (85) apt to store the or at least part of the corrected rays (56) and of the respective trajectory thereof in a cumulative database, - a selection module (90) apt to select, for each control point (Pc), if the cumulative database comprises a plurality of corrected rays, the corrected directions of transmission (θc, ϕc) of which are substantially identical, only one of said corrected rays (RC), and - a second determination module (98) apt to determine the network coverage at the or at each control point (Pc) by applying a loss model in electromagnetic signals to the selected rays of the cumulative database, the loss model depending on the number of selected rays reaching the control point (Pc), a length of the path of each selected ray, and a number of reflections in the path of each selected ray.