Method and system for estimating geometrical metrics between devices

WO2026176041A1PCT designated stage Publication Date: 2026-08-27RIVIERAWAVES
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2026/054667
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-20
Filing Date
2026-02-20
Publication Date
2026-08-27

Smart Images

  • Figure EP2026054667_27082026_PF_FP_ABST
    Figure EP2026054667_27082026_PF_FP_ABST
Patent Text Reader

Abstract

A method (100) for estimating geometrical metrics between two radio signal transceivers (210, 220) using phase-based measurements and coherence group processing. The method involves acquiring measurement results from both transceivers (210, 220), defining coherence groups based on time synchronization or antenna pairing, constructing a grid of candidate metric values, applying a deflation loop to each value, and repeating the process until a stopping criterion is met to determine the corresponding geometrical metric value.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] “Method and System for Estimating Geometrical Metrics between Devices”

[0002] Introduction

[0003] The present invention relates to the technical field of wireless communication and more specifically, to a method for estimating geometrical metrics between devices.

[0004] Background

[0005] Bluetooth Low Energy (BLE) technology has gained significant popularity due to its low power consumption and ease of use in various applications, including proximity sensing and location tracking. One important feature of BLE is the Channel Sounding procedure, which enables distance estimation between two devices supporting this functionality. This process involves a series of steps, resulting in specific sets of measurements on each device based on their roles as initiator or reflector and the type of step.

[0006] The measurements obtained during the Channel Sounding procedure can be categorized into three types: time (between transmission and reception, ToA_ToD, or reception and transmission, ToD_ToA), phase, and frequency. Frequency measurements are utilized to synchronize devices and provide intermediate data for the protocol layer. However, due to the narrowband nature of BLE signals, ToA / ToD-based measurements cannot achieve the desired distance estimation accuracy, typically around 50 centimeters.

[0007] The reliance on ToA / ToD measurements for distance estimation in BLE systems presents several challenges. Firstly, the limited bandwidth of BLE signals makes it difficult to achieve high-precision time measurements, leading to inaccuracies in distance estimation. Secondly, the susceptibility ofToA / ToD measurements to multi-path effects and clock drift further complicates the process, resulting in additional errors. Though time-based measurements are useful for ambiguity resolving and security considerations, their limitations create a need for an alternative approach that can provide more accurate distance estimation using BLE technology, which is the main purpose of phase-based measurements. It is therefore an objective of the present invention to partially overcome the limitations of the current state-of-the-art.

[0008] For example, the prior art document Boer Pepijn et al., “Performance of High-Accuracy Phase-Based Ranging in Multipath Environments”, 2020 IEEE 91st Vehicular Technology Conference (VTC2020-Spring), IEEE, 25 May 2020, pages 1-5) discloses performance analysis of high-accuracy phasebased ranging techniques in multipath environments.

[0009] Summary

[0010] The present technology has been designed to overcome at least some drawbacks present in prior art solutions.

[0011] According to an embodiment, the present invention refers to a method for estimating geometrical metrics between two radio signal transceivers using phase-based measurements and coherence group processings. The method is designed to be executed by at least one radio signal processing system comprising both the first and second radio signal transceivers.

[0012] The method begins with the first radio signal transceiver acquiring a set of measurement results, which includes 2-way frequency responses for a predetermined list of frequencies. Each 2-way frequency response consists of vectors of complex-valued data. The first radio signal transceiver then defines a coherence group, which can include measurements taken at the same time frame, during the same application, or from the same pair of antennas. Preferably, the first radio signal transceiver then defines a partition of all the measurements into one or more coherence groups, each coherence group including measurements taken at the same time frame, during the same application, or from the same pair of antennas.

[0013] Next, the first radio signal processing unit constructs a grid of candidate geometrical metric values and applies a deflation loop, also called an iterative process, to each value in the grid, i.e. each point in the grid. The deflation loop involves computing pseudo-spectra using coherence group-wise correlations and / or scalar products and finding the maximum correlation. The contribution of the candidate geometrical metric value is then estimated, and new input data is generated by removing this contribution from the original input data, i.e. the contribution of the candidate geometrical metric value with maximum correlation is then estimated, and new input data is generated by removing this contribution from the original input data. This process is repeated until a stopping criterion is met, at which point the candidate geometrical metric value corresponds to the actual geometrical metric, i.e. At which point the final geometrical metric estimate is derived from the ones selected during all iterations.

[0014] According to an embodiment, the present invention relates to a method for estimating a geometrical metric between a first radio signal transceiver and a second radio signal transceiver, using phase-based measurements and coherence group processing, the method being configured to be executed by a radio signal processing system comprising the first radio signal transceiver and the second radio signal transceiver, the method comprising the following steps:

[0015] a) Acquiring, by the first radio signal transceiver, a first set of measurement results (PCT), the first set of measurement results (PCT) comprising a set of 2-way frequency responses, the set of 2- way frequency responses comprising a measured 2-way frequency response for each frequency of a predetermined list of frequencies, each of these 2-way frequency responses comprising vectors of complex-valued data;

[0016] b) Defining, by a processing unit of the first radio signal transceiver, at least one set of coherence groups, preferably at least one set of at least one coherence group, each coherence group of this set of coherence group comprising at least one subset of the first set of measurement results (PCT), preferably the coherence groups constitute a partition of the set of measurement results, each subset of the first set of measurement results comprising:

[0017] • Results of measurements taken at the same time frame; and / or

[0018] • Results of measurements taken during the same application running on at least one among said first radio signal transceiver and said second radio signal transceiver; and / or

[0019] • Results of measurements taken when at least one radio signal transceiver among said first radio signal transceiver and said second radio signal transceiver is stationary or moving at a certain speed regarding the at least another radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver; and / or

[0020] • Results of measurements from the same pair of antennas, preferably one from each radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver;

[0021] c) Constructing, by the processing unit of the first radio signal transceiver, a grid of candidate geometrical metric values;

[0022] d) Selecting input data, said input data comprising the first set of measurement results (PCT); e) Applying a deflation loop, i.e. also called an iterative process, on the first set of measurement results (PCT), by the processing unit of the first radio signal transceiver, the application of a deflation loop comprising:

[0023] i. Computing a pseudo-spectrum indexed by the geometrical metric values in the grid, using scalar products, preferably made group per group; and

[0024] ii. Finding the geometrical metric value corresponding to the pseudo-spectrum maximum; and Hi. Estimating the contribution of this candidate geometrical metric value, preferably to the current set of measurement; and

[0025] iv. Generating new input data by removing the estimated contribution from the input data; v. Repeating steps i to iv on the new input data until a stopping criterion is met.f) when the stopping criterion is met, the final estimated geometrical metric value is selected among the set of candidate geometrical values, i.e. the set of candidate geometrical values selected during the deflation loop.

[0026] According to an embodiment, the present invention relates to a method for estimating geometrical metrics between two radio signal transceivers using phase-based measurements and coherence group processing. This method is designed to be executed by at least one radio signal processing system that comprises both the initiator and second radio signal transceivers.

[0027] The first step in this method involves acquiring a set of measurement results, referred to as PCT, by the first radio signal transceiver. This set includes multiple 2-way frequency responses, each comprising vectors of complex-valued data for various frequencies from a predetermined list. Coherence groups are then defined using at least one processing unit of the first radio signal transceiver. These coherence groups consist of specific combinations, i.e. sets, of measurement results, such as those taken at the same time frame, during the same application, or when the radio signal transceivers are stationary or moving relative to each other. Measured data from the same pair of antennas can also be included in a coherence group. And measured data from different pairs of antennas may also be included in separate coherence groups.

[0028] The method proceeds by constructing a grid of candidate geometrical metric values using the processing unit of the first radio signal transceiver. Input data, which includes the first set of measurement results (PCT), is then selected for each iteration of the deflation loop, in particular the set of measurement results (PCT) is modified at each iteration. Within this loop, at least one pseudospectrum is computed using coherence group-wise correlations and / or scalar products. The maximum correlation is found, and the contribution of this candidate geometrical metric value is estimated based on this correlation. New input data is generated by removing the estimated contribution from the previous input data, and the process is repeated until a stopping criterion is met. The use of coherence groups and incoherent sums over coherence groups of scalar products within coherence groups results in improved robustness to channel variations during the procedure duration. This is because the method averages out the effects of these channel variations across multiple measurements within a coherence group, leading to more accurate geometrical metric estimations. Simplified computations are another advantage of this method. Unlike other methods that require complex algebraic computations like eigenanalysis for pseudo-spectrum calculation or handling multipath issues, the present invention employs a more straightforward approach using coherence group-wise correlations and scalar products. This reduces the overall complexity of the algorithm compared to more complex methods such as the MUSIC method or SVM.

[0029] Furthermore, the method's efficiency may be enhanced through the use of a 2-steps (coarse / fine) approach for contribution estimation. In the coarse step, a large number of candidate geometrical metric values are estimated using a fast algorithm. In the fine step, the most promising candidates are further refined to provide more accurate estimates, or these estimated values are refined basedon second order modeling fitting using peak neighbor values. This two-step process allows for faster convergence and more precise results.

[0030] According to an embodiment, the present invention relates also to a method for estimating a geometrical metric between a first radio signal transceiver and a second radio signal transceiver, using phase-based measurements and coherence group processing, the method comprising the following steps:

[0031] a) Acquiring a first set of measurement results (PCT), the first set of measurement results (PCT) comprising a set of 2-way frequency responses, the set of 2 -way frequency responses comprising a measured 2-way frequency response for each frequency of a predetermined list of frequencies, each of these 2-way frequency responses comprising vectors of complex-valued data;

[0032] b) Defining at least one set of coherence groups, each coherence group of this set of coherence group comprising at least one subset of the first set of measurement results (PCT), each subset of the first set of measurement results comprising:

[0033] • Results of measurements taken at the same time frame; and / or

[0034] • Results of measurements taken during the same application running on at least one among said first radio signal transceiver and said second radio signal transceiver; and / or

[0035] • Results of measurements taken when at least one radio signal transceiver among said first radio signal transceiver and said second radio signal transceiver is stationary or moving at a certain speed regarding the at least another radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver; and / or

[0036] • Results of measurements from the same pair of antennas, preferably one from each radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver;

[0037] c) Constructing a grid of candidate geometrical metric values;

[0038] d) Selecting input data, said input data comprising the first set of measurement results (PCT); e) Applying a deflation loop on the first set of measurement results (PCT) the application of a deflation loop comprising:

[0039] i. Computing a pseudo-spectrum indexed by the geometrical metric values in the grid, using scalar products, preferably made group per group; and

[0040] ii. Finding the geometrical metric value corresponding to the pseudo-spectrum maximum; and Hi. Estimating the contribution of this candidate geometrical metric value; and

[0041] iv. Generating new input data by removing the estimated contribution from the input data; v. Repeating steps i to iv on the new input data until a stopping criterion is met;

[0042] f) when the stopping criterion is met, the final estimated geometrical metric value is selected among the set of candidate geometrical values.According to an embodiment, the present invention relates to a computer program designed for estimating geometrical metrics between two radio signal transceivers, specifically an initiator and a reflector. This software, when executed by at least one processing unit, implements methods for calculating these metrics based on any of the previously claimed techniques.

[0043] In more detail, this embodiment encompasses a computer product program that performs the function of estimating geometrical distances or angles between two radio transceivers. The first and second transceivers are capable of transmitting and receiving radio signals respectively, but preferably not in the same order. The software, when executed by a processing unit, implements algorithms to determine the metric based on received signal data from both transceivers. This estimation is crucial for various applications such as localization, navigation, or communication systems that rely on accurate distance measurements between radio transceivers.

[0044] According to an embodiment, the present invention relates to a computer product program for estimating at least one geometrical metric between a first radio signal transceiver and a second radio signal transceiver which, when executed by at least one processing unit, executes the method (100) according to any of the previous claims.

[0045] According to another aspect, the present invention relates to a computer-readable storage medium storing instructions that enable a processing unit to execute specific functions upon being read and executed. In more detail, this embodiment involves a non-transitory memory device, such as a hard disk, solid-state drive, or compact disc, comprising program instructions. Upon execution by a processing unit, these instructions cause a processing unit to carry out the steps defined by the present invention. By providing a computer-readable storage medium with the necessary instructions, the present invention enables the implementation and execution of these methods on different processing units.

[0046] According to another aspect, the present invention relates to a computer-readable storage medium storing instructions that, upon being executed by a processing system, cause the processing system to perform the steps of the present invention.

[0047] According to an embodiment, the present invention pertains to a radio signal transceiver, specifically an initiator type, designed for wireless communication with second radio signal transmitters. This device encompasses three primary components: a wireless communication unit, a memory unit, and a processing unit.

[0048] The wireless communication unit is responsible for sending and receiving data to at least one second radio signal transceiver. It facilitates the exchange of information between the initiator and reflector devices through radio waves.

[0049] The memory unit is configured to store data used for the operation of the device. This may include program instructions, configuration settings, or other relevant data.

[0050] The processing unit executes a computer program stored in the memory unit. The execution of this program enables the first radio signal transceiver or the second radio signal transceiver to perform various functions and tasks as required by its intended application.According to an embodiment, the present invention relates to a first radio signal transceiver comprising:

[0051] • A wireless communication unit configured to send and receive data to a second radio signal transceiver;

[0052] • A memory unit configured to store data and a computer product program according to the present invention;

[0053] • A processing unit configured to execute the computer product program.

[0054] According to an embodiment, the present invention pertains to a radio signal transceiver system, specifically a first radio signal transceiver. This transceiver includes a wireless communication unit that is capable of sending and receiving data to at least one second radio signal transceiver. The inclusion of this feature enables effective two-way communication between the initiator and reflector transceivers, thereby enhancing the reliability and efficiency of the system.

[0055] Furthermore, the inventive first radio signal transceiver comprises a memory unit configured to store data. This feature allows for the storage and retrieval of essential information within the transceiver itself, reducing the need for external data sources and increasing the self-sufficiency of the device. Additionally, the memory unit can accommodate at least one computer product program, expanding the functionality of the transceiver by enabling it to run custom software applications.

[0056] Lastly, the first radio signal transceiver incorporates a processing unit that is configured to execute the stored computer product program. This feature enables the transceiver to perform complex computations and tasks based on the instructions provided by the software, thereby expanding its capabilities beyond simple data transmission and reception.

[0057] According to an embodiment, the present invention refers to a radio signal processing system for estimating geometrical metrics between two transceivers using phase-based measurements and coherence group processing.

[0058] The system comprises a first radio signal transceiver and a second radio signal transceiver. The first radio signal transceiver includes a wireless communication unit, a memory unit, and a processing unit. The wireless communication unit is configured to send and receive data to the second radio signal transceiver. The memory unit stores data and at least one computer program. The processing unit acquires a set of measurement results, defines coherence groups, constructs a grid of candidate geometrical metric values, selects input data, applies a deflation loop for candidate values in the grid, and generates new input data based on the estimated contribution of the candidate value. This process is repeated until a stopping criterion is met.

[0059] The second radio signal transceiver includes a wireless communication unit, a memory unit, and a processing unit. The wireless communication unit sends and receives data to the first radio signal transceiver. The memory unit stores data and instructions. The processing unit executes the instructions received from the first radio signal transceiver.The system is configured to use phase-based measurements and coherence group processing to estimate geometrical metrics between the two transceivers. The deflation loop involves computing pseudo-spectra using coherence group-wise correlations and / or scalar products, finding the maximum correlation, estimating the contribution of each candidate value, and generating new input data based on the estimated contribution. This process is repeated until a stopping criterion is met to determine the geometrical metric value.

[0060] According to an embodiment, the present invention relates to a radio signal processing system for estimating a geometrical metric between a first radio signal transceiver and a second radio signal transceiver using phase-based measurements and coherence group processing, the system comprising:

[0061] a) A first radio signal transceiver, the first radio signal transceiver comprising:

[0062] A wireless communication unit, the wireless communication unit being configured to send and receive data to a second radio signal transceiver;

[0063] A memory unit, the memory unit being configured to store data and a computer product program ;

[0064] A processing unit, the processing unit being configured to:

[0065] ■ Acquire at least one first set of measurement results;

[0066] ■ Define at least one coherence group;

[0067] ■ Construct at least one grid of candidate geometrical metric values;

[0068] ■ Select input data, the input data comprising the first set of measurement results; ■ Applying a deflation loop on the first set of measurement results (PCT), by the processing unit of the initiator radio signal transceiver, the application of a deflation loop comprising:

[0069] i. Computing a pseudo-spectrum indexed by the geometrical metric values in the grid, using scalar products, preferably made group per group; and

[0070] ii. Finding the geometrical metric value corresponding to the pseudo-spectrum maximum; and

[0071] Hi. Estimating the contribution of this candidate geometrical metric value; and iv. Generating new input data by removing the estimated contribution from the input data;

[0072] v. Repeating steps i to iv on the new input data until a stopping criterion is met. b) The second radio signal transceiver, the second radio signal transceiver comprising:

