Method for determining network coverage at at least one control point within an environment, electrical determination device and associated computer program product

The method addresses scaling issues in determining network coverage by using an electronic device to model environments, calculate corrected ray trajectories, and apply a loss model, achieving accurate coverage determination in large areas through parallel processing.

FR3144475B1Active Publication Date: 2024-12-20THALES SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2022014533
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-27
Publication Date
2024-12-20
Estimated Expiration
2042-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 the need to test an infinite number of possibilities, which is impractical.

Method used

A method involving an electronic determination device that models the environment, determines initial and corrected ray trajectories, and calculates network coverage by applying a loss model based on selected rays reaching control points, using a graphics card for parallel processing and iterative refinement.

Benefits of technology

Enables accurate determination of network coverage in any environment, including large regions, by overcoming scaling problems and improving computational efficiency through parallel processing and iterative refinement of ray trajectories.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000026_0000
    Figure 00000026_0000
  • Figure 00000027_0000
    Figure 00000027_0000
  • Figure 00000028_0000
    Figure 00000028_0000
Patent Text Reader

Abstract

Method for determining network coverage at at least one control point within an environment, electronic determination device, and associated computer program output. The present invention relates to a method for determining network coverage at at least one control point within an environment. The method comprises obtaining (110) a model of the environment and determining (130) a path specific to each of a plurality of initial rays, each initial ray being emitted into the model of the environment. At least one of the plurality of initial rays is reflected off at least one obstacle in the environment. The method also comprises calculating (150) a path of corrected ray(s) passing through the control point, storing (160) the corrected rays, selecting (170) a portion of the stored corrected rays, and determining (190) the network coverage from the selected rays.Figure for the abbreviation: Figure 6.
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for determining network coverage at at least one control point included in an environment, associated electronic determination device and computer program product

[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 at any point in the environment, it is preferable 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] The network coverage at a point is notably influenced by the length of the path traveled by the electromagnetic signals from the transmitting antenna to this point.

[0007] Furthermore, in the context of an environment with obstacles, the electromagnetic signals are reflected on 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 on the obstacles.

[0008] Thus, it is known to model a trajectory of electromagnetic signals by rays respectively forming 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. It is then understood that several rays leaving the transmitting antenna are capable of reaching 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 it is desired to carry out a numerical determination of a network coverage in an environment, it is not possible to test all the points of the environment which would then represent an infinity 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 to 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 method of the state of the art therefore only makes it possible to determine the 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] The present invention therefore proposes a method for determining network coverage which applies to any type of environment.

[0019] 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 including obstacles capable of reflecting the electromagnetic signal, the transmitting antenna and the control point,

[0020] each obstacle being formed from a plurality of obstacle parts, - determination of a trajectory specific to each of a plurality of initial rays, each initial ray being emitted from the transmitting antenna, in the model of the environment, according to a respective emission direction, at at least one of the plurality of initial rays being reflected on at least one portion of the obstacle, - for the or each initial ray whose trajectory respects a constraint associated with the or one of the control points, calculation for the or one of said control points, of a trajectory of a corrected ray passing through said control point and through the transmitting antenna,

[0021] the trajectory of each corrected ray comprising a corrected emission direction, - storage of one or at least part of the corrected rays and their respective trajectories, in a cumulative database, - for each control point, if the cumulative database includes several corrected rays whose corrected emission directions are substantially identical, selection of only one of said corrected rays, and - determination of network coverage at or at each control point by applying, to the selected radii of the cumulative database, a model of losses in electromagnetic signals,

[0022] 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.

[0023] Thanks to the calculation of corrected ray trajectories, it is possible to overcome the scaling problems inherent in the state-of-the-art method.

[0024] 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 mesh surfaces in the environment, each mesh 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 mesh surface among the mesh surfaces

[0025] 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,

[0026] the mesh surfaces being preferably flat and preferably still parallel to each other; - the steps of loading, determination of trajectories, calculation of corrected radius(es), storage and selection are iterated for each of the mesh surfaces; each mesh surface is divided into a predefined number of quadrants, each control point belonging to one of the quadrants,

