Modulation method for encoding and decoding a UWB message generating a time offset in the data bits
Patent Information
- Application Number
- EP2023726283
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-04
- Filing Date
- 2023-05-04
- Publication Date
- 2025-03-12
AI Technical Summary
Current UWB signal encoding and decoding methods face challenges in achieving precise localization with improved range and low energy consumption, as they are either costly in terms of hardware and energy or suffer from low spectral energy detection difficulties.
A method involving the generation of a header encoded by a first pseudo-random code and data segments encoded using a second pseudo-random code, where the data segments are positioned based on a temporal reference and autocorrelation peaks, allowing for improved arrival time accuracy and reduced energy consumption.
This method enhances the accuracy of arrival time estimation, improves location precision, and reduces energy consumption in UWB tracking systems by optimizing the orthogonality and autocorrelation of data codes.
Smart Images

Figure 1.1
Abstract
Description
[0001] Description
[0002] Title: METHOD FOR ENCODING AND DECODING A UWB MESSAGE USING A MODULATION GENERATING A TIME SHIFT OF THE DATA BITS
[0003] Field of invention
[0004] The field of the invention relates to the field of transmitting information by means of radio signals. In particular, the field of the invention relates to the field of modulating UWB signals. More particularly, the field of the invention relates to the field of encoding information to be transmitted by means of UWB signals.
[0005] State of the art
[0006] The acronym "UWB" (Ultra Wide Band) refers to ultra-wideband radio signals transmitted by one or more transmitting devices to one or more receiving devices, and whose instantaneous frequency spectrum is greater than 500 megahertz (at -10 dB relative to the maximum power of said instantaneous frequency spectrum). In addition, a UWB signal is relatively insensitive to the attenuation phenomenon due to the multiple paths taken by a radio wave. A UWB signal can therefore provide good spatial and temporal resolutions.
[0007] It is known in the prior art to implement systems for locating one or more devices transmitting radio signals, in particular UWB. Such transmitting devices may, for example, be materialized by radio tags and transmit signals towards one or more receiving devices, for example materialized by one or more beacons. To detect the position of the transmitter, it is common to estimate an arrival time of the transmitted signal. This estimation of the arrival time is, for example, carried out by the implementation of a digital correlator at the receiver, which generates correlation peaks at sampling times of the received signal. The accuracy of the estimation of the arrival time of the message is then correlated with the location accuracy of the transmitting device.The estimation of the signal arrival time then corresponds to the instant of detection of the first correlation peak whose amplitude exceeds a predetermined threshold. Due to its very short duration, a pulse has very rapid rising and falling edges, which makes it possible to determine, at the level of a device receiving the UWB signal, a very precise arrival time of a pulse. It is also possible to distinguish quite clearly the shortest path from the other paths taken by the radio wave. All this contributes to optimizing an estimation of the geographical position of a device emitting a UWB signal from the arrival time of said signal.
[0008] To estimate the arrival time of a transmitted message, various methods are known in the prior art. For example, it is known to implement a direct sequence spread spectrum modulation method (better known by the acronym DSSS in the English literature). In such a method, a data message is encoded in the form of a sequence of bits and each bit is modulated with a pseudo-random code. The transmitted message is then decoded at the receiver by sampling the received signal and implementing correlation calculations from the received signal and with respect to a reference signal. With such a method, the accuracy of the estimation of the arrival time of the message depends on the sampling frequency of the received signal: the higher the latter, the better the estimation of the arrival time of the message.However, a disadvantage of this method is that increasing the sampling frequency to improve the estimation of the arrival time generates significant costs; both from a hardware point of view and from a system energy consumption point of view. In addition, such a method is no longer advantageous when the Nyquist frequency is reached.
[0009] It is also known to implement an “all or nothing” type modulation, also referred to in the English literature as “ON OFF Keying”. In this type of modulation, each binary sequence is composed of binary symbols that can take two states: a first state and a second state. The second state corresponds, for example, to the opposite state of the first state. For example, the first state is represented by the value “1” and the second state is represented by the value “- 1”, corresponding respectively to the presence or absence of a pulse. However, a disadvantage of such modulation comes from the difficulty in detecting the signal due to low spectral energy. One objective of the invention is to overcome the disadvantages of the prior art by proposing a method for encoding and decoding a UWB message allowing more precise location, with improved range, and requiring low energy consumption.
[0010] Summary of the invention
[0011] According to a first aspect, the invention relates to a computer-implemented method for encoding at least one data message intended to be transmitted by a UWB transmitter to a UWB receiver, the method comprising:
[0012] • Generation of a header encoded by a first pseudo-random code, said header defining a time reference after which a sequence of data segments is intended to be transmitted;
[0013] * Generation of the sequence of data segments, each data segment encoding at least one useful data value by means of a second pseudo-random code and from: o the time reference, o a position of the data segment in the sequence; o an autocorrelation peak of the second pseudo-random code.
[0014] One advantage is to improve the accuracy of calculating the arrival time of the data message. Another advantage is to reduce the energy consumption of a UWB location system. Another advantage is to improve the location accuracy of a transmitting device.
[0015] According to one embodiment, each data segment comprises a set of bits, the method comprising a time sliding operation of a subset of bits encoding the useful data value of at least one data segment of the sequence of data segments to position said subset of bits in the first position in the data segment.
[0016] One advantage is to shift the position of an autocorrelation peak of the data message to improve the decoding of a useful data of said data message.
[0017] According to one embodiment, the method comprises generating the first pseudo-random code and / or the second pseudo-random code from an initial pseudo-random code. According to one embodiment, generating the first pseudo-random code or the second pseudo-random code by replacing at least one bit of the initial pseudo-random code with a replacement pseudo-random code.
[0018] According to one embodiment, each bit of the first replacement pseudorandom code is replaced by a second replacement pseudorandom code.
[0019] According to one embodiment, the initial pseudo-random code comprises a first Barker sequence and the first replacement pseudo-random code comprises a second Barker sequence.
[0020] According to one embodiment, the second replacement pseudo-random code comprises a third Barker sequence.
[0021] According to one embodiment, the first Barker sequence, the second Barker sequence and the third Barker sequence are the same Barker sequence. According to a variant, they are different Barker sequences. For example, they are Barker sequences of different sizes.
[0022] One advantage is to encode data with shorter sequences while maintaining a minimal autocorrelation value.
[0023] According to one embodiment, the method comprises generating a plurality of second pseudo-random codes from the initial pseudo-random code by successively applying time shifts of a predefined number of bits to the initial pseudo-random code and wherein the generation of the set of segments is carried out from the plurality of second pseudo-random codes.
[0024] One advantage is to obtain a minimal autocorrelation value while simplifying the decoding of the transmitted data.
[0025] Another advantage is to optimize the orthogonality of data codes between them.
[0026] According to one embodiment, the first pseudo-random code has a number of bits greater than the number of bits of the second pseudo-random code.
[0027] An advantage is to obtain greater precision on a time reference used a posteriori to determine the arrival time and the autocorrelation peaks of the segments of a data message. According to another aspect, the invention relates to a computer-implemented method for locating a transmitter comprising encoding the data message according to the first aspect of the invention, the method comprising receiving a plurality of data messages by a plurality of UWB beacons, each beacon comprising a clock, said reception comprising:
[0028] • synchronization of the clocks of the UWB tags with each other;
[0029] • timestamp, by each clock, of the reception of data messages;
[0030] • calculating the position of the transmitter from the data messages received by the plurality of UWB beacons;
[0031] According to another aspect, the invention relates to a computer-implemented method of decoding at least one data message encoded by the method according to the first aspect of the invention and transmitted by a UWB transmitter comprising:
[0032] • Measurement of a first arrival signal, demodulation of the first arrival signal and calculation of a first autocorrelation function of the demodulated signal;
[0033] • Determination of the autocorrelation peak of the first autocorrelation function;
[0034] • Determination of the time reference from said autocorrelation peak;
[0035] • Measuring a plurality of second arrival signals, demodulating the second arrival signals and, for each second arrival signal, o Calculating a second autocorrelation function of the demodulated second signal o Determining an autocorrelation peak of the second autocorrelation function o Measuring a time shift between the time reference or the start of a data segment and the autocorrelation peak; o Decoding a useful data value as a function of the measured shift
[0036] According to one embodiment, applying the second autocorrelation function comprises implementing a time-sliding operation of at least one bit of at least one data segment of the sequence of data segments of the second pseudo-random code.
[0037] According to another aspect, the invention relates to a UWB transmitter comprising a computer configured to implement the steps of the encoding method.
[0038] According to another aspect, the invention relates to a UWB receiver comprising a computer configured to implement the steps of the decoding method.
[0039] According to another aspect, the invention relates to a system for encoding and decoding at least one data message comprising a UWB transmitter.
[0040] According to another aspect, the invention relates to a system for encoding and decoding at least one data message comprising a UWB transmitter and a plurality of UWB tags each comprising:
[0041] • a clock for measuring timestamp data of the reception of data messages transmitted by the UWB transmitter;
[0042] * a calculator for: o Synchronizing the clocks of the plurality of UWB tags with each other; o Calculating by trilateration a position data of the UWB transmitter at the origin of the transmission of the data message.
[0043] Brief description of the figures
[0044] Other characteristics and advantages of the invention will emerge on reading the detailed description which follows, with reference to the appended figures, which illustrate:
[0045] ■ Fig.1: An example in which a data message includes a header and a set of segments containing useful data.
[0046] ■ Fig.2: Transmission of data messages from a UWB transmitting device to a receiving device.
[0047] ■ Fig.3: A header and a data segment encoded by two pseudo-random codes of different lengths.
[0048] ■ Fig.4: An example in which a first data message includes the header and a second data message includes multiple data segments ■ Fig.5: An example in which a first data message includes the header and each subsequent data message includes a segment.
[0049] ■ Fig.6: an example in which the header is encoded by a superposition of several Barker sequences.
[0050] Detailed description
[0051] Definitions
[0052] In the following description:
[0053] - A "radio signal" is an electromagnetic wave propagating by non-wired means and whose frequencies are between a few kilohertz and up to several hundred gigahertz.
[0054] - A “first MESi data message” is a sequence of bits transmitted by means of a modulated signal emitted in the UWB (Ultra-Wide Band) band.
[0055] - In the following description, we consider that the arrival time of a MESn data message corresponds to:
[0056] • Either upon reception and decoding of the information included in the data message, for example one or more useful data DATAn encoded in one or more segments,
[0057] • Either upon reception and generation of a reference time marker Tsync, which will for example be used as a reference to calculate one or more autocorrelation peak(s) of the following segments received.
[0058] - "Superimposed" codes are defined as codes that replace at least one bit of a code with another code. In this case, the codes replacing each bit are referred to as "internal" codes. The code in which at least one bit is replaced with another code is referred to as an "external" code. The codes that are superimposed in this way form "layers" of codes. Examples of "internal" and "external" codes are identical codes, inverse codes, or codes that are different from each other. They can also be a combination of these examples. Examples include Barker sequences of the same or different lengths.
[0059] - Pseudo-random codes consist of a set of bits. Subsets of bits are designated to refer to a part of these sets. Operations can be applied to these sets or subsets, such as time-shift operations to move a subset of bits to a different position in a data segment Sn.
[0060] - A position of a bit in a data segment Sn is understood to mean a temporal position of said data bit. For example, when referring to the first position in a data segment, we are referring to the bit that is read and decoded first by the receiver. Thus, when performing a temporal sliding operation on a subset of bits in a data segment to shift this subset to the first position, we mean that this subset of bits starts in the first position in the data segment Sn and will be decoded first by the receiver.
[0061] - An initial pseudo-random code is designated to designate a pseudo-random code on which operations can be applied to obtain a different pseudo-random code. Such operations may for example comprise the encoding of a bit, a set of bits or a subset of bits by one or more identical or different pseudo-random codes to produce the first pseudo-random code PNi or the second pseudo-random code PN2.
[0062] - A first pseudo-random code is designated as a “replacement” code to designate a pseudo-random code replacing a data bit of the initial pseudo-random code.
[0063] - In some cases, the first replacement pseudo-random codes may themselves include replacement pseudo-random codes, referred to as the "second replacement pseudo-random code". This makes it possible to create "layered" codes (one or more bits of the pseudo-random codes are replaced by other pseudo-random codes). This advantageously makes it possible to artificially create codes of greater dimension. These replacement pseudo-random codes can, for example, be used to form the first pseudo-random code PNi and / or one or more second pseudo-random codes PN2.
[0064] In the remainder of the description, we will consider, in a non-limiting manner, the particular case of the geolocation of a UWB transmitter device which transmits a signal towards a receiving device. Such a UWB transmitter comprises, for example, a radio tag (also called a radio marker).
[0065] The transmitter is, for example, positioned on a particular object whose position in a particular environment is to be precisely determined, for example in a closed warehouse. The UWB transmitter can also be affixed to a moving object passing close enough to a receiving device for the signal emitted by said transmitter to be picked up by the receiver.
[0066] The UWB transmitter can be electrically passive; that is, it only operates when powered by a remote device via a wireless link, for example, a UHF source. The UWB transmitter can also be electrically active, that is, it is physically and constantly connected to a power supply source; for example, a battery.
[0067] The UWB transmitter comprises transmission means for transmitting UWB radio signals towards a receiving device. The transmission means comprise, for example, an antenna, a processor, a local oscillator, analog and / or digital filters and a power amplifier.
[0068] The receiving device comprises receiving means for receiving the radio signals from the UWB transmitter. Such means include, for example, and without limitation, an antenna, a demodulator, one or more correlators, an analog / digital converter, an amplifier, a processor, a local oscillator. It is not excluded that the invention applies to different implementations, since a message is encoded and transmitted from a transmitting device to a receiving device.
[0069] The remainder of the description is based on various embodiments of the invention in which pseudo-random codes are implemented, including or not including Barker sequences.
[0070] Different embodiments are described in each of these embodiments which may apply to one or more of these embodiments. Thus, the described features of one embodiment are directly applicable to another embodiment. The invention protects these different combinations of described features throughout all of the embodiments.
[0071] Data messages
[0072] According to a first aspect, with reference to figures 1, 4 and 5, the invention relates to a method for encoding at least one data message MESi .MESn. A “second data message MES2”, a “third data message MES3”, etc. up to an “nth data message MESn” are subsequently designated to describe data messages transmitted successively by the UWB transmitter.
[0073] In the remainder of the description, the term "header" HEAD refers to a sequence of bits of the first encoded MES1 data message including a time reference Tsync.
[0074] According to various examples, MESi ... MESn data messages include:
[0075] * Let the header HEAD be followed by n-segments of data, each segment comprising a useful data DATAn to be decoded by a receiver, as illustrated in figure 1;
[0076] * Let the HEAD header alone, as shown in Figure 4;
[0077] * Let n-segment(s) of data without the HEAD header, as illustrated in Figure 4 and 5. In Figure 4, the second data message MES2 encodes all the useful data (DATA1... DATAn). In Figure 5, each data message encodes one segment of useful data (DATA1... DATAn). More generally, a data message MESi .MESn may include all or part of the message to be transmitted and encoded in the HEAD header and the n-segments.
[0078] According to one embodiment, at least one data message MESi . MESn is transmitted in an “all or nothing” mode, also referred to in the English literature as “On-Off Keying” or “OOK”. In this case, the “0” of the pseudo-random codes PNi and PN2 are not transmitted. An advantage is to reduce energy consumption by transmitting only part of the energy when transmitting said pseudo-random codes PN1 and PN2.
[0079] According to one embodiment, at least one MESi data message. MESn is transmitted according to a modulation called “BPSK” or “Binary Phase Shift Keying”. In this case, the binary information to be transmitted via the MESn data message is carried by a reference signal, also referred to by the term “carrier” in the scientific literature.
[0080] Generation of the header and first pseudo-random code
[0081] Referring to Figures 1, 4 and 5, the encoding of at least one MESi . MESn message includes the generation of the HEAD header.
[0082] The transmitted HEAD header bit sequence may comprise one or more bit sequences, which may be of the same length or different lengths. It may also comprise several concatenated bit sequences of the same length. So-called "stuffing" bits may be included in the sequence in the case where a transmitted useful data is not a multiple of the length of a bit sequence. So-called "parity" and "oddity" bits may also be included in the sequence to detect a transmission error at a transmitting device.
[0083] The HEAD header is transmitted to the receiver upstream of the transmission of a plurality of segments Sn in which it is desired to determine an autocorrelation function. This autocorrelation function is for example determined from a time reference Tsync defined by a time position in the bit sequence of the HEAD header.
[0084] A particular interest of the HEAD header lies in the generation of a reference time marker, to establish the start of a sequence comprising the useful data to be decoded by the receiver. The HEAD header aims to establish a demarcation between the time reference Tsync and one or more sequences of data bits comprising useful data DATAi ... DATAn. "Useful data" means data defining a message, or information to be transmitted within an encoded data message MESi ... MESn. This is for example an identifier of the transmitting device or location data.
[0085] Another purpose of the HEAD header is to serve as a reference point for measuring the arrival time of a MESi...MESn data message. According to one example, the reception, reading and decoding by the receiver of the message encoding the HEAD header results in the generation of the reference time marker Tsync. Such a marker defines a time reference for determining the arrival time at the receiver of one or more MESi...MESn data messages.
[0086] According to one embodiment, with reference to FIG. 3, the header HEAD is encoded by a first pseudo-random code PNi. In the remainder of the description, the terms “pseudo-random code” and “pseudo-random sequence” are considered to be equivalent and are intended to designate the same code.
[0087] According to one embodiment, the first pseudo-random code PNi is known to the transmitting device and / or the receiving device.
[0088] According to one embodiment, the first pseudo-random code PNi comprises a binary sequence of type n-sequences. However, nothing excludes the implementation of different sequences to encode the header HEAD, such as one of the following sequences: a Kasami sequence or a Hadamard-Walsh sequence.
[0089] According to one embodiment, the size of the first pseudorandom code PNi takes any value in number of bits Nb from the following list of values: [2 1 , 2 2 , 2 3 , 2 4 , 2 5 , 2 6 , 2 7 , 2 8 , 2 9 , 2 10 , 2 11 , 2 12]. In this case, there are Nb possible sequence possibilities for the first pseudo-random code PNi. Advantageously, the choice of a particular value among the aforementioned values makes it possible to optimize the arrival time of the first data message MESi at the receiver. This makes it possible to improve the location accuracy of the transmitting device.
[0090] According to a preferred embodiment, the first pseudorandom code PNi comprises a Barker code. A "Barker code" or a "Barker sequence" is equivalently referred to as a finite sequence of N values. Each value may be equal to either +1 or -1, with an ideal autocorrelation property such that the off-peak (non-cyclic) autocorrelation coefficients are as small as possible.
[0091] For ease of reading, we refer to "a Barker sequence three" as a Barker sequence of length equal to three bits, "a Barker sequence seven" as a Barker sequence of length equal to seven bits, "a Barker sequence eleven" as a Barker sequence of length equal to eleven bits, and so on depending on the length of a given Barker sequence.
[0092] In one embodiment, the first pseudo-random code PNi comprises a Barker eleven sequence. This is for example the following sequence: [+1 +1 +1 -1 -1 -1 +1 -1 -1 +1 -1 ], In alternative embodiments, the first pseudo-random code PNi comprises a Barker sequence two, three, seven or eleven. The Barker sequence two is for example the following sequence: [+1 -1 ]. The Barker sequence three is for example the following sequence: [+1 +1 -1 ]. The Barker sequence seven is for example the following sequence: [+1 +1 +1 -1 -1 +1 -1 ].
[0093] One advantage is to obtain a minimum autocorrelation value from a minimum sequence of data bits.
[0094] According to one embodiment, the first pseudo-random code PNi is generated from an initial pseudo-random code.
[0095] Header: Layered Code / LBPM
[0096] In one embodiment, the HEAD header is encoded by several superimposed first pseudo-random codes PNi. By "superimposed" is meant that at least one bit of a code is replaced by another code. In this case, the codes replacing each bit are designated as "internal" codes. The code on which at least one bit is replaced by another code is designated as an "external" code. The codes thus superimposed form "layers" of codes. The "internal" and "external" codes are for example identical codes, inverse codes or even different codes, it can also be a combination of these examples. They are for example Barker sequences of the same size or different sizes. For example, a bit of value "1" of an external code can be replaced by a Barker code of a given length and a bit of value "-
[0097] I » can be replaced by the inverse Barker code of this Barker code.
[0098] Figure 6 illustrates an example case of this mode in which the HEAD header is encoded by a plurality of overlapping Barker sequences.
[0099] These are Barker seven sequences and Barker eleven sequences. The outer code forming the upper layer is a Barker seven sequence. The inner codes forming the lower layers are Barker eleven sequences. In this case, each bit of the Barker seven sequence is replaced by a Barker eleven sequence, and each bit of the Barker eleven sequences is replaced by another Barker eleven sequence. This results in a header of size 7*1 1 *1 1 = 847 bits.
[0100] The example described above is not exhaustive. It is also possible to use Barker sequences of different sizes for the "inner" and "outer" codes forming the HEAD header. The outer code may, for example, comprise one Barker eleven sequence and the two inner codes may, for example, comprise two Barker eleven sequences. In this case, the HEAD header is of size 1 1 * 1 1 * 1 1 = 1331 bits. It is also possible to form more inner layers, for example, three inner layers, four inner layers, etc.
[0101] One advantage is to reduce the autocorrelation phenomenon, while limiting the energy consumption of the system and while maintaining good transmitter location accuracy.
[0102] Another advantage is to achieve higher performance compared to using a standard PN code while using a reduced code size.
[0103] Another advantage is to implement a delay between header decoding and data decoding. Another advantage is to obtain a signal with good noise resistance. Another advantage is to round the code to an even number of bits. Another advantage is to obtain a low autocorrelation threshold while optimizing the system's energy consumption. Another advantage is to define a reliable benchmark for decoding the payload. Another advantage is to define a time-of-arrival benchmark for the localization system. Indeed, a longer code allows for a better signal-to-noise ratio, and improves the estimation of the time-of-arrival. Payload data
[0104] According to one embodiment, at least one MESi .MESn data message comprises a Sn data segment.
[0105] A data segment Sn is a sequence of data bits. Each data segment Sn is, for example, positioned after the header HEAD in a data message MESi ... MESn. Each data segment Sn comprises, for example, payload data values DATAi . DATAn. The payload data values DATAi ... DATAn comprise, for example, information to be transmitted to the receiver, such as information identifying the transmitter. This is, for example, one or more symbols of a transmitter identifier. The payload data values DATAi .DATAn may also comprise location data.
[0106] Each useful data is for example encoded on a given bit sequence of a given segment Sn of a second pseudo-random code PN2. An autocorrelation function is for example implemented for each segment Sn of the data message MESi .MESn, so as to determine the position and the value of each bit comprising the useful data DATAi ... DATAn.
[0107] This implementation is particularly advantageous when each segment Sn is encoded by the same second pseudo-random code PN2. In this case, determining the position of each peak on which the autocorrelations are performed makes it possible to determine the values of the bits, and therefore to decode all the useful data transmitted within the first data message MESi.
[0108] In one embodiment, several segments Sn of a data message MESi . MESn each comprise symbols of an identifier of the UWB transmitter. In this case, decoding all of the segments of the data message MESi at the receiver makes it possible to reconstruct an identifier of the transmitting device.
[0109] According to one embodiment, the useful data values DATAi... DATAn comprise information on the position of the transmitter. This is made possible, for example, when the transmitter comprises a communication interface and a memory. The transmitter receives, for example, information on its location from a third-party device, such as a GPS system. It may also be a UWB beacon system that has reconstructed the position of the transmitter by implementing position calculations by trilateration.
[0110] According to one embodiment, the useful data values DATAi . DATAn comprise timestamp data. This is, for example, timestamp data of the time of transmission of the data message MESi by the transmitter. In this case, the transmitter comprises, for example, an integrated clock and a memory for storing data.
[0111] According to one embodiment, the useful data values DATAi . DATAn are encoded from a predefined time marker relative to the time reference Tsync. The time marker is for example positioned at an autocorrelation peak of the second pseudorandom code PN2.
[0112] Encoded data / layered code / LBPM
[0113] According to one embodiment, the useful data values DATAi . DATAn are encoded by a second pseudo-random code PN2. This is for example a binary sequence of type n-sequences. However, nothing excludes the implementation of different sequences such as for example a Kasami sequence or a Hadamard-Walsh sequence.
[0114] According to one embodiment, the size of the second pseudo-random code PN2 takes any value in number of bits Nb from the following list of values: [2 1 , 2 2 , 2 3 , 2 4 , 2 5 , 2 6 , 2 7 , 2 8 , 2 9 , 2 10 , 2 11 , 2 12]. Therefore, there are Nb possible sequences for the second pseudo-random code PN2. Advantageously, the code size chosen for the second pseudo-random code PN2 depends on the size of the first pseudo-random code PN1, which is for example longer, so as to optimize the transmission of data and the detection of the arrival time of a data message MES1...MESn. However, nothing excludes the use of pseudo-random codes PN1 and PN2 of the same size within the framework of the invention.
[0115] According to one embodiment, the second pseudo-random code PN2 encoding the payload data DATA1... DATAn comprises a Barker sequence. This is, for example, a Barker sequence two, a Barker sequence three, a Barker sequence seven or a Barker sequence eleven. The Barker sequence two is, for example, the following sequence: [+1 -1 ]. The Barker sequence three is, for example, the following sequence: [+1 +1 -1 ]. The Barker sequence seven is, for example, the following sequence: [+1 +1 +1 -1 -1 +1 -1 ]. However, nothing precludes the use of Barker sequences of different sizes or different arrangements.
[0116] According to one embodiment, at least one data message MESi ... MESn is encoded by a superposition of a plurality of second pseudo-random codes PN2. The codes are "superimposed" by the fact that at least one bit of a code is replaced by another code. In this case, the codes replacing each bit are designated as "internal" codes. The code for which at least one bit is replaced by another code is designated as an "external" code. The codes thus superimposed form "layers" of codes. The "internal" and "external" codes are, for example, identical codes, inverse codes or different codes. It may also be a combination of these examples. For example, they are Barker sequences of the same size or different sizes.
[0117] For example, these are pseudo-random codes of 127 bits. Another example is a superposition of Barker sequences. One advantage is that they can be used to implement a delay between decoding multiple consecutive data messages.
[0118] In a first illustrative example, the data message MESi ... MESn is encoded by superimposing two Barker eleven sequences. In this case, the final code length of 1 1 x 11 = 121 bits. The code is extended by 7 bits of value 0, to obtain a final code of 128 bits. One advantage is to implement a delay between the decoding of several consecutive data messages. Another advantage is to round the code to an even number of bits.
[0119] According to another illustrative example, at least one data message MESi ... MESn is encoded on 30 sequences of 4 data bits. In this case, the data message MES1 ... MESn carries 120 data bits.
[0120] According to another illustrative example, at least one MESi .MESn data message is encoded by 40 second PN2 pseudo-random codes each comprising a Barker sequence. Each Barker sequence carries, for example, 4 bits of data. In this case, the MESi .MESn data message carries 160 bits of data.
[0121] According to one embodiment, the data bits carried by at least one MESi ... MESn data message comprise error correction bits. These error correction bits correspond for example to half of the data bits carried by the MESi ... MESn data message. For each MESi ... MESn data message, the UWB pulses are for example transmitted by the UWB transmitter every 2 nanoseconds and with a latency of 40 nanoseconds between two pulses, i.e. a rate of 25 Mbytes / second. An advantage is to implement significant error correction parameters which allow more robust communication between the transmitting and receiving equipment in difficult conditions, such as communication conditions favoring interference.
[0122] According to one embodiment, the useful data values DATAi ... DATAn are encoded by a second pseudo-random code PN2 shorter than the first pseudo-random code PN1. The term "shorter code" means that the second pseudo-random code PN2 comprises a number of bits Nb less than the number of bits Nb of the first pseudo-random code PN1.
[0123] One advantage of using a short pseudo-random code is to reduce the transmission time at the transmitting device. Therefore, noise is advantageously reduced for the overall system. Indeed, considering a case where the system comprises a plurality of transmitters, two messages transmitted at random times by two transmitting devices have a lower probability of being transmitted at the same time if the transmission time of one of the messages is shorter. One advantage is to reduce the risks of interference. Another advantage is to reduce the complexity of the calculations performed at the level of the correlators of the receiving device, and therefore to reduce the energy consumption of the system. Another advantage is to occupy the radio channel for a shorter duration.
[0124] According to one embodiment, the useful data DATA1... DATAn are encoded with a time delay relative to the time reference Tsync-
[0125] According to one embodiment, a time marker T1 is associated with a portion of a data segment Sn comprising the useful data DATA1 ... DATAn. This time marker corresponds for example to the instant when the useful data DATA1 ... DATAn begin to be decoded by the receiver. In a variant, the time reference corresponds to the instant of end of decoding of at least part of the useful data DATA1 ... DATAn. In this case, the time marker T1 is for example positioned so as to demarcate the end of a first segment Sn and the start of a second following segment Sn+i. This embodiment of the invention is not limited to the aforementioned example cases. The time marker Ti can be positioned at any position of a data message MESi ... MESn to mark a given portion of said message.
[0126] According to one embodiment, the decoding of a data message MESi .MESn by the receiver results in the automatic generation of a plurality of time markers Ti...Tn.. For example, a first time marker Ti is generated following the decoding of the first segment Si by the receiver, and a second time marker T2 may be generated following the decoding of the second segment S2 by the receiver, and so on until all the segments Sn of the first data message MES1 have been decoded. Each time marker Ti ...T n is for example defined in relation to the time reference Tsync defined following the decoding of the HEAD header, or in relation to a time reference Tn-1 defined following the decoding of a previous segment. An advantage is to generate a time marker of the arrival time at the receiver of each segment Sn of a data message MES1 ... MESn.
[0127] According to one embodiment, at least one data message MESi ... MESn comprises a plurality of segments Sn which are all encoded by an identical pseudo-random code. This is for example the second pseudo-random code PN2. The use of the same code makes it possible to obtain autocorrelation when decoding the data message MESi .MESn. An advantage is to reduce the noise within the data message MES1... MESn.
[0128] One advantage is to overcome the phenomenon of "cross-correlation" which causes coherent noise between the codes when several different pseudo-random codes are implemented. According to one example, an autocorrelation peak is reached when the correlation value exceeds a predetermined threshold. In this case, a sufficiently high threshold is for example chosen to avoid detecting a "false" autocorrelation peak. In this case, it is also appropriate to choose a threshold sufficiently low to avoid missing the autocorrelation peak (for example in the case where the message transmitted by the transmitter is disturbed by interference during its journey to the receiver, and the maximum correlation value is consequently not reached). According to another example, the receiver detects the received code with the highest correlation value at the precise moment of arrival of the message. This correlation value depends in particular on the distance to the HEAD header.
[0129] Another advantage is to optimize the arrival time of data messages to the receiver. In the case where the receiver is used a posteriori to determine a position of the transmitter, for example when the receiver includes a UWB tag implementing calculations to reconstruct the position of the transmitting device by trilateration with other tags, better accuracy on the position of the transmitter is advantageously obtained.
[0130] According to one embodiment, the encoding of each segment Sn by the second pseudo-random code PN2 comprises the encoding of at least one symbol by said second pseudo-random code PN2. Each symbol is for example encoded on one bit of each segment Sn. According to another example, a plurality of symbols is encoded on a plurality of bits of each segment Sn. The useful data values DATAi .DATAn comprise for example all the symbols of each segment Sn. In this case, the encoded symbols define the message to be transmitted to the receiver, and the decoding of the data message makes it possible to decode the bits comprising said symbols which materialize for example an identifier of the transmitter.
[0131] In one embodiment, generating a given number of first or second pseudo-random codes PN1, PN2 for encoding the data comprises generating the inverse codes of each generated first or second pseudo-random code PN1, PN2.
[0132] One advantage is that it doubles the number of possible autocorrelation values.
[0133] According to one embodiment, the encoded symbols form a correction code. This is for example a Reed Solomon code. Such a code is for example encoded on 8 bits in a data message MESi .MESn. However, nothing excludes such a correction code from being encoded on a greater or lesser number of bits in the data message MES1. The Reed Solomon code formed is for example a reduced Reed Solomon code RS (28,14).
[0134] In one embodiment, at least one data message MESi ... MESn is protected by an error detection code. The error detection code is, for example, a cyclic redundancy check (CRC) error detection code. It is, for example, an 8-bit CRC error detection code. The error detection code is, for example, positioned upstream of the data message MESi ... MESn.
[0135] One advantage is being able to detect unintentional data changes in transmitted data messages, for example due to interference or faults in the transmitter or receiver.
[0136] In one embodiment, all data messages MESi ... MESn are protected by an error correction code. The error correction code comprises, for example, a concatenated error correction code, for example, a Reed-Solomon code. This is, for example, a Reed-Solomon code RS (28,14) with a generator polynomial equal to 1 + X 2 + X 3 + X 4 + X 8 .
[0137] In one embodiment, at least one data message MESi ... MESn is protected by a plurality of Reed-Solomon codes. These are, for example, two Reed-Solomon codes RS(15,2) with a generator polynomial equal to X 4 +X+1 on GF(4).
[0138] One advantage is that the data message can be reconstructed at the receiver following transmission errors.
[0139] In one embodiment, the method includes implementing spread spectrum. In one example, this is direct sequence spread spectrum, also referred to as DSSS. In another example, this is frequency hopping spread spectrum, also referred to as FHSS.
[0140] One advantage is that it makes the transmitted UWB signals more resistant to jamming and interference.
[0141] Another advantage is to increase the signal's resistance to fading, also referred to as "fading" in English literature.
[0142] Another advantage is that the signal can be disguised by increasing its similarity to random noise.
[0143] Another advantage is that it makes the signal more difficult to intercept.
[0144] Another advantage is to use bandwidth more efficiently, by allowing transmitted signals to share frequency bands with other types of transmitted signals. According to one embodiment, the method comprises a punctuation step. The punctuation step comprises for example the deletion of one or more parity bits in a bit sequence of one or more given segment(s). This step is for example implemented after encoding a data message MESi...MESn with an error correction code.
[0145] In one embodiment, the first pseudo-random code PNi and / or the second pseudo-random code PN2 comprise a first Barker sequence and at least one data bit of said first Barker sequence is replaced by a second Barker sequence. The first and second Barker sequences are for example of identical length. They may also be of different lengths, for example a Barker sequence eleven and a Barker sequence seven.
[0146] According to one embodiment, the second pseudo-random code PN2 is generated from an initial pseudo-random code.
[0147] According to one embodiment, the first pseudo-random code PN1 and the second pseudo-random code PN2 are generated from the same initial pseudo-random code. In a variant, they are generated from different initial pseudo-random codes.
[0148] In one embodiment, a plurality of second pseudo-random codes PN2 are generated from the same initial pseudo-random code on which successive shifts of at least one data bit are implemented. By "successive shifts of at least one data bit" is meant that the shift of at least one data bit makes it possible to generate a first second pseudo-random code PN2. Subsequently, a shift of at least one data bit on the first second pseudo-random code PN2 makes it possible to generate a second second pseudo-random code PN2. This operation can be repeated as many times as necessary to obtain the desired number of second pseudo-random codes.
[0149] According to one embodiment, a plurality of second pseudo-random codes are used to encode the useful data, said second pseudo-random codes being chosen so as to optimize the orthogonalization of the data codes between them.
[0150] According to one embodiment, the first pseudo-random code and / or the second pseudo-random code comprise a first Barker sequence and at least one data bit of said first Barker sequence is replaced by an artificial code comprising a second Barker sequence.
[0151] Encoding with a circular shift
[0152] According to one embodiment, at least one second pseudo-random code PN2 is constructed so as to associate with at least one useful data value DATAi .DATAn, a circular shift of said second pseudo-random code PN2. The term "circular shift" means a time shift of a sequence of data bits. To illustrate this mode, a detailed example of implementation of the invention is described below.
[0153] We consider the example case where the second pseudorandom code PN2 has a length of Nb = 256 bits, or 2 8one-bit shift possibilities for said second pseudo-random code PN2. The first data message MES1 is encoded and the encoding of said message MES1 includes the generation of the header HEAD. The header HEAD is encoded by the first pseudo-random code PN1, which in this example has a length of Nb = 1024 bits. The time reference Tsync is set to 1024 ème bit of the HEAD header, to mark the beginning of the transmitted message including the useful data (the beginning of the first segment Si). The encoding of the first data message MES1 involves the generation of 15 segments Sn. Each segment is encoded by the second pseudo-random code PN2 (15 times the same code to encode the 15 segments). There are 256 possible positions to encode the useful data DATA1 in the first segment Si (due to the 256 possibilities of 1-bit shift for the second pseudo-random code PN2). A symbol is encoded from the 52 èmeposition of the first segment Si, and corresponds to the useful data DATA1. A time sliding operation of the data bits of the second pseudo-random code PN2 is implemented, so as to shift the code in 52 èmeposition (which includes the useful data) in the first position of the first segment Si. In this way, the autocorrelation peak is advantageously shifted to the first position of the first segment Si. The data message MES1 generated by the UWB transmitter is then transmitted to a UWB receiver which will receive, store and decode said data message MES1. A first step in receiving the data message MES1 is the storage and reading of the header HEAD. Reading the header HEAD and determining a first autocorrelation function of the first pseudo-random code PNi makes it possible to determine the time reference from which the message including the useful data DATAi begins. A second step in receiving the data message MESi is the reception and storage of the 2 8 possible data codes for the first segment Si.
[0154] In this example, the receiver comprises two correlators. The decoding of the useful data DATAi included in the data message MESi corresponds to the calculation of an autocorrelation function by one of the correlators. Several data messages MESi ... MESn are continuously transmitted by the UWB transmitter towards the receiver. The arrival time of a message MESi ... MESn corresponds to the moment when the autocorrelation function is calculated by the correlator decoding said message MESn. During the calculation of the autocorrelation function of the first message MESi, a second message MES2 is sent from the UWB transmitter to the receiver. The second correlator stores the second message MES2 while the first message MESi is decoded by the first correlator. In this way, the data messages are advantageously decoded continuously.
[0155] For example, when a third MES3 data message is transmitted from the transmitter to the receiver, the first MESi data message will have been decoded and said third MES3 data message can be read and stored by the first correlator while the second MES2 data message is decoded by the second correlator. This process can be implemented continuously. The energy consumption of the system is optimized by continuously implementing the steps of transmitting, receiving and decoding all the MESn data messages.
[0156] An advantage of using the same pseudo-random code PN2 to encode the data is that the codes are of the same length (in our example case 256 bits). Thus, the search for the autocorrelation function on the 256 bits of the first segment S1 has a duration substantially equal to the storage of the 256 bits of the second segment S2. Therefore, it is possible to alternate between storage and decoding at the level of the two correlators and thus to continuously store and decode the data messages MESn transmitted by the UWB transmitter. The example previously described aims to illustrate an example of implementation of the encoding in “circular” mode; however, it is understood that the invention is not limited to this example. For example, PN codes of different lengths could be used, such as PN codes of 128 bits, 512 bits, etc. or a different size header such as 256-bit, 512-bit, 2048-bit, etc.Furthermore, it is not excluded to perform a circular shift of the data bits of the second pseudo-random code PN2 of more than 1 bit within the scope of the invention. For example, circular shifts of 2 bits can be performed; i.e. 128 possible shifts for a pseudo-random code with a length of 256 bits. According to another example, the code is 128 bits long and circular shifts of 8 bits are performed. In this case, it is possible to perform 16 different circular shifts of data bits. An advantage of such an implementation is to ensure additional time security on the detection of autocorrelation peaks in the data segments (Sn), and consequently to ensure that the useful data is not missed during the decoding of the data messages by the receiver.
[0157] Depending on different cases, the receiver may also comprise a number of correlators different from the number of two correlators described in the example, for example 3, 4, 5, 6 up to 256 correlators depending on the use cases.
[0158] An advantage of using 256 correlators is to have the certainty of detecting the autocorrelation peak of a given segment of the MES1 data message. Indeed, in the case where the data segment comprises 256 bits and the DATA1 payload is encoded on one byte of said segment, at least one of the 256 correlators will detect a maximum which corresponds to the autocorrelation peak and therefore to the decoding of the DATA1 payload. Another advantage of implementing 256 correlators is to have a second precise measurement of the arrival time of the first MES1 data message. Indeed, in this case, the arrival time of the MES1 data message corresponds to the duration between the transmission of the first MES1 data message by the UWB transmitter and the determination of the autocorrelation peak by one of the correlators of the UWB receiver.
[0159] According to one embodiment, at least one first pseudo-random code PN1 or at least one second pseudo-random code PN2 is formed from the same initial pseudo-random code on which a circular time shift of a given number of bits Nb is implemented. In this case, the code is folded back on itself in a circular manner following the time shift to generate a code of the same length as the initial code. For example, eight different codes of the same length can be constructed on the basis of the same initial Barker sequence, by implementing eight circular time shifts of different data bits. It is possible to obtain 16 different codes from these eight shifts, by generating the inverse codes of each of the codes obtained. An advantage is to obtain 16 possible correlation values.
[0160] In one embodiment, at least one first or second pseudo-random code PNi, PN2 is formed by a circular time shift of 8 bits from an initial pseudo-random code. Other codes are for example formed from the initial pseudo-random code by a circular time shift of two times 8 bits for the second code, three times 8 bits for the third code and so on until the desired number of codes is obtained.
[0161] One advantage is to optimize the orthogonalization of data messages between them.
[0162] One advantage is that it allows for optimized decoding of data messages that all originate from the same initial code.
[0163] Another advantage is to obtain a minimum value of autocorrelation by performing a time shift of a minimum number of data bits.
[0164] Differential mode
[0165] According to one embodiment, the time reference Tsync used to determine the autocorrelation function of a segment Sn of a data message MES1... MESn corresponds to a time marker of the start of a preceding segment Sn-x.
[0166] An advantage is to be able to use pseudo-random codes PN1 and PN2 of substantially similar size for the HEAD header and for the different Sn segments of the data message MESi ... MESn. In this case, the time reference Tsync can change upon reception of each new segment Sn. Therefore, it is possible to use a HEAD header of reduced size, which will for example only be implemented to determine the time reference Tsync allowing the calculation of the autocorrelation function of the first segment Si received. Advantageously, the use of a first pseudo-random code PNi of similar size to the second pseudo-random code PN2 makes it possible to reduce the total size of the transmitted data message. Consequently, the energy consumption of the transmitter and the receiver is reduced.
[0167] According to one embodiment, applying the second autocorrelation function comprises generating a circular shift of the at least one second pseudo-random code in order to generate a plurality of autocorrelation products.
[0168] According to one embodiment, the circular shift of the second pseudo-random code is carried out for 1 bit of data.
[0169] Creation of an artificial code
[0170] According to one embodiment, at least one MESi .MESn data message is encoded by an “artificial” code. An artificial code is understood to mean a code comprising a number Nb of bits and for which at least one bit of the code corresponds to another data code. The data codes encoded by each bit of the MESi .MESn data message are for example of the same size as the MES1 ... MESn data message. They can also be of different sizes depending on the use cases.
[0171] In one embodiment, at least one bit of a MESi ... MESn data message encoded by a second pseudo-random code PN2 comprising a Barker sequence is replaced by an artificial code. According to one example, when an external code comprises a Barker sequence, data bits equal to 1 can be replaced by another Barker sequence.
[0172] According to an illustrative example, the data message sent is the first MES1 data message encoded by a first code of a length Nb = 3 bits. Each bit is associated with a code of a length Nb = 3 bits also, and with its inverse code. For example, the value “1” of the data bit corresponds to the code encoded on 3 bits and the value “0” of the data bit to its inverse code. In this case, a so-called “artificial” code is created, which advantageously makes it possible to obtain a good correlation peak of the first MES1 message transmitted. In such an implementation, an “artificial” correlation amplifier is advantageously created. According to one embodiment, the method comprises the generation of an artificial code from a pseudo-random code, said artificial code comprising a first data code comprising a predefined number of bits, at least one of the bits of said artificial code being encoded by another data code or by an inverse code of said data code.
[0173] UWB transmitter / UWB receiver system
[0174] According to another aspect, with reference to Figure 2, the invention relates to a system comprising a UWB EM transmitter U and a UWB receiver RECu. The elements of the system are configured to implement the method of the invention according to any of its embodiments.
[0175] The EM transmitter U is for example positioned on a particular object whose position in a particular environment, for example a closed warehouse, is to be precisely determined. The EM transmitter U may also be affixed to a moving object passing close enough to a receiving device for the signal emitted by said transmitter to be picked up by the receiver. The EM transmitter Uis for example electrically passive; that is, it only operates when supplied with energy by remote equipment via a wireless link, for example a UHF source. Alternatively, the EM transmitter U is electrically active, that is, it is physically and constantly connected to a power source; for example, a battery.
[0176] The EM transmitter U comprises means for transmitting UWB radio signals to a receiving device. Such means include, for example, but not limited to, an antenna, a processor, a local oscillator, analog and / or digital filters or a power amplifier, etc. The radio signals transmitted by the EM transmitter U include for example a plurality of data messages MESi ... MESn.
[0177] The receiver RECu comprises means enabling it to receive the radio signals from the UWB transmitter. Such means include, for example, and without limitation, an antenna, a demodulator, a corrector, an analog / digital converter, an amplifier, a processor, a local oscillator, etc.
[0178] The receiver RECu comprises, for example, a processing circuit, comprising one or more processors and storage means (for example, an electronic memory) in which a computer program product is stored, in the form of a set of program code instructions to be executed to implement the various steps of the method for estimating the arrival time of a data message MESi ... MESn. Alternatively or in addition, the processing circuit comprises one or more programmable logic circuits (FPGA, PLD, etc.), and / or one or more specialized integrated circuits (ASIC), and / or a set of discrete electronic components, etc., adapted to implement all or part of said steps of the method for decoding a data message MESi ... MESn.
[0179] In a preferred mode, the communication links allowing the EM transmitter Uand the receiver RECu to communicate with each other are non-wireless communication links. However, nothing prevents the implementation of the invention in a mode where the communication links between the transmitter EM U and the receiver RECu are wired communication links.
[0180] According to one embodiment, the receiver RECu comprises at least two correlators. Each correlator is configured to receive and decode the data messages MESi ... MESn transmitted by the transmitter EM U . "Decoding" means calculating an autocorrelation function of the pseudo-random codes encoding the transmitted data messages MESi ... MESn. According to an example in which the receiver RECu comprises two correlators, the correlators are configured to alternately store and decode the data messages MESi ... MESn transmitted by the transmitter EM U .
[0181] In a preferred mode, the data messages MESi ... MESn transmitted by the transmitter EMu are of the same size, for example 8 bits. In this case, the storage and decoding time of each data message by the correlators is substantially equal. This allows the system to operate continuously. Advantageously, the energy consumption of the system is reduced (since the transmitter does not operate continuously "in a vacuum"). Indeed, the messages transmitted by the transmitter are instantly received and decoded by the receiver. Another advantage is to optimize the use of the radio channel.
[0182] System with a plurality of UWB receivers
[0183] According to another aspect, the invention relates to a system comprising a UWB transmitter configured to implement any one of the steps of the method according to the invention and a plurality of UWB receivers. The plurality of UWB receivers implemented is for example a plurality of UWB beacons. The UWB beacons are for example three in number, or four in number, depending on the use cases. For example, the implementation of a system comprising three beacons advantageously makes it possible to reconstruct the position of the transmitter along two axes x and y (along two directions) by implementing position calculations by trilateration. The implementation of a fourth beacon in the system advantageously makes it possible to reconstruct the position of the transmitter by trilateration with increased precision, by introducing a piece of position data of the transmitter along a vertical axis.
[0184] The EM transmitter Uor the receiver RECu comprise, for example, a calculation module. This calculation module comprises, for example, one or more processors capable of interpreting instructions in the form of a computer program, a programmable logic circuit, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic device (PLD) and programmable logic arrays (PLA), a system on chip (SOC)), an electronic card in which steps of the method according to the invention are implemented in hardware elements. The processing can be executed by a processor, or simultaneously or sequentially, or according to another method, by one or more processors.
[0185] The computing module includes a data processing module for performing calculations and a memory, operatively coupled to the data processing circuit.
[0186] The EM transmitter Uor the receiver RECu also includes an input device, an output device and a communication device.
[0187] Each function is performed by causing the data processing module to read a predetermined program from hardware such as memory such that the data processing module performs calculations, controls communications performed by the communication device, and reads and / or writes data to the memory and computer-readable medium.
[0188] The EM transmitter U comprises for example a processing circuit comprising one or more processors and storage means (for example an electronic memory) in which a computer program product is stored, in the form of a set of program code instructions to be executed to implement the different steps for encoding a data message MESi ... MESn.
[0189] The memory is a computer-readable storage medium and may be configured with, for example, at least one of the following: a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a random access memory (RAM) and / or another suitable storage medium. The memory may include an operating system and load the programs according to the invention. It includes registers adapted to store parameter variables created and modified during the execution of the aforementioned programs.The program product may include a computer-readable recording medium that is a tangible device, not a transient signal in itself, such as, but not limited to, a smart card, a flash memory device, a database, a server, or other suitable storage medium.
[0190] Alternatively, the program instructions are obtained from an external source and downloaded via a network. In this case, the computer program product comprises a computer-readable data carrier on which the program instructions are stored or a data carrier signal on which the program instructions are encoded.
[0191] The invention also relates to a computer program product comprising the computer-readable medium containing instructions which, when executed by the circuit, cause the transmitter EMu to implement the steps of the method of encoding at least one data message MESi ... MESn of the invention.
[0192] The form of the program instructions is, for example, a source code form, a computer-executable form, or any intermediate form between a source code and a computer-executable form, such as the form resulting from the conversion of the source code via an interpreter, an assembler, a compiler, a linker, or a locator. Alternatively, the program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (e.g., VHDL), or object code. The program instructions are written in any combination of one or more programming languages, for example, an object-oriented programming language (C++, JAVA, Python), a procedural programming language (e.g., C language).
[0193] The system may include a user interface comprising an input device and an output device. The user interface includes an input device to enable a user to enter data or commands so as to be able to interact with the programs according to the invention. The output device is configured to render information to a user, in a sensory or electrical manner, such as, for example, visually or audibly.
[0194] The set of at least one communication device allows communication between the elements of the system and possibly between at least one element of the system and a device external to the system. This communication device can establish a physical link between elements of the system and / or between an element of the system and a device external to the system and / or a remote communication link (wireless) between elements of the system and / or between an element of the system and a device external to the system.
Claims
DEMANDS 1. A computer-implemented method for encoding at least one data message (MESi, MESN) intended for transmission from a UWB transmitter to a UWB receiver, the method comprising: ■ Generation of a header (HEAD) encoded by a first pseudo-random code (PNi), said header (HEAD) defining a time reference (Tsync) after which a sequence of data segments (Sn) is intended to be emitted; ■ Generation of the sequence of data segments (Sn), each data segment (Sn) encoding at least one useful data value (DATAi, DATAn) by means of a second pseudo-random code (PN2) and from: o the time reference (Tsync), o a position of the data segment (Sn) in the sequence; o an autocorrelation peak of the second pseudo-random code (PN2).
2. A method according to claim 1, wherein each data segment comprises a set of bits, the method comprising a time-slip operation of a subset of bits, encoding the useful data value (DATA1...DATAn) of at least one data segment (Sn), of the sequence of data segments (Sn) to position said subset of bits in the first position in the data segment (Sn).
3. A method according to any one of the preceding claims, comprising the generation of the first pseudo-random code (PN1) and / or the second pseudo-random code (PN2) from an initial pseudo-random code.
4. Encoding method according to claim 3, comprising generating the first pseudo-random code (PN1) or the second pseudo-random code (PN2) by replacing at least one bit of the initial pseudo-random code with a replacement pseudo-random code. An encoding method according to claim 4, wherein the generation of the first pseudo-random code (PNi) or the second pseudo-random code (PN2) comprises replacing each bit of the first replacement pseudo-random code with a second replacement pseudo-random code. An encoding method according to any one of claims 4 to 5, wherein the initial pseudo-random code comprises a first Barker sequence, and wherein the first replacement pseudo-random code comprises a second Barker sequence. An encoding method according to any one of claims 3 to 6, comprising generating a plurality of second pseudo-random codes (PN2) from the initial pseudo-random code by successively applying time shifts of a predefined number of bits (Nt>) to the initial pseudo-random code, and wherein the generation of the set of segments is performed from the plurality of second pseudo-random codes (PN2).An encoding method according to any one of the preceding claims, wherein the first pseudo-random code (PN1) has a greater number of bits (Nt>) than the number of bits of the second pseudo-random code (PN2). A computer-implemented method for locating a transmitter comprising the encoding of the data message (MESi . MESn) according to any one of the preceding claims, the method comprising the reception of a plurality of data messages (MESi ... MESn) by a plurality of UWB beacons, each beacon comprising a clock, said reception comprising: ■ synchronization of the clocks of the UWB beacons with each other; ■ timestamping, by each clock, of the reception of data messages (MESi ... MESn); calculation of the transmitter's position from the data messages (MESi ... MESN) received by the plurality of UWB beacons; 10. A computer-implemented method for decoding at least one data message (MESi, MESN) encoded by the method according to any one of claims 1 to 8, and transmitted by a UWB transmitter comprising: ■ Measurement of a first arrival signal, demodulation of the first arrival signal and calculation of a first autocorrelation function of the demodulated signal; ■ Determination of a first autocorrelation peak of the first autocorrelation function; ■ Determination of the temporal reference (Tsync) from said first autocorrelation peak; ■ Measurement of a plurality of second arrival signals, demodulation of the second arrival signals and, for each second arrival signal: o Calculation of a second autocorrelation function of the second demodulated signal; o Determination of a second autocorrelation peak of the second autocorrelation function; o Measurement of a time lag between the time reference (Tsync) or the start of a data segment (Sn) and the second autocorrelation peak, 1 1. Decoding method according to claim 10, wherein the application of the second autocorrelation function comprises a time-slip operation of a subset of bits to generate a plurality of autocorrelation products.
12. A UWB (EM) transmitter U ) comprising a computer configured to implement the steps of the encoding process according to any one of claims 1 to 8.
13. A UWB receiver (RECu) comprising a computer configured to implement the steps of the decoding process according to any one of claims 10 to 11.
14. Encoding and decoding system for at least one data message (MESi . MESN) comprising a UWB transmitter according to claim 12 and a UWB receiver according to claim 13.
15. Encoding and decoding system for at least one data message (MESi, MESN) comprising a UWB transmitter (EM U ) according to claim 12 and: • A plurality of UWB beacons, each comprising: i. A clock for measuring timestamp data of the reception of data messages (MESi ... MESN) transmitted by the UWB transmitter (EM U ) ; ii. A calculator for: * Synchronize the clocks of the plurality of UWB beacons with each other; * Calculate, by trilateration, a position value for the UWB emitter (EM U) at the origin of the transmission of the data message (MESi ... MESn)