[0073] A wireless communication unit, the wireless communication unit being configured to send and receive data to the first radio signal transceiver;

[0074] A memory unit, the memory unit being configured to store data and instructions;

[0075] A processing unit, the processing unit being configured to execute instructions.

[0076] According to an embodiment, the present invention relates to a radio signal processing system designed to estimate geometrical metrics between a first radio signal transceiver and a second radiosignal transceiver through phase-based measurements and coherence group processing. This system comprises a first radio signal transceiver and a second radio signal transceiver, each equipped with essential components for data communication and processing.

[0077] The first radio signal transceiver includes a wireless communication unit responsible for sending and receiving data to the second radio signal transceiver. Additionally, it has a memory unit for storing data and at least one computer program, and a processing unit that performs various tasks. The processing unit acquires a set of measurement results, defines coherence groups, constructs grids of candidate geometrical metric values, selects input data, applies deflation loops to each candidate value, and generates new input data based on the estimated contributions.

[0078] The technical advantage of using phase-based measurements lies in its ability to provide accurate information about the phase difference between transmitted and reflected signals, which is crucial for estimating geometrical metrics. Coherence group processing, on the other hand, allows for efficient handling of large data sets by grouping similar data points together, reducing computational complexity and improving processing speed. The deflation loop process involves computing pseudospectra using coherence group-wise correlations and / or scalar products to find the maximum correlation between candidate geometrical metric values and input data. This method helps in estimating the contribution of each candidate value, which is then used to generate new input data for further processing. Repeating this process until a stopping criterion is met ensures that the estimated candidate value corresponds to the actual geometrical metric.

[0079] The second radio signal transceiver also includes essential components such as a wireless communication unit, a memory unit, and a processing unit. Its processing unit executes instructions received from the first radio signal transceiver to perform various tasks. The technical advantage of this design lies in its ability to facilitate bidirectional data communication between the two transceivers, enabling more efficient and accurate estimation of geometrical metrics.

[0080] According to another aspect, the present invention relates to a method for estimating a geometrical metric between a first radio signal transceiver and a second radio signal transceiver, using phasebased measurements and coherence group processing, wherein coherence group processing comprises organizing measurement results into coherence groups of measurements expected to be coherent with each other, computing scalar products separately for each coherence group, and combining the results across coherence groups by summing magnitude-squared values of each coherence group’s scalar product, the method being configured to be executed by a radio signal processing system comprising the first radio signal transceiver and the second radio signal transceiver, the method comprising the following steps:

[0081] • Acquiring, by the first radio signal transceiver, a first set of measurement results, the first set of measurement results comprising a set of two-way frequency responses, the set of two-way frequency responses comprising a measured two-way frequency response for each frequency ofa predetermined list of frequencies, each of these two-way frequency responses comprising vectors of complex-valued data;

[0082] • Defining, by a processing unit of the first radio signal transceiver, at least one set of coherence groups, the set of coherence groups forming at least one partition of the first set of measurement results such that each measurement result belongs to one coherence group, each coherence group of this set of coherence group comprising at least one subset of the first set of measurement results, each subset of the first set of measurement results comprising:

[0083] o Results of measurements taken at the same time frame; and / or

[0084] o Results of measurements taken during the same application running on at least one among said first radio signal transceiver and said second radio signal transceiver; and / or o Results of measurements taken when at least one radio signal transceiver among said first radio signal transceiver and said second radio signal transceiver is stationary or moving at a certain speed regarding the at least another radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver; and / or

[0085] o Results of measurements from the same pair of antennas, preferably one from each radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver;

[0086] • Constructing, by the processing unit of the first radio signal transceiver, a grid of candidate geometrical metric values, wherein the grid comprises a discrete set of candidate values spanning a predetermined range from a minimum value to a maximum value with a predetermined step size, each candidate value representing a possible value for the geometrical metric being estimated, and wherein the grid is constructed independently of the first set of measurement results and defines a search space over which a pseudo-spectrum is to be evaluated;

[0087] • Selecting input data, said input data comprising the first set of measurement results;

[0088] • Applying a deflation loop on the first set of measurement results, by the processing unit of the first radio signal transceiver, wherein the deflation loop is an iterative process in which, at each iteration, a strongest remaining signal contribution is identified, estimated, and removed from the measurement data, thereby enabling identification of weaker signal paths in subsequent iterations, the application of a deflation loop comprising:

[0089] I. Computing a pseudo-spectrum indexed by the geometrical metric values in the grid, using scalar products, preferably made group per group, wherein the pseudo-spectrum comprises a plurality of real values, each real value corresponding to one candidate geometrical metric value in the grid, and wherein each real value is computed as a sum over all coherence groups of the magnitude squared of a scalar product computed, for each coherence group, between a sub-vector of measured frequency responses from the input data for measurements belonging to that coherence group and a sub-vector of expected frequency responses corresponding to the candidate geometrical metric value for that coherence group,the expected frequency responses being computed from a reference vector representing theoretical measurement values that would be obtained if the actual geometrical metric were equal to the candidate geometrical metric value; and

[0090] II. Finding the geometrical metric value corresponding to the pseudo-spectrum maximum, wherein the pseudo-spectrum maximum is the highest real value among all pseudo-spectrum values computed for all candidate geometrical metric values in the grid, and the corresponding geometrical metric value is the candidate geometrical metric value at which this maximum occurs; and

[0091] III. Estimating the contribution of this candidate geometrical metric value, wherein estimating the contribution comprises computing, for each coherence group g, a complex-valued contribution an(g) as the scalar product between the sub-vector of measurements from the input data belonging to coherence group g and the corresponding sub-vector of the complex conjugate of the reference vector for the candidate geometrical metric value found, and computing a power contribution:

[0092]

[0093] where G is the number of coherence groups and Qg is the number of measurements in coherence group g; and

[0094] IV. Generating new input data by removing the estimated contribution from the input data, wherein removing the estimated contribution comprises, for each coherence group g and each measurement index q belonging to that coherence group, computing: Pnew(k{g,q}) = P(k{g,q}) - an(g) ■ P*{dn}(k{g.q}), where P(k{g,qj) is the current measurement value, an(g) is the estimated contribution for coherence group g, and P*{dn}(k{g,q}) is the reference vector value for the candidate geometrical metric value dn found, and wherein the new input data Pnew replaces the input data for the next iteration;

[0095] V. Repeating steps I to IV on the new input data until a stopping criterion is met, wherein, preferably, the stopping criterion is met when at least one of the following conditions is satisfied:

[0096] ■ a number of iterations of the deflation loop equals or exceeds a predetermined maximum number of iterations, or

[0097] ■ the power contribution Anof a current iteration is less than a predetermined parameter p times the power contribution Ai of a first iteration, where 0 < p < 1.

[0098] • when the stopping criterion is met, the final estimated geometrical metric value is selected among the set of candidate geometrical values, wherein the set of candidate geometrical values comprises the candidate geometrical metric values found during all iterations of the deflation loop, and wherein the final estimated geometrical metric value is the minimum value among those candidate geometrical values whose power contributions exceed a predetermined threshold.In summary, the present invention offers a radio signal processing system that utilizes phase-based measurements and coherence group processing for estimating geometrical metrics between two radio signal transceivers. The use of deflation loops and bidirectional data communication enhances accuracy, efficiency, and flexibility in estimating these metrics.

[0099] Before providing below a detailed review of embodiments of the technology, some optional characteristics that may be used in association or alternatively will be listed hereinafter:

[0100] According to an example, the final estimated geometrical metric value is the minimal value among the set of candidate geometrical values.

[0101] According to an example, the first radio signal transceiver is an initiator radio signal transceiver, and the second radio signal transceiver is a reflector radio signal transceiver.

[0102] According to another example, the first radio signal transceiver is a reflector radio signal transceiver, and the second radio signal transceiver is an initiator radio signal transceiver.

[0103] According to an embodiment, a coherence group is a subset of measurements, and all the coherence groups constitute a partition of all the measures.

[0104] According to an embodiment, partitioning measurements into coherence groups corresponds to assigning an integer index to each visited frequency, each index corresponding to a result from a consistent calculation.

[0105] According to an example, said geometrical metric is a distance, preferably the shortest distance, between said first radio signal transceiver and said second radio signal transceiver.

[0106] According to an example, said candidate geometrical metric value is the minimum distance corresponding to the shortest path between said first radio signal transceiver and said second radio signal transceiver.

[0107] According to an example, said first radio signal transceiver comprises at least one antenna or an array of antennas, each antenna of said array of antennas having a predetermined position.

[0108] According to an example, said second radio signal transceiver comprises at least one antenna or an array of antennas, each antenna of said array of antennas having a predetermined position.

[0109] According to an example, said geometrical metric is at least one angle of arrival between said first radio signal transceiver and said second radio signal transceiver.

[0110] According to an example, said angle of arrival is determined using distance differences between each antenna of said array of antennas and said second radio signal transceiver.

[0111] According to an example, said candidate geometrical metric value is calculated using the minimum distance corresponding to the shortest path between said second radio signal transceiver and each of the antennas of said array of antennas.

[0112] By employing an array of antennas, the system can capture radio signals from various angles and directions, thereby increasing the accuracy and reliability of determining the angle of arrival between the initiator and reflector transceivers. This is particularly useful in complex environments where multiple reflections or interferences may occur. The predetermined positions of the antennas in the array ensure consistent and repeatable measurements, enabling the system to reliably calculate theangle of arrival between the initiator and reflector transceivers. This is useful for applications where precise positioning information is required, such as in navigation systems or location-based services. By calculating the angle of arrival based on distance differences between each antenna and the reflector transceiver, the system can determine the direction of the incoming radio signal more accurately than by relying on a single antenna measurement. This is because the distance differences provide additional information about the position of the reflector relative to the initiator transceiver, which can be used to improve the accuracy of the angle calculation.

[0113] According to an example, said stopping criterion is a power lower than a predetermined power threshold. Preferably, the predetermined power threshold can be computed based on estimated power contributions.

[0114] Setting a power threshold for candidate geometrical metric values helps filter out unreliable signals, reducing the likelihood of false positives and improving the overall performance of the system. This is useful in environments where there may be significant interference, multi-paths or noise, as it allows the system to focus on consistent signals that are more likely to correspond to valid direct signals. According to an example, said vector of complex-valued data comprise at least the following vectors: o said vector comprising, for each frequency of said predetermined list of frequencies, the product of the measurements made on said first radio signal transceiver and said second radio signal transceiver, P being an estimate, i.e. a noisy measure, of the 2-way frequency response at each frequency of said predetermined list of frequencies;

[0115] o {fk}: said vector comprising, for each frequency of said predetermined list of frequencies, data related to said frequency;

[0116] o {gk} / said vector comprising said at least one coherence group, the measurement results belong to. By using the product of measurements taken on both the first and second radio signal transceivers, the estimated 2-way frequency response (P) at each predetermined frequency is obtained. This improves the accuracy of the analysis as it takes into account the interaction between the initiator and reflector signals, which can significantly impact the overall system performance. Preferably, in the multiantenna case, the estimated 2-way frequency response (P) at each predetermined frequency and for each antenna path is obtained.

[0117] The inclusion of a vector containing data related to each frequency in the predetermined list allows for a more comprehensive analysis of the system response at different frequencies. This enhanced frequency selectivity is useful in applications where precise characterization of the system behavior across a wide frequency range is required.

[0118] According to an example, the present invention is configured to use values derived from frequencies to ease computation for computing units with a reduced set of instructions.

[0119] The incorporation of a vector containing at least one coherence group measurement results enables the identification and analysis of coherent signals within the system. Coherence groups are useful in understanding complex systems, as they represent groups of measurements for which results exhibita consistent phase relationship. This information can be used to optimize system performance or diagnose issues related to device motion, propagation channel evolutions, or signal synchronization. According to an example, said geometrical metric is a distance and wherein, for each candidate geometrical metric value in said grid, said pseudo-spectrum is a sum of coherence group-wise correlations between at least one measurement result and at least one expected measurement result corresponding to the candidate geometrical metric value as follow:

[0120] <

[0121]

[0122] Where:

[0123] • b is the index in the candidate geometrical metric value grid,

[0124] • G is the number of coherence groups

[0125] • Qgis the number of steps, i.e. measurements, belonging to coherence group g

[0126] • kgqis the q-th measurement results index in group g, i.e. the index of the q-th measurement results in group g

[0127] • dbis the geometrical metric value corresponding to index b, in meters

[0128] • fkgqis the radio frequency channel of step kg q, incremented each MHz

[0129] • P(k&q) is the 2-way PCT of index kg q: on group index g and in-group index q

[0130] • c is the wave propagation speed (light speed) in meters per microsecond

[0131] One of the benefits of using these coherence groups is to avoid the possibly destructive effect of computing a coherent correlation on all data when the data itself is not coherent over all measurements.

[0132] The averaging of correlations within coherence groups helps to filter out potential outliers and errors in the measurements. By summing the correlations, any individual measurement result with a large error or outlier value will have less impact on the overall pseudo-spectrum, ensuring more robust and accurate results.

[0133] According to an example, the list of predetermined frequencies can comprise several times the same frequencies.

[0134] According to an example, said step has a size chosen to be equal

[0135]

[0136] m, where c is the wave propagation speed in meters per microsecond, J is an integer, and wherein the minimum value of J is higher or equal to 8, preferably equal to 9.

[0137] According to an example, said geometrical metric is at least one angle of arrival, and said first set of measurement results comprises a set of Nameasurement results, where Nais the number of antennas of said first radio signal transceiver and wherein, for each candidate geometrical metric value in said grid, said pseudo-spectrum is as follow:

[0138]

[0139] Where:

[0140] • P(a) is a measurement from a constant tone extension

[0141]

[0142]

[0143] =2nf^U0twhere

[0144]

[0145] is the unit vector in the considered direction 0. • dais the position vector of the antenna da= OMa, where 0 is the center of said array of antennas and Mais the position of the antenna.

[0146] • According to an example, estimating the contribution of said candidate geometrical metric value comprises:

[0147] • Calculating a search vector anof G complex values, one per coherence group: ang), g = 0 to G-1 ;

[0148] • Computing said contribution for each coherence group, as follow:

[0149] <

[0150]

[0151] Which corresponds to the scalar product of the sub-vectors of the measurement (P) and the reference (Pa) considering the geometrical metric value dnestimated at iteration n, corresponding to group g, and an(g) is a complex value.

[0152] According to an example, removing the contribution of at least one candidate geometrical metric value comprises: Removing the estimated contribution from the input data, term by term, for each coherence group g and each index q belonging to this group, as follow:

[0153]

[0154] >

[0155] By removing the contribution of at least one candidate geometrical metric value term by term for each coherence group and index, this method ensures a more precise analysis within the coherence group. Removing the contribution of at least one candidate geometrical metric value for each coherence group and index can help improve the robustness of the analysis against noise and mainly multipaths signals. By filtering out potentially misleading data points, this method can provide more reliable results and reduce the impact of unwanted variations on the overall analysis.

[0156] The method's ability to remove the contribution of specific geometrical metric values term by term for each coherence group and index allows for efficient handling of large data sets. By focusing on individual data points and their contributions, this approach can help minimize computational requirements and enable faster analysis of extensive datasets.

[0157] According to an example, said stopping criterion is based on the number of iterations of the deflation loop.

[0158] According to an example, said stopping criterion is based on the contribution power:

[0159]

[0160] According to an example, said stopping criterion is met if:

[0161] • The number of iterations is higher than a predetermined number of iterations, or

[0162] • The last power contribution of the new input data is lower than a predetermined number times the first power contribution of the input data.

[0163] According to an example, the present invention comprises a step of recording the estimated contribution of each candidate geometrical metric values during the application of the deflation loop. According to an example, after applying the deflation loop, the present invention comprises calculating a threshold based on the recorded estimated contribution of the candidate geometrical values.

[0164] According to an example, in response to meet the stopping criterion, the present invention comprises a step of selecting a set of estimated contributions, each estimated contribution of this set of estimated contributions being greater than the calculated threshold.

[0165] According to an example, the present invention comprises a step of determining the smallest geometrical metric value among the geometrical metric values of the set of estimated contributions. According to an example, estimating the contribution of said candidate geometrical metric value comprises estimating a path distance using a 2-steps maximum search, said 2-steps maximum search comprising:

[0166] • a first search step performed on a fixed geometrical metric value grid, preferably with a resolution higher than 1m, preferably 0.5m;

[0167] • a second search step performed in the neighbourhood of the first estimated maximum, to obtain an accurate estimate of the strongest path of the iteration on said input data.

[0168] The first technical advantage of the 2-steps maximum search method lies in its ability to efficiently estimate the contribution of a candidate geometrical metric value by performing an initial coarse search on a fixed grid. For example, the grid resolution must be finer than the peaks’ expected width. This step allows for a rapid identification of potential maxima, reducing the computational effort required compared to exhaustive searches.