[0027] during the storage step, the quadrant associated with the control point of each corrected ray also being stored in the cumulative database, and

[0028] 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,

[0029] during the calculation step, for this initial radius and for this control point, no corrected radius is then calculated; the steps of determining trajectories, calculating corrected radius(es), storing and selecting are iterated several times,

[0030] the emission directions of the initial rays emitted during the trajectory determination step being distinct from one iteration to another,

[0031] preferably, the steps of determining trajectories, calculating, storing and selecting are iterated until a criterion is reached,

[0032] 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 or at one of the control points is equal to a sum of contributions, each contribution being associated with a selected radius from the cumulative database,

[0033] 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).

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

[0035] 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 transmitting a electromagnetic signal, the electronic determination device comprising: - an obtaining module capable of obtaining a model of the environment, the model comprising obstacles capable of reflecting the electromagnetic signal, the transmitting antenna and the control point,

[0036] each obstacle being formed from a plurality of obstacle parts, - a first determination module capable of determining a trajectory specific to each of a plurality of initial rays, each initial ray being emitted from the transmitting antenna, in the model of the environment, in a respective emission direction, at least one of the plurality of initial rays being reflected on at least one part of the obstacle, - a calculation module capable of calculating, for the or each initial ray whose trajectory respects 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,

[0037] 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 capable of determining the network coverage at or at each control point by applying, to the selected radii of the cumulative database, a model of losses in the electromagnetic signals,

[0038] 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.

[0039] Other characteristics and advantages of the invention will appear on reading the following description of embodiments of the invention, given by way of example only and with reference to the drawings which are: - [Fig.l] [Fig.l] is a schematic view of an electronic determination device according to the invention; - [Fig.2] [Fig.2] is an explanatory diagram of a step implemented by the electronic device for determining [Fig.l]; - [Fig.3] [Fig.3] is an explanatory diagram of a step implemented by the electronic device for determining [Fig.l]; - [Fig.4] [Fig.4] is an explanatory diagram of a step implemented by the electronic device for determining [Fig.l]; - [Fig.5] [Fig.5] is an explanatory diagram of a step implemented by the electronic device for determining [Fig.l]; and - [Fig.6] [Fig.6] is a flowchart of a determination process implemented implemented by the electronic device of [Fig.l].

[0040] In [Fig.l] is shown an electronic device 10 for determining network coverage at at least one control point Pc included in an environment.

[0041] As shown in [Fig.l], the determination device 10 comprises for example a display screen 15 and a processing unit 20.

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

[0043] 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.

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