[0169] The second technical advantage comes from the refinement of the estimate obtained in the first search step through a localized second search step. By focusing the search in the vicinity of the initial maximum, this approach ensures a more accurate estimation of the strongest path on the input data. Another technical advantage is the flexibility of the method, as it allows for the use of a resolution higher than 0.5m in the initial fixed grid search step. This adaptability caters to various application requirements and can lead to more precise results when dealing with data that exhibits fine-grained geometrical metric variations.

[0170] Lastly, the 2-steps maximum search method is computationally efficient as it reduces the number of searches required compared to traditional methods. By performing an initial coarse search followedby a localized refinement, the overall computational cost is minimized while maintaining accuracy and reliability. This efficiency can be crucial in applications where large datasets or real-time processing are essential.

[0171] According to an example, the refinement step comprises a computation based on a maximum of the pseudo-spectrum and its 2 neighbors.

[0172] According to an example, estimating the contribution of said candidate geometrical metric value comprises:

[0173] • Finding the maximum of a pseudo-spectrum on the input data;

[0174] • Extracting said maximum value and the values of the two neighbors immediately at left and right of said maximum;

[0175] • Computing the maximum position of a 2nd order polynomial passing through the said maximum value and said two neighbors, as this polynomial is configured to approximate the underlying pseudo-spectrum curve.

[0176] By finding the maximum of a pseudo-spectrum and using a 2ndorder polynomial to approximate the underlying curve, this method enhances the accuracy in estimating the contribution of candidate geometrical metric values. The polynomial fitting provides a more precise representation of the local spectral characteristics, leading to better estimation results. Specifically, the underlying curve, in this 3-points interval, is smooth enough to be approximated by such a polynomial.

[0177] Extracting the maximum value and its neighbors from the input data allows for the rejection of outliers and noise points. The 2ndorder polynomial approximation is less sensitive to small variations in the data, making this method more robust against noise and distortions present in the input data.

[0178] By focusing on local maxima and their neighbors, this method reduces the amount of data processing required compared to analyzing the entire input data set or even compared to applying a similar search algorithm on a finer grid centered on the coarse maximum. Additionally, polynomial fitting is an efficient mathematical technique for approximating functions, making this method computationally efficient in estimating the contribution of candidate geometrical metric values.

[0179] According to an example, said acquiring step of said first set of measurement results (PCT) comprises at least a radio frequency channel sounding process comprising:

[0180] • Performing a series of tone exchanges on at least one predetermined set of radio frequency channels between said first radio signal transceiver and said second radio signal transceiver, wherein each radio signal transceiver among said first radio signal transceiver and said second radio signal transceiver is configured to:

[0181] o measure at least the phase, and the magnitude of at least one received incoming tone; and o correct said phase with its own transmitted phase; and

[0182] o obtain an estimate of the forward / backward channel frequency response estimate.

[0183] By performing a series of tone exchanges on predetermined radio frequency channels and measuring the phase and magnitude of received incoming tones, each radio signal transceiver can correct itsphase with its own transmitted phase. This process leads to more accurate forward / backward channel frequency response estimates, which is useful for reliable wireless communication systems.

[0184] The present invention enables better interference mitigation.

[0185] According to an example, the range for distance estimation is chosen between 0 to 150m or a value determined by third-party information.

[0186] According to an example, the range for angle of arrival estimation is chosen based on the directivity of an antenna array of said first radio signal transceiver, with default values of 0 to 180 degrees for linear arrays or 0 to 90 degrees for planar arrays.

[0187] According to an example, the present invention comprises at least one array of antennas.

[0188] An array of antennas enables beamforming techniques, which focus the radiated energy towards a specific direction. This results in increased signal strength and reduced interference from other sources, leading to enhanced communication range and quality.

[0189] According to an example, said first radio signal transceiver comprises at least one array of antennas. According to an example, coherence group processing comprises organizing measurement results into coherence groups of measurements expected to be coherent with each other, computing scalar products separately for each coherence group, and combining the results across coherence groups by summing magnitude-squared values of each coherence group’s scalar product, thereby avoiding destructive interference that would occur if all measurements were processed as a single coherent set.

[0190] According to an example, the set of coherence groups constitutes a partition of the first set of measurement results such that each measurement result belongs to exactly one coherence group. According to an example, the grid comprises a discrete set of candidate values spanning a predetermined range from a minimum value to a maximum value with a predetermined step size, each candidate value in the grid representing a possible value for the geometrical metric being estimated, and the grid is constructed independently of the first set of measurement results and of the coherence groups, the grid defining a search space over which a pseudo-spectrum is to be evaluated.

[0191] According to an example, when the geometrical metric is a distance, the predetermined range extends from a minimum distance value, preferably 0 meters, to a maximum distance value, preferably 150 meters corresponding to the non-ambiguous range of the measurement system, and the predetermined step size is equal to c / 2Jmeters, where c is the wave propagation speed and J is an integer greater than or equal to 7, preferably equal to 8, resulting in a step size of approximately 58.5 centimeters.

[0192] According to an example, when the geometrical metric is an angle of arrival, the predetermined range extends from 0 to 180 degrees for linear antenna arrays or from -180 to +180 degrees in bearing and from 0 to 90 degrees in elevation for planar antenna arrays, and the predetermined step size is determined based on the directivity of an antenna array of the first radio signal transceiver.According to an example, the deflation loop is an iterative process wherein, at each iteration, a strongest remaining signal contribution is identified by finding a maximum of the pseudo-spectrum, the contribution of this strongest component is estimated as a complex amplitude for each coherence group, the estimated contribution is removed from the measurement data, and the process repeats on the resulting data until a stopping criterion is met, each iteration thereby reducing the measurement data by removing an identified component and enabling identification of weaker signal paths that would otherwise be obscured by stronger paths in multipath propagation environments.

[0193] According to an example, the pseudo-spectrum comprises a plurality of real values, each real value corresponding to one candidate geometrical metric value in the grid, and each real value is computed as a sum over all coherence groups of the magnitude squared of a scalar product computed, for each coherence group, between a sub-vector of measured frequency responses from the input data for measurements belonging to that coherence group and a sub-vector of expected frequency responses corresponding to the candidate geometrical metric value forthat coherence group, wherein the subvector of measured frequency responses for a coherence group comprises all measurement values whose measurement index belongs to that coherence group, and the sub-vector of expected frequency responses is computed from a reference vector representing theoretical measurement values that would be obtained if the actual geometrical metric were equal to the candidate geometrical metric value.

[0194] According to an example, the reference vector for a candidate geometrical metric value dnrepresents the expected measurement values that would be obtained if the actual geometrical metric were equal to dn, and for distance estimation, the reference vector is computed as P*{dn}(k) = exp(-j-2Tr fk'2dn / c) for each measurement index k, where fk is the frequency at measurement index k and c is the wave propagation speed, and for angle-of-arrival estimation, the reference vector is computed as P*{un}(a) = exp(-j k unra) for each antenna a, where k is the wave number, unis the candidate direction, and rais the antenna position relative to the array center.

[0195] According to an example, the pseudo-spectrum maximum is the highest real value among all pseudospectrum values computed for all candidate geometrical metric values in the grid, and the corresponding geometrical metric value is the candidate geometrical metric value in the grid at which this highest real value occurs, said corresponding geometrical metric value being stored as an identified candidate for the current iteration of the deflation loop.

[0196] According to an example, estimating the contribution comprises computing, for each coherence group g where g ranges from 0 to G-1 , a complex -valued contribution an(g) as the scalar product between the sub-vector of measurements from the input data belonging to coherence group g and the corresponding sub-vector of the complex conjugate of the reference vector for the candidate geometrical metric value found in step ii, wherein the sub-vector of measurements for coherence group g comprises all measurement values P(k{g,qj) where the measurement index k{g,q} belongs to coherence group g, and the sub-vector of the reference vector for coherence group g comprises all reference values P*{dn}(k{g,q}) at the same indices, and wherein an(g) is a complex value whosemagnitude represents the strength and whose phase represents the phase offset of the signal component corresponding to the candidate geometrical metric value within coherence group g. According to an example, a power contribution Anis computed at each iteration n of the deflation loop as:

[0197]

[0198] where G is the number of coherence groups, Qgis the number of measurements in coherence group g, and |an(g)|2is the magnitude squared of the contribution for coherence group g, the power contribution Anrepresenting the total signal power associated with the candidate geometrical metric value identified at iteration n.

[0199] According to an example, removing the estimated contribution comprises, for each coherence group g and each measurement index q belonging to that coherence group, computing:

[0200] Pnew(k{g,q}) = P(k{g,q}) - C(n(g) ’ P*{dn}(k{g,q})

[0201] where P(k{g,q}) is the current measurement value at index k{g.q}, an(g) is the estimated contribution for coherence group g computed in step Hi, and P*{dn}(k<g,q}) is the reference vector value at index k{g,q} for the candidate geometrical metric value dnfound in step ii, and wherein the new input data Pnew replaces the input data for the next iteration of the deflation loop.

[0202] According to an example, the stopping criterion is met when at least one of the following conditions is satisfied:

[0203] • a number of iterations n of the deflation loop exceeds a predetermined maximum number of iterations nmax, where the number of iterations is the count of how many times steps i to iv have been executed; or

[0204] • the power contribution Anof a current iteration n is less than a predetermined parameter p times the power contribution Ai of a first iteration of the deflation loop, where 0 < p < 1 , preferably p = 0.1 , the power contribution Ai being the power contribution computed at the first iteration corresponding to the strongest propagation path, and the power contribution Anbeing the power contribution computed at the current iteration.

[0205] According to an example, the set of candidate geometrical values comprises the candidate geometrical metric values found during all iterations of the deflation loop, each iteration having identified one candidate geometrical metric value corresponding to the pseudo-spectrum maximum of that iteration, and the final estimated geometrical metric value is the minimum value among those candidate geometrical values whose power contributions exceed a predetermined threshold, said minimum value corresponding to the shortest significant propagation path between the first radio signal transceiver and the second radio signal transceiver.

[0206] According to an example, the predetermined threshold for the final selection is calculated based on the recorded power contributions of all iterations, preferably as a fraction of the power contribution Ai of the first iteration, and candidate geometrical metric values whose power contributions fall belowthis threshold are excluded from the selection as they are considered to represent noise or insignificant multipath components rather than actual propagation paths.

[0207] Brief description of the drawings

[0208] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:

[0209] FIG. 1: Figure 1 illustrates the sequence of steps involved in a method according to an embodiment of the present invention.

[0210] FIG. 2: Figure 2 illustrates a system according to an embodiment of the present invention.

[0211] FIG. 3: Figure 3 illustrates a scenario where a pseudo-spectrum and a pseudo spectrum analysis function may not be effective, according to an embodiment of the present invention.

[0212] FIG. 4: Figure 4 illustrates an iterative deflation loop according to an embodiment of the present invention.

[0213] FIG. 5: Figure 5 illustrates measurement results PCT at a distance of 5m according to an embodiment of the present invention.

[0214] FIG. 6: Figure 6 illustrates the correlation pseudo spectrum of the measurement results of figure 5 according to an embodiment of the present invention.

[0215] FIG. 7: Figure 7 illustrates the shape of the pseudo-spectrum curve in an embodiment of the present invention, with a maximum at 12.5m and a smallest significant visible maximum being approximately less than 10m while the actual distance is 10m.

[0216] FIG. 8: Figure 8 illustrates the evolution of the pseudo-spectrum curve of figure 7 in an iterative process, with a maximum at 15m and a null removal at 12.5m according to an embodiment of the present invention.

[0217] FIG. 9: Figure 9 illustrates the evolution of the pseudo-spectrum curve of figure 8 in an iterative process, with a maximum at the actual distance of 10m according to an embodiment of the present invention.

[0218] FIG. 10: Figure 10 illustrates the process of channel sounding in a multi-antenna system according to an embodiment of the present invention.

[0219] FIG. 11: Figure 11 illustrates a methodology of dividing measurements into distinct coherence groups according to an embodiment of the present invention.

[0220] FIG. 12: Figure 12 illustrates the pseudo spectrum circles centered on its maximum value, along with an approximation polynomial curve, according to an embodiment of the present invention.

[0221] Detailed description

[0222] In the context of the present invention:

[0223] • Coherence group: A coherence group is a set of measurement results (PCT measurements) that are expected to be coherent with each other, meaning they share similar propagation characteristics and can be meaningfully combined through scalar products without destructiveinterference. The set of all coherence groups constitutes a partition of the complete set of measurement results, such that each measurement belongs to exactly one coherence group. Measurements may be grouped based on one or more of the following criteria: temporal proximity (measurements taken at the same time frame), antenna configuration (measurements from the same pair of antennas), device motion state (measurements taken when devices are stationary or moving at a certain speed), or application context (measurements taken during the same application).

[0224] • Coherence group processing: Coherence group processing refers to the technique of organizing measurement results into coherence groups as defined above, computing metrics (such as scalar products for pseudo-spectrum values) separately for each coherence group, and then combining the results across groups in an incoherent manner (i.e., summing the magnitude- squared values of each group’s scalar product rather than summing the complex values directly). This processing technique accounts for variations in propagation conditions across different measurement subsets and avoids the possibly destructive effect of computing a coherent correlation on all data when the data itself is not coherent over all measurements.

[0225] • Deflation loop: The term “deflation loop” as used herein refers to an iterative algorithm wherein, at each iteration:

[0226] o the strongest remaining signal contribution is identified by finding the maximum of a pseudospectrum computed over a grid of candidate geometrical metric values;

[0227] o the contribution of this strongest component is estimated (as a complex amplitude for each coherence group);

[0228] o the estimated contribution is removed (“deflated”) from the measurement data; and o the process repeats on the deflated data until a stopping criterion is met.

[0229] The term “deflation” is used because each iteration reduces (deflates) the measurement data by removing an identified component, thereby enabling identification of weaker signal paths that would otherwise be obscured by stronger paths in multipath propagation environments.

[0230] • Pseudo-spectrum: A pseudo-spectrum is a function computed over a grid of candidate geometrical metric values, where each value of the pseudo-spectrum represents the correlation strength between the measured data and the expected data for the corresponding candidate value. The pseudo-spectrum is “indexed by” the geometrical metric values in the sense that a separate pseudo-spectrum value is computed for each candidate value in the grid. Thus, the pseudo-spectrum is a discrete function 1J(db) for distance estimation or ^(u) for angle estimation, where db represents candidate distance values and u represents candidate angle directions. Peaks in the pseudo-spectrum indicate strong correlation, suggesting that the candidate value corresponds to an actual propagation path.

[0231] • Grid of candidate values: A grid of candidate geometrical metric values is a discrete set of values (distances or angles) spanning a predetermined range with a predetermined step size, overwhich the pseudo-spectrum is evaluated. Each value in the grid is called a “candidate value” because it represents a possible value for the geometrical metric being estimated. The grid is constructed independently of the coherence groups and the measurement data; it defines the search space over which the pseudo-spectrum is computed.

[0232] • Reference vector: A reference vector, denoted P*{dn}, represents the expected (theoretical) measurement values that would be obtained if the actual geometrical metric were equal to a specific candidate value dn. For distance estimation, the reference vector is computed as P*{dn}(k) = exp(-j'2TT fk'2dn / c) for each measurement index k, where fk is the frequency at measurement index k and c is the speed of light. For angle estimation, the reference vector is computed as P*_{un}(a)=exp(-j k unra) for each antenna a, where k is the wave number, unis the candidate direction, and rais the antenna position relative to the array center.

[0233] • Sub-vector: A sub-vector is a portion of a vector containing only the elements corresponding to a specific coherence group. For example, if the full measurement vector P contains measurements P(ko), P(ki), ..., P(krsj), and coherence group g comprises indices {k{g.o}, k{g,i}> ..., k{g.Q_(g-i)}}, then the sub-vector of P corresponding to group g contains {P(k{g.o}), P(k{g.i}), ..., P(k{g,Q_(g-i)})}. Similarly, the sub-vector of the reference vector P*{dn} corresponding to group g contains {P*{dn}(k{g.o}), P*{dn}(k{g.i}), ..., P*{dn}(k{g,Q_(g-i)})}.

[0234] • Contribution: A contribution, denoted an(g), represents the complex-valued amplitude (magnitude and phase) of the signal component corresponding to a candidate geometrical metric value dnwithin coherence group g. The contribution quantifies how much of the measured signal in group g can be attributed to a propagation path with geometrical metric dn. A large magnitude |an(g)| indicates strong correlation, suggesting that dncorresponds to an actual propagation path. The phase of an(g) captures the phase offset of this component. Different coherence groups may have different contributions for the same candidate value due to variations in antenna patterns, device orientation, propagation conditions, or measurement timing.

[0235] • Power contribution: The power contribution Anat iteration n of the deflation loop is a scalar value representing the total signal power associated with the candidate value identified at that iteration. It is computed as:

[0236]

[0237] where Qgis the number of measurements in coherence group g and an(g) is the estimated contribution for group g at iteration n.

[0238] • Stopping criterion: A stopping criterion is a condition that, if met, terminates the iterative deflation loop. The stopping criterion may be based on one or both of:

[0239] o reaching a maximum number of iterations nmax; oro detecting that the power contribution Anhas fallen below a threshold relative to the first power contribution Ai, specifically An< p Ai, where p is a predetermined threshold parameter (typically 0 < p < 1).

[0240] • Two-way frequency response (PCT): The two-way frequency response, also referred to as PCT (Phase-based Channel measurement Tone), is the product of measurements made on both the initiator (first radio signal transceiver) and reflector (second radio signal transceiver) devices. It provides an estimate of the combined forward and backward channel frequency response at each measured frequency, and has the advantage that opposite local oscillator phase rotations cancel out.

[0241] • Scalar product (inner product, dot product): As used herein, a scalar product refers to the sum of element-wise products of two vectors, potentially including complex conjugation. In the context of pseudo-spectrum computation, the scalar product is computed between measured frequency responses and expected frequency responses (reference vector values) for measurements belonging to a specific coherence group.

[0242] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope.

[0243] Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As person skilled in the art would understand, various implementations of the present technology may be of a greater complexity.

[0244] In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and / or that what is described is the sole manner of implementing that element of the present technology.

[0245] Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readablemedia and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0246] With these fundamentals in place, we will now consider some non-limiting examples to illustrate various implementations of aspects of the present technology.

[0247] According to an embodiment, the present invention relates to a method and system for estimating geometrical metrics (distance and / or angle, for example) between radio frequency devices using phase-based measurements, one being called an initiator and the other one a reflector. Preferably, the present invention is configured to define at least one coherence group based on criteria such as the instant of measurement, application type, antenna pair and device motion. A grid of candidate metric values is advantageously constructed, and for each candidate, a pseudo spectrum value can be computed using coherence group-wise correlations or scalar products. According to an embodiment, the maximum correlation is found, and the corresponding contribution is estimated and removed. This process is repeated until a stopping criterion is met.

[0248] Advantageously, a coherence group is a set of measurements that are expected to be coherent with each other. Coherence groups are preferably determined prior to the execution of the algorithm and are used to improve the accuracy and robustness of the distance estimation.

[0249] According to an embodiment, the criteria for defining a coherence group can vary depending on the specific application and environment. For example, in a scenario where devices are moving rapidly or where there is significant interference between antennas, it may be necessary to define multiple coherence groups based on both time and antenna path.

[0250] Advantageously, once the coherence groups have been defined, a grid of candidate metric values (distance and / or angle) is constructed.

[0251] According to an embodiment, and as described hereafter, the grid of candidate geometrical metric values is constructed by defining at least three parameters: a range (minimum and maximum values), a step size (increment between successive candidate values), and the resulting set of grid points (all values from minimum to maximum, incremented by the step size). The grid may be constructed independently of the measurement data and the coherence groups; it can define the discrete search space over which the pseudo-spectrum will be evaluated. Each value in the grid can be referred to as a “candidate value” because it represents a possible value for the geometrical metric being estimated. The pseudo-spectrum will subsequently be computed at each of these candidate values to determine which ones correspond to actual propagation paths.

[0252] For distance estimation, the grid can be constructed as follows:

[0253] • The range may extend from a minimum distance value dmin (typically 0 meters) to a maximum distance value dmax ;

[0254] • The step size Ad can be chosen to balance computational efficiency with sufficient resolution;

[0255] • The grid may comprise at least all values: {dmin, dmin + Ad, dmin + 2Ad, ..., dmax}.

[0256] For angle-of-arrival estimation, the grid can be constructed as follows:• For linear antenna arrays, the angular range may extend from 0 to 180 degrees (single angle);

[0257] • For planar antenna arrays, the range may comprise a bearing from -180 to +180 degrees and an elevation from 0 to 90 degrees (two angles);

[0258] • The angular step size can be determined based on the directivity of the antenna array, which defines the ability of the array to distinguish between angles and is related to the sharpness of the pseudo-spectrum peaks. The directivity can be computed based on the geometry of the antenna array. Arrays with dimensions close to half the signal wavelength may provide higher directivity and thus support finer angular step sizes;

[0259] • The grid may comprise at least all angle values within the range, incremented by the angular step size.

[0260] Optionally, the grid range may be narrowed based on third-party information (e.g., GPS data, prior distance estimates) to reduce the search space and improve computational efficiency.

[0261] It should be noted that the term “candidate” is used in two related but distinct senses in this specification:

[0262] • a “candidate value in the grid” refers to any value in the constructed search grid at which the pseudo-spectrum is evaluated; and

[0263] • a “candidate geometrical metric value” identified during a deflation loop iteration refers to the specific grid value corresponding to the pseudo-spectrum maximum at that iteration, which is stored as a potential estimate of the actual geometrical metric.

[0264] Preferably, for each candidate value, a pseudo spectrum value is computed using coherence group-wise correlations and / or scalar products. The correlation between the measured data and the expected data for the candidate metric value is calculated for each coherence group.

[0265] Advantageously, each pseudospectrum value is computed as the sum over coherence groups of (the squared magnitude of) the scalar products within each coherence group.

[0266] After the computation of each pseudospectrum value, the corresponding contribution can then be estimated and removed from the input data. This process is repeated until a stopping criterion is met, such as a predetermined number of iterations or a minimum correlation threshold being reached or a power threshold being reached.

[0267] According to an embodiment, each contribution is estimated using a 2-steps (coarse / fine) approach to significantly save computations. The first step involves estimating the contribution using a coarse approach, and the second step involves refining the estimate using a fine approach. The present invention allows for the estimation of contributions that may have been shadowed by stronger contributions in previous iterations.

[0268] The present invention is particularly useful in applications where distance estimation between moving devices is required, such as in Bluetooth channel sounding or even other kinds of radio frequency technologies. The present invention can be used to estimate both distance and angle between devices, separately or in the same process, and using one antenna and / or an antenna array.In the context of Bluetooth channel sounding, for example, the present invention can use a set of measurements obtained from each device for each visited RF channel and antenna path. These measurements are represented by vectors containing the product of the measurements made on initiator and reflector devices, the channel number at which the step was run, and the coherence group the measurement belongs to.

[0269] Advantageously, the present invention uses a pseudo-spectrum function that is simple to compute and produces clear maxima, allowing for the estimation of the smallest significant maximum corresponding to the actual distance or angle, at least indirectly. The algorithm also handles the multipath issue through an iterative approach where contributions are successively estimated and removed from the input data so that shadowed contributions can be estimated.

[0270] The method is computationally efficient as it only requires complex rotations and sums (scalar products with basis complex exponentials), excluding complex algebraic computations like eigenanalysis. It is also well-suited to fixed point implementation, making it ideal for low power applications.

[0271] Compared to previous works in the field, this method has several advantages. It uses a stopping criterion based on coherence groups that makes it more robust to channel variations during procedure duration. It also does not require complex eigenanalysis on large matrices and is well-suited to fixed point implementation. In the present invention, at each iteration, only the maximum pseudo-spectrum value needs to be found, whereas non iterative methods willing to overcome propagation issue require more advanced pseudospectrum variation analyses. The algorithm has been shown to perform better than a reference MUSIC algorithm in many cases, as it can better "see" shadowed paths. The invention can be implemented in various forms, including as a software component or as part of a hardware system. It can also be used in combination with other technologies, such as antenna arrays for angle estimation. The present invention is expected to have significant applications in fields such as wireless communications, positioning systems, and sensor networks.

[0272] Before describing the present invention in more detail, let’s recall some basic principles about phasebased measurements.

[0273] As well known by the skilled person in the art, a phase measurement can rely on a tone exchange in which each device measures the phase (and magnitude) of the received incoming tone and corrects the phase with its own transmitted phase, in particular in a channel sounding context, for example. Let’s denote the channel frequency response as:

[0274] Equation 1: G(f)' = \G(f)\ei0CH^

[0275] For a phase measurement step run at frequency f and instant t, each device (the initiator and reflector) estimates the following value:

[0276] Equation

[0277] Equation

[0278]

[0279] Where subscript / stands for initiator (first device to transmit) and r for reflector (second device to transmit), and Ai0(t) is the local oscillator (LO) phase difference between devices at instant t, which is unknown and can’t be estimated or tracked because of the long delay between steps. Because of this “random” phase shift, phase measurement from either the initiator or the reflector do not reflect the actual 1-way channel frequency response G( ). On the other hand, the product of these two measurements is an estimate for the 2-way channel frequency response: Pt(f)Pr(f) = P(f) = G2( ), as opposite cancel out.

[0280] According to an embodiment, during a procedure, phase measurements are made for different radio frequency channels of the Bluetooth standard (1MHz separated channels in the 2.4GHz ISM band), and the set of 2-way channel frequency response coefficients can be used to estimate distance. According to an embodiment, assuming single path propagation channel, the 1-way frequency response can be written as:

[0281] Equation

[0282]

[0283] Where A is the (approximately constant in the rather narrow 2.4 GHz ISM band) propagation loss, i.e. the real-valued propagation loss, d is the distance to estimate, and cthe propagation speed (speed of light).

[0284] Preferably, the 2-way response is then:

[0285] Equation

[0286]

[0287] According to an embodiment, a set of measurements of this type at different frequencies can be used to estimate distance using different methods:

[0288] • Phase difference between consecutive measurements

[0289] • Averaged phase differences, or phase regression

[0290] • Super resolution algorithms, like FFT based algorithms

[0291] In that case the problem is simple, since we are only trying to estimate one best fitting harmonic component.

[0292] Now, let’s discuss the case of a multi-path propagation channel. In the kind of applications targeted by channel sounding, like car key applications, the single path assumption is hardly met in real life. In that case, a multipath model is better adapted:

[0293] Equation

[0294]

[0295] Where M is the number of propagation paths, and each path m has its own loss and distance / delay. The actual distance corresponds to the smallest path if a line of sight (LOS) path exists. Otherwise, the smallest distance will be the best distance estimate that can be obtained.

[0296] Then the 2-way response is:

[0297] Equation

[0298]

[0299] In that case, each response coefficient at frequency f is a sum of contributions from different paths. In the case of 1-way response, there are M contributions, the same as the number of propagationpaths. In the case of 2-way response, there are M2contributions (either actual or artificially created by cross products), making it more difficult to estimate the smallest LOS path.

[0300] As well known by the skilled person in the art, the channel sounding feature targets support for distance estimation between moving devices, with relative radial speed up to 5 km / h. This means that distance can vary significantly during a procedure and so can the phase shift induced by distance. The standard specifies that a procedure can be split into several subevents which can be separated by several milliseconds and even tens of milliseconds. In the case of two measurements separated by 10ms at maximum speed, the 1-way frequency response can shift by 40°. Algorithms using response variation global analysis are little robust to that effect.

[0301] The number of measurements depends on the number of steps in the procedure, which is negotiated prior to the procedure between the two devices. Many factors can influence this number, such as step length (which itself depends on many factors), maximum procedure length, presence of other BT activities... Therefore, it is much likely that a procedure will have limited measurements, and that not all RF channels will be visited during a procedure. According to an embodiment, the present invention takes this into account. Specifically, any algorithm assuming a linear channel grid should not be used, and care must be taken when using prior art algorithm based on RF channel intercorrelation such as MUSIC.

[0302] According to an embodiment, the present invention is configured to estimate distance and / or angle, based on a set of 2-way frequency response coefficients, that can mitigate both the multipath propagation effect and the channel coherency issue.

[0303] According to an embodiment, and as illustrated by figures 1 and 2, the present invention relates to a method 100 and a system 200 for estimating at least one geometrical metric between a first radio signal transceiver 210 and a second radio signal transceiver 220. The method 100 utilizes preferably phase-based measurements. The method 100 utilizes advantageously coherence group processing. According to an embodiment, the method 100 is configured to be executed by at least one radio signal processing system 200 comprising at least said first radio signal transceiver 210 and said second radio signal transceiver 220.

[0304] As described hereafter, each of the first radio signal transceiver 210 and said second radio signal transceiver 220 comprise a wireless communication unit, a memory unit, a processor unit, and an antenna.

[0305] According to an embodiment, the method 100 comprises the following steps:

[0306] a. Acquiring 110, by at least said first radio signal transceiver 210, at least a first set of measurement results (PCT), said first set of measurement results (PCT) comprising at least one set of 2-way frequency responses, said set of 2 -way frequency responses comprising at least one measured 2-way frequency response for each frequency of a predetermined list of frequencies, each of these 2-way frequency responses comprising vectors of complex-valued data;b. Defining 120, by at least one processing unit 213 of said first radio signal transceiver 210, at least one coherence group, said coherence group comprising at least said first set of measurement results (PCT), said first set of measurement results (PCT) comprising:

[0307] • Results of measurements taken at the same time frame; and / or

[0308] • Results of measurements taken during the same application running on at least one among said first radio signal transceiver and said second radio signal transceiver; and / or

[0309] • Results of measurements taken when at least one radio signal transceiver among said first radio signal transceiver and said second radio signal transceiver is stationary or moving at a certain speed regarding the at least another radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver; and / or

[0310] • Results of measurements from the same pair of antennas, preferably one from each radio signal transceiver taken among said first radio signal transceiver and said second radio signal transceiver;

[0311] c. Constructing 130, by said processing unit 213 of said first radio signal transceiver 210, at least one grid of candidate geometrical metric values;

[0312] d. Selecting 140 input data, said input data comprising at least said first set of measurement results (PCT);

[0313] e. Applying 150 a deflation loop for each candidate geometrical metric value in said grid, using said processing unit 213 of said first radio signal transceiver 210, said application of a deflation loop comprising:

[0314] i. Computing 151 at least one pseudo-spectrum using coherence group-wise correlations and / or scalar products; and

[0315] ii. Finding 152 the maximum correlation; and

[0316] Hi. Estimating 153 the contribution of said candidate geometrical metric value; and iv. Generating 154 new input data by removing said estimated contribution from said input data;

[0317] v. Repeating 155 steps i 151 to iv 154 on said new input data until at least one stopping criterion is met,

[0318] f. when said stopping criterion is met, the final estimated geometrical metric value is selected among the set of candidate geometrical values, and preferably the estimated geometrical metric value is the minimal value.

[0319] As illustrated by figure 1 , the method begins with the acquiring 110 of at least a first set of measurement results (PCT) by the first radio signal transceiver 210. This first set of measurement results comprises at least one set of 2-way frequency responses. Preferably, the first radio signal transceiver 210 is configured to define 120 at least one coherence group. This coherence group comprises the first set of measurement results (PCT). Advantageously, the first radio signaltransceiver 210 constructs at least one grid of candidate geometrical metric values. The input data for this process comprises the first set of measurement results (PCT).

[0320] According to an embodiment, and as illustrated by figure 4 and described hereafter, the method applies a deflation loop for each candidate geometrical metric value in the grid. The application of a deflation loop comprises preferably computing at least one pseudo-spectrum using coherence group-wise correlations and / or scalar products. The maximum correlation is then found, and the contribution of the candidate geometrical metric value is estimated and removed from the input data. Advantageously, the method 100 repeats 155 steps i 151 to iv 154 on the new input data until at least one stopping criterion is met. When this stopping criterion is met, the final estimated geometrical metric value is selected among the set of candidate geometrical values.

[0321] In more detail, and according to an embodiment, the method 100 begins by acquiring 110 a first set of measurement results (PCT) by the first radio signal transceiver. This first set of measurement results comprises at least one set of 2-way frequency responses, with each set containing vectors of complex-valued data for each frequency of a predetermined list of frequencies. The first radio signal transceiver 210 then defines 120 at least one coherence group. This coherence group includes the first set of measurement results (PCT). Said first set of measurement results comprises preferably results of measurements taken at the same time frame, during the same application running on at least one among the first radio signal transceiver 210 and reflector 220 radio signal transceivers, and / or results of measurements taken when at least one radio signal transceiver is stationary or moving at a certain speed regarding the other radio signal transceiver taken among the first radio signal transceiver 210 and reflector 220 radio signal transceivers. Additionally, this first set of measurement results may comprise results of measurements from the same pair of antennas, preferably one from each radio signal transceiver.

[0322] The first radio signal transceiver 220 constructs 130 at least one grid of candidate geometrical metric values. This grid includes several possible values, preferably all possible values, for the geometrical metric that the method 100 may estimate.

[0323] The method 100 then is configured to select 140 input data, which comprises the first set of measurement results (PCT), and applies 150 a deflation loop on the first set of measurement results (PCT). This application 150 of a deflation loop includes computing 151 at least one pseudo-spectrum indexed by the geometrical metric values in the grid, using scalar products, preferably made group per group. The pseudo-spectrum maximum is found 152, along with the corresponding candidate geometrical metric value. This candidate geometrical value is stored, and the contribution of this candidate is estimated 153 and removed 154 from the input data. The method 100 is configured to repeat steps i 151 to iv 154 on the new input data until at least one stopping criterion is met. When this stopping criterion is met, the final estimated geometrical metric value is derived from the list of stored geometrical metric values. According to an embodiment, in each deflation loop iteration, the pseudo-spectrum is computed, the pseudo-spectrum is a vector containing all the pseudo-spectrum values, each corresponding to a candidate distance. Then the maximum value of the pseudo-spectrum is found, and the corresponding candidate distance (since the pseudo-spectrum abscissa contains the grid of candidate distances) is added to a list of estimated path distances. Then this last estimated path distance’s contribution is removed from the current PCT.

[0324] The method 100 may employ different stopping criteria, such as a maximum number of iterations or a contribution power threshold. The method 100 may also use different solutions for estimating the candidate geometrical metric value, such as no refinement, refinement using a finer grid, or the currently implemented solution that uses a 2ndorder polynomial approximation of the underlying pseudo-spectrum curve, see for example figure 12 and its description hereafter.

[0325] According to an embodiment, a coherence group is a set of PCT measurements. Within each coherence group, measurements are expected to be coherent, so that the computed criterion (scalar product aka inner product aka dot product) makes sense. According to an embodiment, let’s assume that the following measurements cannot be coherent from one another:

[0326] • Measurements taken at distant times: when the scenario includes mobility

[0327] • Measurements taken from different antenna paths.

[0328] According to an embodiment, these measurements can be split into different coherence groups. A typical example is given in figure 11: In this figure, and according to an example, there are 8 coherence groups. PCTs are split on a time criterion between these groups according to a set of predetermined rules, for example between a first group G1 to G4 and a second group G5 to G8. Within PCTs from a same time interval, PCTs are split based on their antenna path, between different sub-groups from G1 to G4 and from G5 to G8.

[0329] According to an embodiment, the invention uses channel sounding for distance estimation between moving devices. Channel sounding is a feature of future Bluetooth 6.0 "Atlanta" which provides measurement data that can be used to estimate distance but does not describe the way to perform the estimation itself. The method iteratively estimates each linear component by finding the one with the maximum correlation with the residual PCT over a set of tested distances. According to an embodiment, the present invention can be implemented within Channel Sounding solutions, preferably to complete ranging based on raw measurements.

[0330] Advantageously, the present invention simplifies computations as it eliminates the need for complex algebraic operations such as eigenanalysis for pseudo-spectrum calculation or handling multipath issues. Compared to more intricate algorithms like MUSIC, for example, this invention reduces complexity since it avoids large matrix eigenanalysis and optimization techniques. Furthermore, the present invention offers efficient computation through a two-step approach for contribution estimation. This invention includes advantageously coarse and fine steps that streamline the process and enhance overall system performance.

[0331] According to an embodiment, the present invention comprises determining a geometrical metric between a first radio signal transceiver 210 and a second radio signal transceiver 220. Preferably, this geometrical metric is a distance, specifically the shortest distance, between the two transceivers210 and 240. Additionally, the present invention can comprise evaluating a stopping criterion, which can be a power level lower than a predetermined power threshold, for example. Furthermore, the minimum distance corresponding to the shortest path between the first radio signal transceiver 210 and reflector 220 radio signal transceivers is identified as the candidate geometrical metric value. Advantageously, by determining the shortest distance and evaluating the power criterion, the present invention can effectively filter out contributions from unsuitable propagation paths and focus on those that are most likely to provide the real geometrical metric value.

[0332] According to an embodiment, the first radio signal transceiver 210 can comprise at least one array of at least one antenna and / or multi-antennas 214. Each antenna 214 in the array has a predetermined position. Each antenna 214 of the multi-antennas has a predetermined position.

[0333] According to this embodiment, the geometrical metric is defined as at least one angle of arrival between the first radio signal transceiver 210 and second radio signal transceiver 220. This angle of arrival can be determined using distance differences between each antenna 214 in the array and the second radio signal transceiver 220. Preferably, the criterion for selecting a candidate geometrical metric value is a power level lower than a predetermined power threshold. For example, the candidate geometrical metric value is calculated based on the minimum distance corresponding to the shortest path between the second radio signal transceiver and each antenna in the array.

[0334] Advantageously, using an array of antennas with predetermined positions allows for improved accuracy in determining the angle of arrival between the initiator and second radio signal transceivers. The power threshold ensures that only weak signals are considered as potential candidates for further analysis. For example, calculating the candidate geometrical metric value based on the minimum distance provides a more efficient method for identifying the optimal reflection path.

[0335] Preferably, the first radio signal transceiver 210 and second radio signal transceiver 220 communicate using radio waves. The antennas in the array may be omnidirectional or directional, depending on the specific application requirements. The predetermined positions of the antennas may be determined based on factors such as the size and shape of the array, the desired coverage area, and the frequency of operation.

[0336] According to an embodiment, the present invention utilizes complex-valued data vectors, which include at least three distinct vectors.

[0337] Preferably, the first vector

[0338]

[0339] comprises, for each frequency of a predetermined list of frequencies, the product of measurements made on a first radio signal transceiver and a second radio signal transceiver. This vector, denoted as P, represents an estimate of the 2-way frequency response at each frequency of the predetermined list.

[0340] Advantageously, the second vector {fk} comprises data related to each frequency of the predetermined list. This information may include various characteristics or properties of the radio signals at those frequencies.Furthermore, according to an example, the third vector {gk} comprises measurement results belonging to at least one coherence group. Coherence groups are sets of data points that exhibit a high degree of correlation between them. By analyzing these groups, valuable insights can be gained about the radio signals and their interactions with the environment.

[0341] For example, if {gk} ={1 ,1 ,1 ,1 ,2,2,2}This would mean:

[0342] • There are 7 measurements ({Pk) and {fk} would have the same size)

[0343] • The first 4 Pk measurements belong to group 1

[0344] • The last 3 belong to group 2

[0345] • Indeed, according to an embodiment, the present invention is configured to use the following vector inputs:

[0346] • {P(J<-)}- vector comprising, for each step (equivalently, for each visited RF channel), the product of the measurements made on initiator and reflector devices. P is an estimate of the 2-way frequency response at each visited RF channel.

[0347] • {fk}- vector comprising the channel number at which the step was run. Channel sounding operates in the same band as Bluetooth, RF frequency and channel number are linked by the formula f^MHz-) = fk+ 2402. In regular BT operations, fkranges from 0 to 78, and Channel Sounding can operate on all but 7 channels (0, 1 , 23, 24, 25, 77, 78), i.e. 72 in total.