[0045] The graphics card 30, also called GPU (Graphics Processing Unit), is also capable of implementing software functions. Preferably, the graphics card 30 comprises a video memory 50, also called VRAM (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.

[0046] The electronic disk 35, also called SSD (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.

[0047] 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 kept in memory unlike those present in the RAM 45 and in the memory video 50.

[0048] 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.

[0049] The hard disk 40, also called HD disk (from the English Hard Drive) is a physical disk suitable for storing, non-transitorily, 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.

[0050] 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.

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

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

[0053] 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.

[0054] Each of the infrastructures therefore forms an obstacle capable of partially reflecting, and partially absorbing, all electromagnetic signals which reach it. The environment preferably further comprises a ground and a transmitting antenna 56 visible in [Fig.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.

[0055] “Electromagnetic signal” means electromagnetic radiation.

[0056] In the environment model, each obstacle is formed from a plurality of obstacle parts 57 contiguous to each other. 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 comprising three vertices respectively. 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.

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

[0058] 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.

[0059] The mesh surface 58 is for example a plane. According to one example the plane is horizontal. Alternatively, the plane is vertical.

[0060] According to 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.

[0061] 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.

[0062] 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.

[0063] 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.

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

[0065] 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.

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

[0067] The first determination module 65 is capable of determining a specific trajectory 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 suitable for being executed by the graphics card 30.

[0068] 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 6, $ which is specific to it.

[0069] The emission direction 9 is defined in spherical coordinates by a first angle 9 and a second angle ¢.

[0070] The emission directions 9, ÿ are preferably distinct from one ray to another. The first determination module 65 is for example capable of randomly determining each emission direction 9,(1) from a seed from the graphics card 30, at a given time.

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

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

[0073] 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.

[0074] 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.

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

[0076] 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 $ 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 capable of calculating the trajectory of the second portion of ray d2 as substantially rectilinear from the first obstacle part 57 along the first reflection direction dri, $rV for example to a second obstacle part 57 encountered by the initial ray. The first determination module 65 is capable of iterating the calculation of the angle of incidence, the reflection direction 6r, ¢r and the trajectory for each obstacle part 57 encountered by the initial ray.

[0077] A trajectory of an initial ray reaching the mesh surface 58 is shown in [Fig. 2]. In [Fig. 2], the mesh surface 58 is shown as a vertical plane. Alternatively, the mesh surface 58 is a horizontal plane.

[0078] In particular, as visible in Figure 2, the initial ray is emitted along the emission direction 0, ÿ 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 ray position d4. The fourth obstacle portion d4 reaches the meshed 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 in [Fig.2].

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

[0080] 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 random emission directions 0, ¢, all possible emission directions 0, 0 are substantially uniformly discretized.

[0081] The first determination module 65 is furthermore capable of emitting initial rays according to chosen emission directions 6,( / ), as will be described later.

[0082] 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.

[0083] 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.

[0084] 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.

[0085] 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.

[0086] The calculation of the trajectory of an RC corrected ray is illustrated in Figures 3 to 5.

[0087] With reference to [Fig.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 dl, 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.

[0088] The calculation module 70 is capable of measuring the angle a 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.

[0089] 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 in [Fig.4]. The test ray RT is emitted, from said control point Pc, in the direction of the fictional emission point PE.

[0090] With reference to [Fig.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.

[0091] According to the example shown in [Fig.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 it passes close to the transmitting antenna 56.

[0092] In the example of [Fig.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.

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

[0094] To distinguish 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.

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

[0096] 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.

[0097] 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 ray RC according to a corrected emission direction #c, $c. The corrected emission direction 0c, $ is equal to the emission direction 9, ÿ of the initial ray, modified by an angle equal to the angle a previously measured.

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

[0099] Due to numerical approximations, the corrected ray RC does not perfectly reach the control point Pc. Determining the corrected emission direction 0c, however, 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.

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

[0101] 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 0c, <PC dudit rayon corrigé RC.

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

[0103] In the example according to 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.

[0104] The temporary database is preferably 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.

[0105] 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 comprises several corrected rays RC whose corrected emission directions 9C are substantially identical, i.e. whose corrected emission angles 6e, , are identical apart from a difference less than a third threshold, preselecting only one of said corrected rays RC. For example, the preselected ray is the one whose distance to the control point Pc is the smallest.

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

[0107] Preferably, the preselection module 80 is capable of, if the temporary database comprises several RC corrected rays whose corrected emission directions 6C are substantially identical, and in addition whose respective trajectory is reflected on the same obstacle parts 57, preselecting only one of said RC corrected rays.

[0108] It is then understood that the preselected RC corrected rays correspond to a reduced number of RC corrected rays stored in the temporary database.

[0109] 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.

[0110] The hard disk 40 further stores a selection module 90 suitable for, if the cumulative database comprises several preselected rays whose corrected emission directions 9C are substantially identical, i.e. identical apart from a difference less than the third threshold, selecting only one of the preselected rays, preferably the one whose distance to the control point Pc considered is the shortest.

[0111] Preferably, the selection module 90 is capable of, if the cumulative database comprises several preselected rays whose emission directions 0c are substantially identical, and furthermore whose respective trajectory is reflected on the same obstacle parts 57, selecting only one of said preselected rays as described previously.

[0112] As a variant, 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 corrected RC rays calculated by the calculation module 70. The selection module 90 is then capable of selecting corrected RC rays and not preselected rays.

[0113] 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.

[0114] The comparison module 95 is capable of, if said ratio is greater than the fourth threshold, controlling 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.

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

[0116] Preferably, during a new iteration, the first determination module 65 is capable of emitting initial rays according to emission directions 0, ¢ determined randomly from a seed specific to the iteration. As a variant, the emission directions 0, 0 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.

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

[0118] 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.

[0119] 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.

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

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

[0122] 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.

[0123] 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.

[0124] 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.

[0125] For example, the power Pu of a ray of the “direct path” type is obtained with the following equation:

[0126] [Math.l] Pu = s^GPeGe^-

[0127] where Pe is the signal power at the transmitting antenna 56,

[0128] Ge is a gain of the transmitting antenna 56, the gain Ge is specific to depend on the corrected emission direction 0c, on the selected radius,

[0129] J is the complex number,

[0130] 7 is the length of the selected ray, and

[0131] 2 is the wavelength of the signal emitted by the transmitting antenna 56 and carried by the selected radius.

[0132] The power Pu of a “multi-path” type ray is obtained with the equation next:

[0133] [Math.2] i------------------n? , el '■kI ] Pu = J3Q. Pe Ge- - ................-

[0134] where rrïV is the product operator for k ranging from 1 to N, 14=i

[0135] N is the number of portions of the selected ray,

[0136] } k is the length of the k-th portion of the selected ray, and

[0137] y;V is the sum operator for k ranging from 1 to N.

[0138] As an optional addition, the loss model also takes into account a material associated with each obstacle portion 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 portion 57 on which the selected ray is reflected.

[0139] 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 as a function of the network coverage determined by the second determination module 98.

[0140] 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.

[0141] 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.

[0142] 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.

[0143] For example, the information medium is a USB key, a floppy disk or flexible disk (from the English name "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.

[0144] The computer program comprising program instructions is stored on the information medium.

[0145] 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.

[0146] 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.

[0147] 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 possible to facilitate the preselection and selection of the preselection 80 and selection 90 modules.

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

[0149] 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.

[0150] 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.

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

[0152] The method further comprises a loading step 125, during which the card graphics 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.

[0153] 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 B, ¢, until the video memory 50 is overloaded.

[0154] 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 fulfilled: - the number of reflections of the initial ray on parts of obstacle 57 reaches the first threshold, and - the initial ray reaches the loaded mesh surface 58.

[0155] 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 vertex.

[0156] 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 FIGS. 3 to 5. The graphics card 30 calculates in particular the corrected emission direction 0c, of each corrected ray RC. Preferably, the graphics card 30 performs these calculations by executing the calculation module 70.

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

[0158] 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.

[0159] 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.

[0160] At the end of the first storage step 155, the temporary database comprises, for each corrected ray RC, the corrected emission direction 6C, (J), and preferably the identifier of each obstacle part 57 on which the corrected ray RC is reflected.

[0161] Then, the method comprises a preselection step 157, during which if the temporary database comprises several RC corrected rays whose corrected emission directions 0c 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.

[0162] 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 preselects only a single RC-corrected ray from among the RC-corrected rays of the temporary database, having substantially identical corrected emission directions 0c, $ and furthermore reflecting on the same obstacle parts 57, as described previously.

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

[0164] 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.

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

[0166] The method further comprises a selection step 170 similar to the preselection step 157 but from the preselected radii 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.

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

[0168] 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.

[0169] 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.

[0170] 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.

[0171] During the successive iteration(s), the emission directions 9, ÿ of the initial rays are for example chosen to be substantially similar to the corrected emission directions 9C, of ​​the rays selected from the cumulative database, while retaining a portion of randomness as described previously.

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

[0173] 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.

[0174] During the third comparison step 185, the processor 25 checks whether all the 58 mesh surfaces were processed, via the execution of the third comparison module 97.

[0175] 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.

[0176] 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.

[0177] 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.

[0178] 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.

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

[0180] 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. Claims Method for determining network coverage at at least one control point (Pc) included in an environment, the environment comprising at least one antenna (56) transmitting 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 capable of reflecting the electromagnetic signal, the transmitting antenna (56) and the control point (Pc), each obstacle being formed from a plurality of obstacle parts (57), - determination (130) of a trajectory specific to each of a plurality of initial rays, each initial ray being emitted from the transmitting antenna (56), in the model of the environment, according to a respective emission direction (0, 0), at least one of the plurality of initial rays being reflected on at least one part of the obstacle (57), - for the or each initial ray whose trajectory respects 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) including a corrected emission direction (6C, - storage (160) of the or at least part of the corrected rays (56) and their respective trajectory, in a cumulative database, - for each control point (Pc), if the cumulative database includes several corrected rays whose corrected emission directions (Bc, are substantially identical, selection (170) of only one of said corrected rays (RC), and - determination (190) of 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 depending on the number of selected rays reaching the control point (Pc), a length of the trajectory of each selected ray and a number of reflections in the trajectory of each selected ray.

2. Method according to the preceding claim, comprising between the step of obtaining (110) and the step (130) of determining trajectories: - a step (120) of defining several mesh surfaces (58) in the environment, each mesh 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 mesh surface (58) among the mesh surfaces during the calculation step (150), the constraint associated with each control point (Pc) being that the ray reaches a cell of which a vertex is said control point (Pc), the mesh surfaces (58) preferably being planar and preferably still parallel to each other.

3. Method according to the preceding claim, in which the steps of loading (130), determining trajectories (130), calculating corrected ray(s) (150), storing (160) and selecting (170) are iterated for each of the mesh surfaces (58).

4. Method according to any one of claims 2 and 3, in which each mesh 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 also being stored in the cumulative database, and the selection step (170) being carried out in parallel, or successively, for each quadrant of the cumulative database.

5. A method according to any preceding claim, in which, for at least one initial ray respecting 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) then being calculated.

6. Method according to any one of the preceding claims, in which the steps of determining trajectories (130), calculating corrected ray(s) (170), storing (160) and selecting (170) are iterated several times, the emission directions (0, ÿ) of the initial rays emitted during the step of determining trajectories (130) being distinct from one iteration to another, preferably, the steps of determining trajectories (130), calculating (150), storing (160) and selecting (170) 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 (170) and the number of rays in the cumulative database is greater than or equal to another threshold.

7. A 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 from 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 obstacle parts (57).

8. Method according to any one of the preceding claims, in which the electronic determination device (10) comprises at least one graphics card (30), the steps of determining trajectories (130) and of calculating (150) being implemented by the graphics card(s) (30).

9. Computer program product comprising software instructions, which when executed by a computer, implement a determination method according to any one of the preceding claims.

10. Electronic device (10) for determining network coverage at at least one control point (Pc) included in an environment, the environment comprising at least one antenna (56) transmitting an electromagnetic signal, the electronic determination device (10) comprising: - an obtaining module (55) capable of obtaining a model of the environment, the model comprising obstacles capable of reflecting the electromagnetic signal, the transmitting antenna (56) and the control point (Pc), each obstacle being formed from a plurality of obstacle parts (57), - a first determination module (65) capable of determining a trajectory specific to each of a plurality of initial rays, each initial ray being emitted from the transmitting antenna (56), in the model of the environment, in a respective emission direction (0, ¢), at least one of the plurality of initial rays being reflected on at least one part of the obstacle (57), - a calculation module (70) capable of calculating, for the or each initial ray whose trajectory respects a constraint associated with the or one of the control points (Pc), for the or one of said control points (Pc), 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) including a corrected emission direction (dc, - a storage module (85) capable of storing the or at least part of the corrected rays (56) and their respective trajectory, in a cumulative database, - a selection module (90) capable of selecting, for each control point (Pc), whether the cumulative database includes several corrected rays including directions corrected emission (dc, are substantially identical, only one of said corrected rays (RC), and - a second determination module (98) capable of determining the network coverage at or at each control point (Pc) by applying, to the selected radii of 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 (Pc), a length of the path of each selected ray and a number of reflections in the path of each selected ray.