[0348] • {gk}- vector comprising the “coherence group” the measurement belongs to. Coherence groups are determined based on criterion such as: instant at which the step has been run, type of application, possibility of motion between devices. In the case of a fast procedure, or when no motion is expected, all measurement may belong the same coherence group. In the case of a procedure split into several short but separated subevents, with motion for example, coherence groups may correspond to subevents.

[0349] The use of complex-valued data vectors allows for a more comprehensive analysis of radio signal data, as it captures both magnitude and phase information. Additionally, the inclusion of coherence groups facilitates the identification of patterns and correlations within the data that may not be apparent when considering the whole set of data.

[0350] According to an embodiment, the present invention can further comprise several steps for estimating the optimal geometrical metric value from a set of candidates. For example, first, the contribution of each candidate geometrical metric value is estimated and recorded after it has been calculated. Following the application of the deflation loop, a threshold can be calculated based on the recorded estimated contributions of all candidate geometrical values. Upon meeting the stopping criterion, a set of estimated contributions that exceed the calculated threshold can be selected. Finally, the smallest geometrical metric value among the geometrical metric values of the chosen set of estimated contributions can be determined as the final estimated geometrical metric value.

[0351] According to an embodiment, Figure 3 illustrates a common error when estimating a distance in the context of the present invention. Figure 3 shows an example of situation where the pseudo-spectrum10 and its analysis function 12 are not suited, real value being the line 11. In this example, the pseudospectrum function is based on “correlation” (more details hereafter). The actual LOS distance is 10m (line 11), but there is a secondary path with 12m. When computing the 2-way frequency response, a cross-product term corresponding to a fake path of 11m is created (dashed line 12) that in this case shadows both actual paths. The task to find the smallest path is a very challenging one.

[0352] As discussed hereafter and previously as well, the present invention allows to solve these issues while not requiring complex computations.

[0353] Indeed, according to an embodiment, the present invention is configured to use an iterative scheme to deal with different paths: the principle is to compute pseudo-spectrum, find the pseudo-spectrum maximum, remove contribution from this maximum, and iterate until some stopping criterion is met. In this description, the term PCT is used to denote the measured 2-way frequency response at a given step (frequency), which is the term used in the Channel Sounding standard.

[0354] According to an embodiment, the deflation loop, also called the “correlation-deflation” step, takes the input PCT, and makes the following multipath assumption for all measurement indices k:

[0355]

[0356] According to an embodiment, aiming at iteratively estimating each linear component, a high-level view of the deflation loop is the following:

[0357] Initialization: residual PCT = input PCT

[0358] For i=1 to maximum number of iterations

[0359] • Estimate best linear phase component by finding the one with maximum correlation with the residual PCT over a set of tested distance (=delays)

[0360] • Store corresponding distance in array

[0361] • If i > 1 and component has power below some threshold relative to 1st found delay

[0362] • Break

[0363] • Estimate and remove contribution from current component from residual PCT

[0364] Estimated LOS distance is the minimum among stored path distances

[0365] Advantageously, the present invention is configured to iteratively “deflate” the PCT from estimated path components, to have a better view of weaker paths, that could have been shadowed by stronger paths in previous iterations. This iterative approach is described in figure 4.

[0366] According to an embodiment, let’s call dnthe distance estimate at step n of the deflation loop, the one for which the contribution is computed. Let’s call Pclnthe reference: this vector comprises advantageously the theoretical values of the PCT vector if distance is actually dn(up to a complex factor, preferably common to the coherence group), as follow:

[0367] Equation

[0368]

[0369] Preferably, the searched contribution is a vector anof G complex values, one per coherence group: a^Cg), g = 0 to G-1. Advantageously, for each coherence group, contribution is computed as follows: Equation 10:

[0370]

[0371] Preferably, equation 10 corresponds to the scalar product of the sub-vectors of the measurement (P) and the reference (Pg ), corresponding to coherence group g. Advantageously, an^g~) is a complex value.

[0372] According to an embodiment, the estimated contribution is a vector with the same size as the input vector. Preferably, the estimated contribution is removed from the current input data, advantageously term by term.

[0373] According to an embodiment, for each coherence group g and each index q belonging to this coherence group, the formula is as follow:

[0374] Equation 11: P(fcM) <- Pfe - an(fl')Pan(fca,(J)

[0375] According to an embodiment, when the geometrical metric is a distance, for each candidate geometrical metric value within the grid, the pseudo-spectrum is calculated as a sum of coherence group-wise correlations. Preferably, the number of coherence groups is defined. Additionally, for each coherence group g, there are a specified number of steps belonging to that group. Preferably, all indices in each coherence group g are used, along with the geometrical metric value corresponding to index b and the radio frequency channel of step. Since the pseudo-spectrum is iteratively deflated with strongest path contribution, the present invention is configured to find the highest contribution in a simple way.

[0376] Preferably, for each tested distance in the search grid, the pseudo-spectrum is a sum of coherence group-wise correlations between measurement and the expected measurement corresponding to the tested distance.

[0377] Advantageously, said pseudo-spectrum sum can be expressed as follow for each candidate geometrical metric value in the grid:

[0378] Equation 12:

[0379]

[0380] Where:

[0381] b is the index in the candidate geometrical metric value grid,

[0382] G is the number of coherence groups

[0383] Qgis the number of steps belonging to coherence group g

[0384] kg qis the q-th measurement results index in group g

[0385] dbis the geometrical metric value corresponding to index b, in meters

[0386] fkis the radio frequency channel of step kg q

[0387] is the 2way PCT of index kg qon group index g and in-group index q

[0388] c is the wave propagation speed in meters per microsecondAccording to an embodiment, the geometrical metric value grid refers to a collection of potential values for the geometrical metric that are being considered for analysis. The coherence groups represent subsets of data within the measurements results (PCTs) that share similar characteristics or properties.

[0389] Preferably, by calculating correlations between measurement results and expected results for each candidate geometrical metric value, the present invention can identify strong matches and prioritize them for further investigation.

[0390] The number of steps belonging to each coherence group determines the granularity of the analysis within that group. A larger number of steps may provide more detailed information but also increase computational complexity. Conversely, a smaller number of steps may result in less detailed information but with reduced computational requirements.

[0391] For example, the measurement results index refers to a specific data point or value within a given dataset that is being compared against the expected measurement results for a given candidate geometrical metric value and coherence group. The radio frequency channel of step indicates the particular communication frequency used during the data collection process for the step in question. Overall, this method provides a powerful tool for analyzing large datasets by allowing for efficient comparison of candidate geometrical metric values within defined coherence groups using a distance-based metric and correlation analysis, even with limited computation resources

[0392] As an example, figure 5 illustrates measurements made on a channel with 5m distance, and the corresponding pseudo spectrum in figure 6.

[0393] According to an embodiment, and in the context of the present invention, a "step size", also called “grid step size”, refers to the distance or angle between successive measurements in distance or angle estimation processes. It is an adjustable parameter that influences the smoothness and computational practicality of the measurement criteria. The grid step size can be chosen based on predefined criteria or parameters, or determined by external information, such as antenna array directivity orthird-party data. The selection of a suitable grid step size allows for efficient and accurate estimation while ensuring sufficient angular resolution and minimizing interference.

[0394] According to an embodiment, the grid step size for distance estimation is selected within a range of 0 to 150 meters. Preferably, this selection is made based on predefined criteria or parameters. Additionally, the method may involve obtaining third-party information to determine the grid step size. This external data can be obtained from various sources such as GPS systems, maps, or databases. Utilizing third-party information can enhance the precision of the distance estimation process.

[0395] According to an embodiment, minimum and maximum values can be provided by the device executing the method 100. The default values can be 0 to 150m, since it is the inherent non-ambiguous range of channel sounding. The default values can also be changed based on third party information. For example, in some cases, depending of the frequencies used, non-ambiguous range can be reduced (if frequencies are separated by 2MHz, this range changes to 75m).Advantageously, grid step size can be chosen close to make use of the natural smoothness of the measurement and to result in computational practicality. Step size of the grid can be viewed as distance or delay, which is equivalent (150m~=1us). Natural smoothness of the measurement is 1 / 80MHz = 12.5 ns = 1.875 m. This means that the computed criterion is likely to have smooth variations in a range of 1.875m. This means that, preferably, grid step size is equal or lower to 1.875m. For practicality, to ease criterion computation on a processing unit (with only integer operations, no sin / cos native function available for example), the present invention is configured to use a grid step size of ps, where J is integer during the first pseudo-spectrum computation “coarse” step. The minimum value of J to fulfill the 12.5 ns criterion is 7, and preferably the present invention uses 8 to have a slightly finer initial accuracy. This results in steps of 1 / 256us = 3.9ns = 58.5 cm.

[0396] According to an embodiment, the size of the step is equal to

[0397]

[0398] ps, where J is an integer. Preferably, the minimum value of J is higher or equal to 7. Advantageously, J is set equal to 8. According to an embodiment, the geometrical metric can represent at least one angle of arrival. Furthermore, the first set of measurement results comprises a collection of measurement data obtained from the radio signal transceiver having a specific number of antennas. For each candidate value of the geometrical metric within the grid, the pseudo-spectrum is calculated using the following equation:

[0399]

[0400] Where:

[0401] P(d) is a measurement from a constant tone extension

[0402] l<f is the wave vector: l<f =2nf^U0twhere

[0403]

[0404] is the unit vector in the considered direction 0.

[0405] dais the position vector of the antenna da= OMa, where 0 is the center of said array of antennas and Mais the position of the antenna.

[0406] Advantageously, using ~kf

[0407]

[0408] one obtains:

[0409] Equation 14:

[0410]

[0411] Where u . dais, for each antenna, the value (in meters) of the projection of the antenna direction onto the considered candidate direction.

[0412] Preferably, this calculation involves taking a measurement from a constant tone extension and determining its wave vector, denoted as k0. The unit vector in the considered direction is represented by u, while the position vector of each antenna is denoted

[0413]

[0414] with the center of the array of antennas being located at the origin (0, 0, 0). For a given antenna position a’, the position difference between a and a' is used to calculate the geometrical metric value.

[0415] Advantageously, the present invention allows for accurate determination of the angle of arrival of radio signals by calculating the pseudo-spectrum for various candidate values of the geometricalmetric within the grid. This information can be utilized in various applications such as radio navigation systems and wireless communication networks.

[0416] Additionally, the use of a grid to calculate the pseudo-spectrum for multiple candidate values allows for a more comprehensive analysis of the incoming signals.

[0417] According to an embodiment, the step size for angle of arrival estimation can be determined based on the directivity of an antenna array of the first radio signal transceiver.

[0418] Preferably, the range for linear arrays is set to default values between 0 and 180 degrees. In contrast, the range for planar arrays is advantageously set to default values between 0 and 90 degrees. The directivity of an antenna array refers to its ability to radiate energy in a particular direction. By considering the directivity of the antenna array when selecting the step size for angle of arrival estimation, more accurate estimations can be achieved. This is because the antenna array's directivity influences the angular resolution of the system.

[0419] The choice of default values for the range and step size depends on the specific geometry and configuration of the linear or planar antenna arrays. For example, when the antenna array has dimensions close to half the signal wavelength, the expected accuracy is high, therefore a fine step size is required to benefit from this accurate ray, whereas when the array has smaller dimension, it is possible to use coarser step size, since using fine steps cannot provide better accuracy due to the limitations of the array itself.

[0420] These features enable the method to adaptively adjust the angle of arrival estimation based on the specific characteristics of the antenna array used in the first radio signal transceiver, improving the overall accuracy and reliability of the system.

[0421] According to an embodiment, minimum and maximum values are determined by geometrical configuration.

[0422] For example:

[0423] o with linear antenna arrays, the present invention is configured to look for 1 angle comprises between 0 to 180 degrees;

[0424] o with planar arrays, the present invention is configured to look for 2 angles: bearing (+ / - 180 degrees) and elevation (0 to 90 degrees).

[0425] According to an embodiment, the step size can be chosen based on the directivity of the antenna array. Directivity defines the ability of the array to distinguish between angles. It is related to the criterion sharpness. It can be computed based on the geometry of the antenna array.

[0426] According to an embodiment, unlike for the distance case, when the geometrical metric is an angle of arrival, there is only one coherence group since captures are made over a very short period. Advantageously, the present invention supports multi-antenna operations, where the result from each step and each device is a set of NAP (number of antenna paths) measurements. An antenna path is a pair of antennas (one from each device). For example, if the first device has 3 antennas and the second device has 1 antenna, it is possible to run a procedure with NAP = 3.According to an embodiment, the angle estimation can be based on the CTE (Constant Tone Extension), an extension of BT packets containing a continuous tone (single frequency). During the CTE, the array-equipped device, the first radio signal transceiver 210, performs antenna switching, and the receiving device, the reflector 220, samples the incoming signal.

[0427] According to an embodiment, the angle-of-arrival, also called the angle, estimation is based on the Constant Tone Extension (CTE), which is a feature of Bluetooth Low Energy defined in the Bluetooth Core Specification. The CTE is an extension appended to the end of a Bluetooth packet, during which a continuous unmodulated tone at a single frequency is transmitted. The CTE enables angle-of-arrival estimation by allowing the receiving device to sample the incoming signal across multiple antennas. The CTE measurement process may operate as follows:

[0428] • Transmission phase: The second radio signal transceiver (reflector 220) transmits a Bluetooth packet. At the end of the packet, a CTE period begins. During the CTE, the transmitter sends a continuous unmodulated tone at a single frequency. The CTE duration is typically between 16 and 160 microseconds, depending on the configuration.

[0429] • Reception phase: The first radio signal transceiver (initiator 210) is equipped with an antenna array comprising Naantennas, each at a known position. During the CTE period, the first radio signal transceiver performs rapid antenna switching, sequentially activating each of the Naantennas for a brief period (for example 1 to 2 microseconds per antenna). At each antenna, the receiver samples the incoming continuous tone. The result is a set of Nacomplex-valued measurements Pi, P2, ..., P_{Na}, one measurement per antenna. Each measurement Pacomprises magnitude and phase information of the received signal at antenna a.

[0430] • Phase relationship to angle: When a signal arrives from a direction u, it reaches different antennas at slightly different times due to the spatial separation of the antennas. This time difference depends on the projection of the antenna separation onto the arrival direction. The time difference manifests as a phase difference in the received signal. For antenna a at position rarelative to the array center ao, the expected phase difference relative to the array center is <pa= k u ra, where k = 2ir / A is the wave number and A is the wavelength of the transmitted signal. The position vector rais defined as ra= a - ao, where a is the absolute position of antenna a and ao is the center position of the antenna array.

[0431] • Measurement model: If the signal arrives from direction u with complex amplitude A, the expected measurement at antenna a is pa{exPected} = A ■ exp(-j k u ra). The actual measurement Pawill closely match this pattern if the signal indeed arrives from direction u. The pseudospectrum computation correlates the measured pattern {Pi , ..., P_{Na}}with the expected pattern for each candidate direction u in the grid.

[0432] In the context of the pseudo-spectrum equation for angle estimation (Equation 14), the term “P(a) is a measurement from a constant tone extension” means that Pais the complex-valued sampleobtained at antenna a during the CTE period as described above. The notation P(a) and Paare used interchangeably to denote this measurement.

[0433] It should be noted that, unlike distance estimation which uses multiple frequencies (from Channel Sounding) and typically involves multiple coherence groups, angle-of-arrival estimation using CTE uses a single frequency but multiple antennas. Because the CTE measurements are taken over a very short time period (for example, microseconds), during which the channel is expected to remain coherent, all CTE measurements typically form a single coherence group. The spatial diversity of the antenna array provides the information needed to determine the angle of arrival, whereas in distance estimation, the frequency diversity provides the information needed to determine the distance. The present invention can estimate both distance and angle between devices, separately or in the same process. Preferably, if both metrics are estimated, distance estimation may use Channel Sounding measurements (multiple frequencies, potentially multiple coherence groups), while angle estimation may use CTE measurements (single frequency, multiple antennas, typically single coherence group). The same deflation loop algorithm can apply to both cases, with the pseudospectrum equation adapted to the specific metric being estimated (Equation 12 for distance, Equation 14 for angle).

[0434] Preferably, the result is a set of complex valued data, in which phase can be analyzed to derive angle estimates: as in channel sounding, phase relates to distance, and using distance differences to the different antennas of an array with known positions allows to estimate angles.

[0435] According to an embodiment, as for the distance case, the angle estimation approach is the following:

[0436] • Construct a grid of candidate angles of arrival (can be 1 D or 2D, for bearing and elevation) • For all candidates: compute pseudo spectrum using a scalar product with a reference vector built from considered candidate

[0437] • Find maximum

[0438] • Estimate and remove contribution of this direction of arrival

[0439] • Repeat until said stopping criterion is met.

[0440] According to an embodiment, the difference with the channel sounding case, i.e. the distance case, are:

[0441] • Only one coherence group, because capture is made over a very short period; or at least all measurements belong to the same coherence group.

[0442] • The set of directions of arrival cannot be sorted hierarchically, unlike channel sounding, where the searched distance is the shortest one.

[0443] • According to an embodiment, in the context of multi-antenna, an antenna path is a pair of antennas (one from each device). For example:

[0444] • if the first radio signal transceiver 210 has 3 antennas (number 1 , 2 and 3) and the reflector 220 has 1 antenna (4), it is possible to run the present invention with NAP = 3. Preferably, antenna paths are: {1 ,4}, {2,4} and {3,4}.• if the initiator has 2 antennas (1 and 2) and the reflector has also 2 antennas (3 and 4), it is possible to run the present invention with NAP =4. Preferably, antenna paths are {1 ,3}, {2,3}, {1 ,4} and {2,4}.

[0445] Figure 10 illustrates that PCTs from each can be noted PCT(d,f,a)' , where d is the device (initiator or reflector), f is the frequency (associated to the step), and a is the antenna path.

[0446] According to an embodiment, the present invention comprises estimating the contribution of a candidate geometrical metric value using the following steps:

[0447] Calculating a search vector anof G complex values, one per coherence group: an(g), g = 0 to G-1 ; Computing said contribution for each coherence group, as follow:

[0448] Equation 15:

[0449]

[0450] Which corresponds to the scalar product of the sub-vectors of the measurement (P) and the reference (Pa ), corresponding to group g, and an(g) is a complex value.

[0451] Preferably, for each coherence group g, where g ranges from 0 to G, the estimation process involves calculating a search vector of complex values.

[0452] Advantageously, this calculation is performed independently for each coherence group. In more detail, according to an embodiment, the search vector anis computed as a set of complex values, one per coherence group.

[0453] Furthermore, the contribution for each coherence group is calculated by computing the scalar product of the sub-vectors of the measurement (P) and the reference vector (Pa), corresponding to group g. The result of this operation is a complex value that represents the contribution of the candidate geometrical metric value to the coherence group g.

[0454] This method allows for an efficient estimation of the contribution of a candidate geometrical metric value to each coherence group by performing the calculation independently for each group. This can lead to improved accuracy and faster processing times compared to methods that calculate the contribution for all groups simultaneously. Additionally, the use of complex values enables the method to handle more complex data sets and provides a more robust estimation of the contributions. According to an embodiment, and as previously described, for removing the contribution of at least one candidate geometrical metric value, the present invention can comprise, for each coherence group g and each index q belonging to this group, removing the estimated contribution from the input data term by term, as previously indicated by equation 12.

[0455] Advantageously, this process allows for a selective removal of specific geometrical metric values that may negatively impact the analysis within each coherence group.

[0456] Preferably, the removal of these contributions is performed in a systematic and methodical manner to ensure accuracy and consistency across all groups.According to an embodiment, the stopping criterion can be based on the number of iterations of the deflation loop. Preferably, the deflation loop is a computer-implemented mathematical algorithm configured to identify the correct geometrical metric value.

[0457] According to another embodiment, the stopping criterion is based on the contribution power: An= g=o Qg- |an( / / ) I2■ Moreover, according to an embodiment, the present invention may involve setting a threshold value for the contribution power.

[0458] According to an embodiment, the stopping criterion can be met if:

[0459] The number of iterations is higher than a predetermined number of iterations; and / or

[0460] • The last power contribution of the new input data is lower than a predetermined number p times the first power contribution of the input data. Preferably, An< p.A0, where p is a predetermined parameter (with normally p < 1). This means that the deflation loop is advantageously stopped when the last power contribution is lower than p times the first contribution (contributions tend to diminish at each loop iteration).

[0461] According to this embodiment, the number of iterations is compared to a predetermined number, i.e. a predetermined threshold. If the number of iterations is below this threshold, then the method proceeds to the next condition.

[0462] Advantageously, the last power contribution of the new input data is evaluated against a predetermined number multiplied by the first power contribution of the input data. If the last power contribution of the new input data is lower than a predetermined number p times the first power contribution of the input data, then the convergence criteria are met.

[0463] We will now provide a comprehensive description of the deflation loop, providing additional details according to some embodiments:

[0464] The deflation loop may comprise an initialization phase and an iteration phase.

[0465] Preferably, the initialization phase comprise:

[0466] • Set the current input data (residual PCT) equal to the acquired first set of measurement results:

[0467] P current=Pinput

[0468] • Initialize the iteration counter: n = 0

[0469] • Initialize an empty list of identified candidate values and their power contributions: candidates = {}

[0470] Preferably, the iteration phase comprises (steps i through iv of the deflation loop):

[0471] • n = n + 1 (increment iteration counter)

[0472] • Step i - Compute pseudo-spectrum (step 151): For each candidate value db in the grid (b = 0, 1 , ..., B-1, where B is the number of grid points): For each coherence group g (g = 0, 1 , ..., G-1): Compute the scalar product between the sub-vector of current measurements Pcurrent(k{g,q}) and the sub-vector of expected measurements exp(-j-2Tr f{g,q}-2db / c) for all indices q in group g Compute the magnitude squared of this scalar product Sum the magnitude-squared valuesacross all coherence groups to obtain ^(db) The result is a pseudo-spectrum vector T = {^(do), ^(di), ^(dfB-i})}, indexed by the candidate values in the grid.

[0473] • Step ii - Find maximum (step 152): Find the index bmax at which the pseudo-spectrum T has its maximum value: bmax = argmaxb ^(db) The candidate geometrical metric value corresponding to this maximum is dn = d{b_max} Optionally, refine dn using the two-step (coarse / fine) approach described (polynomial approximation using the maximum and its two neighbors)

[0474] • Step Hi - Estimate contribution (step 153): Compute the reference vector for dn: P*{dn}(k) = exp(- j'2Tr fk'2dn / c) for all measurement indices k ; For each coherence group g: Compute an(g) = Z{qegroupg} Pcurrent(k{g,q}) ■ [P*{dn}(k{g,q})]* (see Equation 10) ; Compute the power contribution: An = Z{g=o}{G-1}Qg ■ |c(n(g)|2Store the candidate value dnand its power contribution An: candidates = candidates u {(dn, An)}

[0475] • Step iv - Remove contribution / Generate new input data (step 154): For each coherence group g and each measurement index q in group g: Pcurrent(k{g,q}) <— Pcurrent(k{g,q}) - an(g) ■ P*{dn}(k{g,q}); The updated Pcurrent becomes the input data for the next iteration.

[0476] • Step v - Check stopping criterion (step 155):

[0477] 1. If n > nmax (maximum number of iterations exceeded): STOP;

[0478] 2. If n > 1 and An< p ■ Ai (power contribution below threshold): STOP;

[0479] 3. Otherwise: return to Step i with the updated P current

[0480] • Final Selection: From the list of identified candidates {(di, Ai), (d2, A2), ..., (dn, An)}: Optionally filter by power threshold: retain only candidates with Ak > threshold ; Select the final estimated geometrical metric value as the minimum dk among the retained candidates.

[0481] The process is computationally efficient because it may only require complex rotations and sums (scalar products with basis complex exponentials), excluding complex algebraic computations like eigenanalysis. It is also well-suited to fixed-point implementation, making it ideal for low-power applications such as Bluetooth Low Energy devices. Preferably, at each iteration, only the maximum pseudo-spectrum value needs to be found, whereas non-iterative processes willing to overcome propagation issues require more advanced pseudo-spectrum variation analyses.

[0482] According to an embodiment, the pseudo-spectrum computation, step 151 , is one of the main operations of each deflation loop iteration. For each candidate geometrical metric value in the grid, a pseudo-spectrum value may be computed to quantify the correlation between the measured data and the expected data for that candidate value. The computation may proceed as follows:

[0483] • Step 1 : For each candidate value db in the grid and for each coherence group g:

[0484] • Extract the sub-vector of measurements P(k{g,q}) belonging to coherence group g (i.e., all measurement values whose coherence group index equals g);

[0485] • Compute the expected measurements (reference vector values) for the candidate value db at each measurement index in group g;• Calculate the scalar product (inner product) between the measured sub-vector and the expected sub-vector for group g. This scalar product is a complex value that quantifies the correlation between measured and expected responses within the coherence group;

[0486] • Compute the magnitude squared (power) of this scalar product.

[0487] • Step 2: Sum the magnitude-squared scalar products across all coherence groups to obtain the pseudo-spectrum value for candidate value db. This two-level computation structure (coherent combination within groups, incoherent combination across groups) is useful for robustness. Within each coherence group, measurements are expected to be coherent (i.e., they share consistent phase relationships), so computing a coherent scalar product is meaningful. Across different coherence groups, however, measurements may have different phase offsets due to temporal variations, different antenna configurations, or device motion. Combining groups incoherently (by summing magnitude-squared values rather than complex values) avoids destructive interference that would occur if all measurements were processed as a single coherent set.

[0488] For distance estimation, the pseudo-spectrum at candidate distance db is computed according to the Equation 12, discussed in more detail hereafter. If the actual distance equals db, the measured and expected responses will be highly correlated within each coherence group, resulting in large scalar product magnitudes and thus a large pseudo-spectrum value. Conversely, if db does not correspond to an actual propagation path, the scalar products will tend to be small due to phase misalignment. For angle-of-arrival estimation, the pseudo-spectrum at candidate direction u is computed according to the Equation 14 discussed in more detail hereafter. Unlike distance estimation which can use multiple coherence groups, angle estimation typically may use a single coherence group because the CTE measurements are taken over a very short time period (microseconds) during which the channel is expected to remain coherent.

[0489] In both cases (distance and angle), the pseudo-spectrum is a real-valued function indexed by the candidate geometrical metric values in the grid. The candidate value corresponding to the maximum of the pseudo-spectrum can be identified as the strongest contribution in the current iteration of the deflation loop.

[0490] According to an embodiment, the pseudo-spectrum computation relies on coherence group-wise correlations between measured frequency responses and expected frequency responses. The following provides detailed implementation and execution guidance for computing these correlations. According to an embodiment, a coherence group-wise correlation is the scalar product (inner product) computed between two sub-vectors:

[0491] • The sub-vector of measured frequency responses P(k{g,q}) for all measurement indices q belonging to coherence group g (the “measurement result”);• The sub-vector of expected frequency responses for the same indices, computed for a specific candidate geometrical metric value db (the “expected measurement result corresponding to the candidate geometrical metric value”).

[0492] For distance estimation, the expected measurement result at index k{g,q} for candidate distance db is: E(k{g.q}, db) = exp(-j ■ 2TT ■ f{g,q} ■ 2db / c). This represents the theoretical two-way phase rotation that would be observed at frequency f<g,q} if the actual distance were db.

[0493] The coherence group-wise correlation for group g and candidate distance db can then be:

[0494]

[0495] where [E(k{g.q}, db)]* denotes the complex conjugate of the expected measurement result. The result Cg(db) is a complex value whose magnitude indicates preferably the strength of the correlation between the measured and expected responses within coherence group g.

[0496] The pseudo-spectrum value for candidate distance db is then the sum of the magnitude-squared correlations across all coherence groups: ^(db) = Z{g=o}{G-1}|Cg(db) |2

[0497] Let’s describe, according to some embodiments, the step-by-Step execution of coherence group-wise correlation:

[0498] For each candidate distance db in the grid and for each coherence group g:

[0499] 1. Initialize the correlation accumulator: Cg= 0 + j-0 (complex zero)

[0500] 2. For each measurement index q in group g (q = 0, 1 , ..., Q_g-1):

[0501] a. Retrieve the measured frequency response: P(k<g,q}) = Re(P) + j lm(P

[0502] b. Compute the expected frequency response conjugate for candidate db: exp(+j ■ 0{g,q}) = COS(0{g,q}) + j ■ sin(0{g,q}) Where 0{g,q} = 2ir ■ f{g,q} ■ 2db / c

[0503] c. Compute the complex product: product = P(k{g,q}) ■ exp(+j ■ 0;9:q})

[0504] d. Accumulate into the correlation: Re(Cg) <— Re(Cg) + Re(product) lm(Cg) <— lm(Cg) + Im(product)

[0505] 3. After processing all Qg measurements in group g, compute the magnitude squared: |Cg(db)|2= [Re(Cg)]2+ [Im(Cg)]2

[0506] 4. Accumulate into the pseudo-spectrum value: ^(db) <— ^(db) + |Cg(db)|2

[0507] After processing all G coherence groups, ^(db) contains the complete pseudo-spectrum value for candidate distance db.

[0508] To understand why the correlation is advantageously computed group by group rather than over all measurements simultaneously, one must consider the following:

[0509] If all measurements were combined into a single coherent correlation (without grouping), the computation would be:

[0510]

[0511] This single-group approach assumes that all measurements are coherent, meaning they share consistent phase relationships. However, in practice, measurements taken at different times may have different phase offsets due to:

[0512] • Device motion between measurement times (changing the distance and thus the phase); • Local oscillator drift between subevents;

[0513] • Different antenna paths having different phase characteristics.

[0514] When measurements with inconsistent phases are combined coherently, the scalar product may suffer from destructive interference: positive and negative contributions may cancel each other, reducing the correlation magnitude even when db matches the actual distance. This can cause the pseudo-spectrum peak to be attenuated or shifted, leading to incorrect distance estimates.

[0515] By splitting measurements into coherence groups and computing correlations separately for each group, the present invention ensures that only measurements with consistent phase relationships are combined coherently. The incoherent combination across groups (summing |Cg|2rather than |ZgCg|2) prevents destructive interference between groups while still benefiting from the information provided by all measurements.

[0516] According to an embodiment, the coherence group-wise correlation for angle estimation follows the same principle, but with antenna indices instead of frequency indices:

[0517]

[0518] where Pais the CTE measurement at antenna a, k = 2ir / A is the wave number, u is the candidate direction, and rais the antenna position. Since angle estimation may use a single coherence group (all CTE measurements are coherent), the pseudo-spectrum can be simplified to: ^(u) = |C(u)|2The correlation C(u) can be computed as a single scalar product across all Naantennas, without the need for group-wise splitting. The expected measurement result for antenna a and candidate direction u is exp(-j ■ k ■ u ■ ra), and its conjugate exp(+j ■ k ■ u ■ ra) is used in the scalar product.

[0519] The implementation follows the same process as for distance estimation, with the substitution of antenna index a for measurement index q, antenna position projection k ■ u ■ rafor frequency-distance phase 2ir ■ f ■ 2d / c, and Nafor Qg.

[0520] We will now describe the contribution estimation step 153 according to some embodiments.

[0521] According to an embodiment, the contribution estimation step (step iii-153 of the deflation loop) is an operation that determines the complex -valued amplitude of the signal component corresponding to the identified candidate geometrical metric value dn. The following provides detailed implementation and execution guidance for this step.

[0522] Preferably, the inputs to the contribution estimation at iteration n are:

[0523] • The current (possibly deflated) measurement data PCurrent(k{g,q}) for all coherence groups g and all measurement indices q within each group;

[0524] • The candidate geometrical metric value dnidentified in step ii-152 (pseudo-spectrum maximum);• The coherence group assignments, specifying which measurement indices belong to which group;

[0525] • The frequency values f{g,q} associated with each measurement index (for distance estimation) or the antenna positions ra(for angle estimation).

[0526] It should be noted that the contribution estimation (step iii) and the pseudo-spectrum computation (step i) involve similar operations: both compute scalar products between measurements and reference vectors. The key difference is:

[0527] • In step i, the scalar product is computed for all candidate values in the grid (to find the maximum);

[0528] • In step iii, the scalar product is computed for only the identified candidate value dn(to estimate its contribution).

[0529] According to an embodiment, in step i, only the magnitude squared of the scalar product is needed (for the pseudo-spectrum), whereas in step iii, the full complex value an(g) is needed (for contribution removal in step iv). This means that the contribution an(g) for the identified candidate dncould potentially be reused from the pseudo-spectrum computation, avoiding redundant calculation. However, if the candidate value dnhas been refined using the polynomial approximation, the contribution must be recomputed at the refined value.

[0530] We will now describe the contribution removal step 154, according to some embodiments.

[0531] Preferably, the contribution removal step (step iv-154 of the deflation loop) generates new input data by subtracting the estimated signal component from the current measurement data. The following provides detailed implementation and execution guidance for this step.

[0532] According to an embodiment, the inputs to the contribution removal at iteration n are:

[0533] • The current measurement data PCurrent(k<g,q}) for all coherence groups g and all measurement indices q within each group (this is the same data used in step iii-153);

[0534] • The estimated contributions an(g) for each coherence group g (computed in step iii-153); • The reference vector P*{dn}(k{g,q}) for the identified candidate value dn (computed in step iii-153);

[0535] • The coherence group assignments.

[0536] Here is a step by step execution according to some embodiments, for each coherence group g (g = 0, 1 , ..., G-1): For each measurement index q in group g (q = 0, 1, ..., Q_g-1):

[0537] • Retrieve the current measurement value: Pcurrent(k{g,q}); This is a complex number with real and imaginary parts.

[0538] • Compute the estimated signal component at this measurement index: Sn(k{g,q}) = an(g) ■ P*{dn}(k{gg})

[0539] • This represents the portion of the measurement at index k{g,q} that is attributed to the propagation path with geometrical metric dnin coherence group g.

[0540] • Subtract the estimated component from the current measurement: Pnew(k{g,q}) = P current(k{g,q}) - Sn(k{g,q})

[0541] This subtraction can be performed separately for real and imaginary parts.• Store Pnew(k{g,q}) as the updated measurement value for the next iteration.

[0542] After processing all coherence groups and all measurement indices, the complete updated measurement data Pnew preferably becomes the input data for the next iteration of the deflation loop. The contribution removal can be performed in-place (overwriting Pcurrent with Pnew) or by creating a new copy of the measurement data. In-place operation is more memory-efficient and is preferred for resource-constrained devices.

[0543] The contribution removal for each coherence group g may use only the contribution an(g) specific to that group. This means that different groups may have different amounts of signal removed, reflecting the fact that the propagation path at dnmay have different amplitudes and phases in different coherence groups. This group-specific removal is essential for accurate deflation when measurements span different time intervals, antenna configurations, or propagation conditions. The order in which coherence groups and measurement indices are processed does not affect the result, since the removal operation for each index is independent of the others. This property enables parallel processing of multiple coherence groups or measurement indices on multi-core processing units.

[0544] After contribution removal, the updated measurement data Pnew has preferably the following properties:

[0545] • The signal component corresponding to dnhas been removed (or significantly attenuated); • Signal components corresponding to other propagation paths remain largely intact;

[0546] • The pseudo-spectrum computed on Pnew in the next iteration will exhibit a null (minimum) at dn;

[0547] • Peaks corresponding to weaker paths that were previously obscured by the stronger path at dnmay become visible.

[0548] • This effect is illustrated in Figures 7, 8, and 9 of this specification:

[0549] • Figure 7 shows the pseudo-spectrum at the first iteration, with a maximum at 12.5m (not the actual distance of 10m);

[0550] • Figure 8 shows the pseudo-spectrum at the second iteration, after removing the 12.5m contribution. A null appears at 12.5m, and a new maximum appears at 15m;

[0551] • Figure 9 shows the pseudo-spectrum at the third iteration, after removing both the 12.5m and 15m contributions. The maximum now appears at 10m, which is the actual distance. The corresponding power is above the predetermined power threshold, so the 10m path is validated. This example demonstrates how the iterative deflation process progressively reveals weaker paths by removing stronger contributions. Without it, the 10m path would remain obscured by the stronger 12.5m path (which in this case is an artifact created by cross-product terms in the two-way frequency response, as explained in the multipath model of Equation 7).

[0552] We will now provide additional details about the final selection according to some embodiments.If the stopping criterion is met, the deflation loop terminates and the final estimated geometrical metric value can be selected from the set of candidate values identified during the iterations. The following provides detailed implementation and execution guidance for this selection step.

[0553] At the end of the deflation loop, the following data has been accumulated across all n iterations: • A list of identified candidate geometrical metric values: {di , d2, ... , dn}, where di is the candidate value identified at iteration i;

[0554] • A corresponding list of power contributions: {A1 , A2, ... , An}, where:

[0555] •Ai = 2^=o Qg- CfiOl2isthe power contribution at iteration i;

[0556] • Optionally, the full contribution vectors: {a1, a2, ..., an}, where ai = {ai(0), ai(1), ..., ai(G-1)} is the vector of complex contributions for each coherence group at iteration i.

[0557] Note that the candidate values {di, d2, ..., dn} may not be ordered by value; they can be ordered by iteration number, which corresponds to decreasing power contribution (since the strongest path is identified first, the second strongest second, etc.). For example, in the scenario illustrated in Figure 7, the identified candidates might be: di = 12.5m (strongest), d2 = 15m (second strongest), ds = 10m (third strongest but actual LOS distance).

[0558] According to an embodiment, the final selection process for distance estimation proceeds as follows:

[0559] • Determine the set of valid candidates:

[0560] o Option A: All identified candidates are considered valid. The set of valid candidates is {di, d2, ..., dn}. This approach is simpler but may include weak contributions that correspond to noise rather than actual paths.

[0561] o Option B: A power threshold T is calculated based on the recorded power contributions. The threshold may be computed as: T = pseiect ■ Ai

[0562] where Ai is the power contribution of the first iteration (strongest path) and pseiect is a predetermined selection parameter (for example, pseiect = 0.1 , meaning that only candidates with at least 10% of the strongest path’s power are considered significant). The set of valid candidates comprises only those candidates whose power contributions exceed the threshold: Valid = {di : Ai > T, for i = 1 , 2, ..., n}. This filtering removes weak contributions that may represent noise, measurement artifacts, or crossproduct terms (as described in Equation 7) rather than actual propagation paths.

[0563] Alternatively, the threshold T may be computed using other methods, such as:

[0564] o A fixed absolute power threshold (independent of A1);

[0565] o A threshold based on the mean or median of all power contributions;

[0566] o A threshold based on a statistical analysis of the power contribution distribution (e.g., identifying outliers).

[0567] • Select the minimum value:

[0568] o From the set of valid candidates, i.e. Valid, the final estimated distance is selected as the minimum value:

[0569] ■ dfinai = min(Valid) = min{di : di e Valid}■ This minimum corresponds to the shortest significant propagation path, which is the best estimate of the line-of-sight (LOS) distance between the two transceivers.

[0570] According to an embodiment, the final selection process for angle estimation proceeds may differ from distance estimation because:

[0571] • The set of directions of arrival cannot be sorted hierarchically in the same way as distances (where the shortest distance is always preferred);

[0572] • Multiple valid angles may correspond to different signal sources or multipath reflections;

[0573] • The application may require reporting multiple angles rather than a single angle.

[0574] • Preferably, the selection process for angle estimation proceeds as follows:

[0575] • Filter by power threshold: Same as for distance estimation. Only candidates with power contributions exceeding the threshold are retained.

[0576] • Select based on application requirements:

[0577] o If a single angle is required: select the angle corresponding to the strongest valid contribution (highest Ai among valid candidates);

[0578] o If multiple angles are required: report all valid candidates, optionally sorted by power contribution;

[0579] o If the LOS angle is required: additional information (such as distance estimates) may be needed to identify which angle corresponds to the direct path.

[0580] According to an embodiment, the final selection step requires:

[0581] • Storage of n candidate values and n power contributions;

[0582] • One pass through the list to compute the threshold (if using Option B);

[0583] • One pass through the list to filter by threshold and find the minimum;

[0584] • Total operations: O(n) comparisons and one minimum search.

[0585] • This step adds negligible computational overhead to the overall algorithm.

[0586] • According to an embodiment, the following edge cases should be handled in the implementation:

[0587] • Single iteration: If the deflation loop terminates after only one iteration (n = 1), the final estimate is simply di (the only identified candidate). This may occur in simple single-path environments.

[0588] • All candidates below threshold: If the threshold-based filtering removes all candidates (which should not normally occur since A1 > T by definition when T = pselect ■ A1 with pselect < 1), the implementation should fall back to selecting d1 (the strongest path).

[0589] • Multiple candidates at same distance: If two or more iterations identify the same (or very similar) candidate value, this indicates that the contribution removal was incomplete. The implementation may merge such candidates by summing their power contributions.

[0590] According to an embodiment, the present invention comprises a two-step maximum search for estimating the contribution of a candidate geometrical metric value. Preferably, the first search step of this two-step maximum search is performed on a fixed geometrical metric value grid. The resolution of this grid should be higher than 1m, preferably than 0.5m.Advantageously, the second search step is carried out in the neighborhood of the first estimated maximum. This step helps obtain an accurate estimate of the strongest path of the iteration on the input data.

[0591] According to an embodiment, the method for estimating a geometrical metric value comprises finding the maximum of a pseudo-spectrum on the input data. Preferably, this is accomplished by applying a suitable transform to the input data and identifying the peak in the resulting spectrum.

[0592] Advantageously, the maximum value and the values of the two neighbors immediately adjacent to it are extracted from the pseudo-spectrum. These values provide important context for estimating the contribution of the candidate geometrical metric value.

[0593] Furthermore, a 2ndorder polynomial is computed to approximate the underlying pseudo-spectrum curve around the maximum value and its neighbors. This polynomial serves as an effective model for understanding the shape and behavior of the pseudo-spectrum in this region.

[0594] Advantageously, the maximum position of this polynomial is determined to represent the location of the peak in the original data. By using a 2ndorder polynomial, the method can more accurately estimate the contribution of the candidate geometrical metric value based on the shape and curvature of the pseudo-spectrum around the maximum. The use of a 2ndorder polynomial to approximate the underlying pseudo-spectrum curve allows for more accurate estimation of the contribution of the candidate geometrical metric value.

[0595] Extracting the values of the two neighbors provides important context for estimating the contribution, allowing for more precise calculations.

[0596] According to an embodiment, the present invention can comprise a radio frequency channel sounding process for acquiring measurement results. This process involves performing a series of tone exchanges on at least one predetermined set of radio frequency channels between the first radio signal transceiver and the second radio signal transceiver.

[0597] Preferably, each radio signal transceiver is configured to measure the phase and magnitude of at least one received incoming tone and correct its phase with its own transmitted phase during the tone exchanges. By doing so, they can estimate the forward / backward channel frequency response. Advantageously, this approach allows for accurate measurement of radio frequency channels, which is essential for various applications such as wireless communication systems.

[0598] According to an embodiment, the present invention is configured to handle multipath propagation through an iterative approach, where different contributions are successively estimated and removed from the input data so that "shadowed" contributions can be estimated. Each contribution is estimated using a 2-steps (coarse / fine) approach to significantly save computations.

[0599] According to an embodiment, to save computations while keeping enough resolution, the present invention is configured to implement a 2 steps search. Preferably, the first search step is performed on a fixed distance grid with enough resolution to ensure no local maximum will be missed. Advantageously, the second search step is performed in the neighbourhood of the first step maximum, to obtain an accurate estimate of the strongest path of the iteration.Figures 7, 8 and 9 illustrate iterative steps to estimate a distance, using a simulated propagation channel. In this example, the conditions are the following:

[0600] • Actual distance: 10m

[0601] • Propagation channel: WiFi channel B

[0602] Figures 7, 8 and 9 show the pseudo-spectrum curve 20 for the first 3 iterations. Indeed, according to this example, the deflation loop stops at the 4thiteration where contribution power is below a predetermined threshold.

[0603] Figure 7 illustrates the first iteration. In this first iteration the maximum is at 12.5m, and a smallest “significant” visible maximum seems to be a little less than 10m, but there are smaller maximums, that could probably be discarded based on a power criterion.

[0604] Figure 8 illustrates the second iteration. In this second iteration the maximum is at 15m. A null is present at 12.5m, where contribution has been removed during previous iteration. The 15m path contribution is removed for next iteration.

[0605] Figure 9 illustrates the third iteration. In this third and final iteration, the maximum is at 10m, which is the actual distance. The corresponding power is above the predetermined power threshold, so the 10m path is validated, and distance error is close to 0.

[0606] According to an embodiment, the present invention is configured to implement at least one of three solutions for estimating and removing contributions: no refinement, refinement using a finer grid, and using a 2ndorder polynomial approximation to estimate the contribution.

[0607] According to an embodiment, in case of no refinement, at each iteration, estimate dncorresponds to the pseudo-spectrum maximum position.

[0608] According to an embodiment, in case of refinement, the present invention is configured to compute pseudo spectrum on a finer grid centered on the maximum position of the first pseudo-spectrum. Preferably, the estimate dnis the distance value corresponding to the finer pseudo-spectrum maximum. According to an embodiment, the finer grid, also called second grid, can be defined with the following settings:

[0609] • Range = 1 or 2 times the coarse grid steps;

[0610] • Fine step = coarse step / 2K. Given that the coarse step is 1 / 2J ps, then the fine step is 1 / 2 (J+K) ps. To obtain final accuracy of a few cm maximum, J+K is preferably equal or higher than 12 (then the fine step 150 / 4096 = 3.6 cm).

[0611] According to an embodiment, in case of use of a second order polynomial approximation, the present invention is configured to implement the following steps:

[0612] • Finding the maximum of the initial pseudo-spectrum;

[0613] • Extracting the maximum value, and preferably the values of the two neighbors (distance bins immediately at left and right of the maximum index);

[0614] • Computing the maximum position of the 2nd order polynomial passing through the 3 extracted points, as this polynomial is assumed to approximate the underlying pseudo-spectrum curve.Figure 12 illustrates this embodiment:

[0615] • Circles: the pseudo spectrum, centered on the maximum value among the candidate grid:

[0616] ■ Maximum value is the circle at x=0, equal to 4

[0617] ■ Both neighbors are also represented as circles at -1 and +1.

[0618] • Curve: approximation polynomial. Here, for this example, it is equal to:

[0619] Equation 16 : p(x) = a2x2+ a x + a0

[0620] Where

[0621] The maximum of the curve i

[0622]

[0623] According to an embodiment, the present invention is configured to:

[0624]

[0625] g

[0626] According to an embodiment, the present invention relates to a first radio signal transceiver 210 comprising at least:

[0627] • a wireless communication unit 211 ,

[0628] • a memory unit 212,

[0629] • a processing unit 213, and

[0630] • an antenna 214.

[0631] According to an embodiment, the wireless communication unit 211 is configured to send and receive data to at least one second radio signal transceiver 220.

[0632] According to an embodiment, the memory unit 212 is configured to store data and at least one computer program.

[0633] According to an embodiment, the processing unit 213 is configured to execute at least said computer program.

[0634] According to an embodiment, the first radio signal transceiver comprises at least one array of antennas. Preferably, the array of antennas is designed for omni-directional radiation and / or for specific directionality depending on the application requirements. The number of antennas in the array can be customized to optimize coverage and transmission efficiency. This results in better communication reliability and longer range capabilities. Moreover, the antenna array can be integrated with other components of the transceiver, such as power amplifiers or filters, to form a compact and efficient design.According to an embodiment, and as illustrated by figure 2, the present invention relates to a radio signal processing system 200 as previously described. This radio signal processing system 200 is configured to estimate at least one geometrical metric between a first radio signal transceiver 210 and a second radio signal transceiver 220 using phase-based measurements and coherence group processing, as previously described.

[0635] Preferably, the first radio signal transceiver 210 comprises a wireless communication unit configured to send and receive data to at least one second radio signal transceiver 220, a memory unit configured to store data and at least one computer program, and a processing unit configured to acquire a set of measurement results, define at least one coherence group, construct at least one grid of candidate geometrical metric values, select input data consisting of the set of measurement results, apply a deflation loop for each candidate geometrical metric value in the grid, and generate new input data by removing the estimated contribution from the input data.

[0636] Advantageously, the second radio signal transceiver 220 also comprises a wireless communication unit for sending and receiving data to the first radio signal transceiver 210, a memory unit for storing data and instructions, and a processing unit for executing the instructions.

[0637] This invention relates to a method for estimating geometrical metrics, specifically distance and angle, between devices using phase-based measurements. The method involves defining coherence groups based on criteria such as measurement instant, application type, and device motion. For each candidate metric value, a pseudo spectrum is computed using coherence group-wise correlations or scalar products. The maximum correlation is found, and the corresponding contribution is estimated and removed. This process is repeated until a stopping criterion is met. Each contribution is estimated using a 2-steps (coarse / fine) approach to handle multipath issues through an iterative approach where contributions are successively estimated and removed from the input data. The method can be used in Bluetooth Channel Sounding, which will be part of future Bluetooth 6.0 "Atlanta," for estimating distance between moving devices based on BLE Channel Sounding measurements. It is a solution that mitigates both multipath propagation effect and channel coherency issue by using vector inputs containing the product of measurements made on initiator and reflector devices, channel number, and coherence group. The method uses a correlation-deflation algorithm to iteratively estimate each linear component and deflate the PCT from estimated path components for better visibility of weaker paths.

[0638] Unless otherwise specified herein, or unless the context clearly dictates otherwise the term about modifying a numerical quantity means plus or minus ten percent. Unless otherwise specified, or unless the context dictates otherwise, between two numerical values is to be read as between and including the two numerical values.

[0639] In the present description, some specific details are included to provide an understanding of various disclosed implementations. The skilled person in the relevant art, however, will recognize that implementations may be practiced without one or more of these specific details, parts of a method, components, materials, etc. In some instances, well-known methods associated with artificialintelligence, machine learning and / or neural networks, have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the disclosed implementations.

[0640] In the present description and appended claims "a", "an", "one", or "another" applied to "embodiment", "example", or "implementation" is used in the sense that a particular referent feature, structure, or characteristic described in connection with the embodiment, example, or implementation is included in at least one embodiment, example, or implementation. Thus, phrases like "in one embodiment", "in an embodiment", or "another embodiment" are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments, examples, or implementations.

[0641] As used in this description and the appended claims, the singular forms of articles, such as "a", "an", and "the", may include plural referents unless the context mandates otherwise. Unless the context requires otherwise, throughout this description and appended claims, the word "comprise" and variations thereof, such as, "comprises" and "comprising" are to be interpreted in an open, inclusive sense, that is, as "including, but not limited to".

[0642] Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is, therefore, intended to be limited solely by the scope of the appended claims.References

[0643] 10 Pseudo-spectrum curve

[0644] 11 Real distance

[0645] 12 Analysis function

[0646] 20 Pseudo spectrum curve

[0647] 21 Approximation polynomial

[0648] 100 A method for estimating a geometrical metric between a first radio signal transceiver and a second radio signal transceiver

[0649] 110 Acquiring a first set of measurements results

[0650] 120 Defining a coherence group

[0651] 130 Constructing a grid of candidates

[0652] 140 Selecting input data

[0653] 150 Applying a deflation loop

[0654] 151 Computing a pseudo-spectrum

[0655] 152 Finding the maximum correlation

[0656] 153 Estimating the contribution of the candidate

[0657] 154 Generating new input data by removing the estimated contribution

[0658] 155 Repeating steps 151 to 154 with the new input data until meeting a predetermined criterion 200 A radio signal processing system for estimating a geometrical metric between a first radio signal transceiver and a second radio signal transceiver

[0659] 210 A first radio signal transceiver

[0660] 211 A wireless communication unit

[0661] 212 A memory unit

[0662] 213 A processing unit

[0663] 214 An antenna

[0664] 220 A second radio signal transceiver

[0665] 221 A wireless communication unit

[0666] 222 A memory unit

[0667] 223 A processing unit

[0668] 224 An antenna

Claims

58Claims1. A method (100) for estimating a geometrical metric between a first radio signal transceiver (210) and a second radio signal transceiver (220), using phase-based measurements and coherence group processing, the method being configured to be executed by a radio signal processing system (200) comprising the first radio signal transceiver (210) and the second radio signal transceiver (220), the method (100) comprising the following steps:a) Acquiring (110), by the first radio signal transceiver (210), a first set of measurement results, the first set of measurement results comprising a set of two-way frequency responses, the set of two-way frequency responses comprising a measured two-way frequency response for each frequency of a predetermined list of frequencies, each of these two-way frequency responses comprising vectors of complex -valued data; b) Defining (120), by a processing unit (213) of the first radio signal transceiver (210), at least one set of coherence groups, each coherence group of this set of coherence group comprising at least one subset of the first set of measurement results, each subset of the first set of measurement results comprising:• Results of measurements taken at the same time frame; and / or• Results of measurements taken during the same application running on at least one among said first radio signal transceiver (210) and said second radio signal transceiver (220); and / or• Results of measurements taken when at least one radio signal transceiver among said first radio signal transceiver (210) and said second radio signal transceiver (220) is stationary or moving at a certain speed regarding the at least another radio signal transceiver taken among said first radio signal transceiver (210) and said second radio signal transceiver (220); and / or• Results of measurements from the same pair of antennas, preferably one from each radio signal transceiver taken among said first radio signal transceiver (210) and said second radio signal transceiver (220);c) Constructing (130), by the processing unit (213) of the first radio signal transceiver (210), a grid of candidate geometrical metric values;d) Selecting (140) input data, said input data comprising the first set of measurement results (PCT);e) Applying (150) a deflation loop on the first set of measurement results (PCT), by the processing unit of the first radio signal transceiver, the application of a deflation loop comprising:i. Computing (151) a pseudo-spectrum indexed by the geometrical metric values in the grid, using scalar products, preferably made group per group; and59ii. Finding (152) the geometrical metric value corresponding to the pseudo-spectrum maximum; andHi. Estimating (153) the contribution of this candidate geometrical metric value; and iv. Generating (154) new input data by removing the estimated contribution from the input data;v. Repeating (155) steps i to iv on the new input data until a stopping criterion is met. f) when the stopping criterion is met, the final estimated geometrical metric value is selected among the set of candidate geometrical values.

2. The method (100) according to claim 1 , comprising:a step of recording the estimated contribution of each candidate geometrical metric values, after the step of estimating the contribution of the candidate geometrical metric value;after applying the deflation loop, calculating a threshold based on the recorded estimated contribution of the candidate geometrical values;in response to meet the stopping criterion, selecting a set of estimated contributions, each estimated contribution of this set of estimated contributions being greater than the calculated threshold; anddetermining the smallest geometrical metric value among the geometrical metric values of the set of estimated contributions.

3. The method (100) according to claim 1 wherein the final estimated geometrical metric value is the minimal value among the set of candidate geometrical values.

4. The method (100) according to claim 1 wherein the geometrical metric is a distance, preferably the shortest distance, between the first radio signal transceiver (210) and the second radio signal transceiver (220), and wherein the criterion is a power lower than a predetermined power threshold, and wherein the candidate geometrical metric value is the minimum distance corresponding to the shortest path between the first radio signal transceiver (210) and the second radio signal transceiver (220).

5. The method (100) according to claim 1 wherein the first radio signal transceiver (210) comprises an array of antennas, each antenna of the array of antennas having a predetermined position, and wherein the geometrical metric is an angle of arrival between the first radio signal transceiver (210) and the second radio signal transceiver (220), and wherein the angle of arrival is determined using distance differences between each antenna of said array of antennas and the second radio signal transceiver (210), and wherein the criterion is a power lower than a predetermined power threshold, and wherein the candidate geometrical metric value is calculated using the minimum distance corresponding to the shortest path between the second radio signal transceiver (220) and each of the antenna of the array of antennas.

606. The method (100) according to any one of the previous claims wherein the vector of complexvalued data comprised the following vectors:{P(fc)}: the vector comprising, for each frequency of the predetermined list of frequencies, the product of the measurements made on the first radio signal transceiver (210) and the second radio signal transceiver (220), P being an estimate of the two-way frequency response at each frequency of the predetermined list of frequencies;{ / ).}: the vector comprising, for each frequency of the predetermined list of frequencies, data related to the frequency;{gk}: the vector comprising the coherence group, the measurement results belongs to.

7. The method (100) according to the previous claim wherein the geometrical metric is a distance and wherein, for each candidate geometrical metric value in the grid, the pseudospectrum is a sum of coherence group-wise correlations between a measurement result and an expected measurement result corresponding to the candidate geometrical metric value as follow:<<<Where:b is the index in the candidate geometrical metric value grid,G is the number of coherence groupsQgis the number of steps belonging to coherence group gkg qis the q-th measurement results index in group gdbis the geometrical metric value corresponding to index bfkgqis the radio frequency channel of step kg qis the two-way measurement result of index kg qon group index g and in-group index qc is the wave propagation speed in m / ps8. The method (100) according to the previous claim wherein the step has a size chosen to be equal tops, where J is an integer, and wherein the minimum value of J is higher or equal to 8, preferably equal to 9.

9. The method (100) according to claim 6 wherein the geometrical metric is an angle of arrival, and wherein the first set of measurement results comprises a set of measurement results, where Nais the number of antennas of the first first radio signal transceiver and wherein, for each candidate geometrical metric value in the grid, the pseudo-spectrum is as follow:61Where:P(a)' is a measurement from a constant tone extensionis the unit vector in the considered direction 0.is the position vector of the antenna= OMa, where 0 is the center of said array of antennas and Mais the position of the antenna.

10. The method (100) according to any one of the previous claims wherein estimating the contribution of the candidate geometrical metric value comprises:Calculating a search vector anof G complex values, one per coherence group: an(g), g = 0 to G-1 ;Computing the contribution for each coherence group, as follow:<Which corresponds to a scalar product of sub-vectors of the measurement (P) and the reference (Pa), corresponding to group g, and an(g) is a complex value.

11. The method (100) according to any one of claims 1 to 10 wherein said stopping criterion is met if:A number of iterations is higher than a predetermined number of iterations, orA last power contribution of the new input data is lower than a predetermined number p times a first power contribution of the input data.

12. The method (100) according to any one of the previous claims wherein estimating the contribution of the candidate geometrical metric value comprises:Finding the maximum of a pseudo-spectrum on the input data;Extracting the maximum value and the values of the two neighbors immediately at left and right of said maximum;Computing the maximum position of a second order polynomial passing through the maximum value and said two neighbors, as this polynomial is configured to approximate the underlying pseudo-spectrum curve.

13. A computer product program for estimating a geometrical metric between a first radio signal transceiver (210) and a second radio signal transceiver (220) which, when executed by a processing unit (213,223), executes the method (100) according to any one of the previous claims.

14. A computer-readable storage medium storing instructions that, upon being executed by a processing unit (213, 223), cause the processing unit (213, 223) to perform the method (100) according to any one of claims 1 to 12.

15. A first radio signal transceiver (210) comprising:62A wireless communication unit (211) configured to send and receive data to a second radio signal transceiver (220);A memory unit (212) configured to store data and a computer product program according to claim 13;A processing unit (213) configured to execute the computer product program.

16. A radio signal processing system (200) for estimating a geometrical metric between a first radio signal transceiver (210) and a second radio signal transceiver (220) using phase-based measurements and coherence group processing, the system (200) comprising:a) A first radio signal transceiver (210), the first radio signal transceiver (210) comprising:• A wireless communication unit (211), the wireless communication unit (211) being configured to send and receive data to a second radio signal transceiver (220); • A memory unit (212), the memory unit (212) being configured to store data and a computer product program ;• A processing unit (213), the processing unit (213) being configured to:• Acquire at least one first set of measurement results;• Define at least one coherence group;• Construct at least one grid of candidate geometrical metric values;• Select input data, the input data comprising the first set of measurement results; • Apply a deflation loop on the first set of measurement results, the application of a deflation loop comprising:i. Computing a pseudo-spectrum indexed by the geometrical metric values in the grid, using scalar products, preferably made group per group; and ii. Finding the geometrical metric value corresponding to the pseudo-spectrum maximum; andHi. Estimating the contribution of this candidate geometrical metric value; and iv. Generating new input data by removing the estimated contribution from the input data;v. Repeating steps i to iv on the new input data until a stopping criterion is met. b) The second radio signal transceiver (220), the second radio signal transceiver (220) comprising:• A wireless communication unit (221), the wireless communication unit (221) being configured to send and receive data to the first radio signal transceiver (210);• A memory unit (222), the memory unit (222) being configured to store data and instructions;• A processing unit (223), the processing unit (223) being configured to execute instructions.