Transmission of satellite navigation message into multiple pages encoded for optimal retrieval at receiver in a fully interchangeable way
11448772 · 2022-09-20
Assignee
Inventors
Cpc classification
G01S19/246
PHYSICS
G01S19/01
PHYSICS
G01S19/24
PHYSICS
G01S19/27
PHYSICS
International classification
Abstract
Described herein is a method for improving the reception of a satellite navigation message divided in several pages and transmitted by one or several satellites. A satellite navigation message M of k pages is encoded inn pages, and any k retrieved pages from any satellite enables decoding of the original satellite navigation message M. An implementation of the method uses parallel block encoding for a binary erasure channel with high parity and zero overhead, where symbols at a fixed position of all pages are encoded in parallel into shorter codes. This method achieves full page interchangeability in the message transmission, optimizes message reception and reduces decoding cost.
Claims
1. A method of generating an encoded satellite navigation message, in the form of a number of pages, for transmission to at least one user receiver via a plurality of satellites, the method comprising the steps of: a) dividing, at a ground station, a satellite navigation message M into k pages; b) dividing, at the ground station, each page into j symbols, the satellite navigation message M being divided into k×j symbols; c) for each symbol position, encoding the symbols of the k pages at the ground station by encoding each column of the symbols of the pages separately for a total of j block codes, wherein each of n pages comprises symbols from the j block codes, n being larger than k; d) generating, at the ground station, an encoded satellite navigation message M′ for the n pages; e) allocating, at the ground station, at least a subset of the n pages of the encoded satellite navigation message to each of the plurality of satellites; f) transmitting, by the ground station, the allocated pages to respective ones of the plurality of satellites; and g) transmitting the allocated pages by the plurality of satellites to the at least one user receiver.
2. The method according to claim 1, wherein step c) further comprises using a block coding scheme which allows any k symbols of the n pages to be used in retrieval of the original satellite navigation message.
3. The method according to claim 1, wherein the block codes comprise Reed-Solomon codes.
4. The method according to claim 1, wherein step d) further comprises attaching a cyclic redundancy check to each page to simulate a binary erasure channel.
5. The method of claim 1 further comprising: decoding the encoded satellite navigation message at at least one user receiver, the encoded satellite navigation message being generated in accordance with the decoding comprising the steps of: i) receiving, at each one of the at least one user receiver, pages transmitted by the plurality of satellites within the field of view of said each one of the at least one user receiver; and ii) decoding, at said each one of the at least one user receiver, the encoded satellite navigation message from the pages received from the plurality of satellites by recursively applying a decoding process thereto by decoding each column separately for a total of j block codes.
6. The method according to claim 5, wherein the block codes comprise Reed-Solomon codes.
7. The method according to claim 5, wherein step i) further comprises receiving different pages from different ones of the plurality of satellites.
8. The method according to claim 5, wherein step i) further comprises receiving the pages sequentially over time.
9. A user receiver configured for decoding an encoded satellite navigation message transmitted as different pages from a plurality of satellites in its field of view, the encoded satellite navigation message being generated and transmitted in accordance with the method of claim 1, the user receiver being configured for: receiving pages transmitted by the plurality of satellites within its field of view; and decoding the encoded satellite navigation message from the pages received from the plurality of satellites by recursively applying a decoding process thereto by decoding each column separately for a total of j block codes.
10. The user receiver according to claim 9, wherein the block codes comprise Reed-Solomon codes.
11. A satellite navigation system for generating, transmitting and decoding an encoded satellite navigation message in the form of a number of pages, the system comprising: a plurality of satellites; at least one user receiver; and a ground station configured for generating an encoded satellite navigation message, in the form of a number of pages, for transmission to the plurality of satellites, the encoded satellite navigation message being generated by: dividing a satellite navigation message M into k pages; dividing each page into j symbols, the satellite navigation message M being divided into k×j symbols; for each symbol position, encoding the symbols of the k pages by encoding each column of the symbols of the pages separately for a total of j block codes; generating an encoded satellite navigation message M′ for n pages, n being larger than k, wherein each of the n pages comprises symbols from the j block codes; allocating at least a subset of the n pages of the encoded satellite navigation message to each of the plurality of satellites; and transmitting the allocated pages to respective ones of the plurality of satellites, wherein the plurality of satellites comprises means for transmitting the allocated pages to the at least one user receiver.
12. The satellite navigation system according to claim 11, wherein the block codes comprise Reed-Solomon codes.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a better understanding of the present disclosure, reference will now be made, by way of example, to the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11) The present disclosure will be described with respect to particular embodiments and with reference to certain drawings but the invention is not limited thereto. The drawings described are only schematic and are non-limiting. In the drawings, the size of some of the elements may be exaggerated and not drawn on scale for illustrative purposes.
(12) It is to be noted that the present disclosure is directed to solving specific problems associated with the field of satellite navigation and which may not occur in the field of satellite communications. In particular, satellite navigation data, as encoded in accordance with the present disclosure, is generally more difficult to receive than pure satellite communication signals. Generally, satellite communication signals are received at a much higher power (where satellite navigation signals are received at about −155 dBW, that is, below the thermal noise level). Due to this, the typical data rate of satellite navigation signals is in the order of a 100 bps (50 bps for GPS L1C/A), which is much lower than usual data rates used in satellite communication systems. In addition, satellite communication messages are generally transmitted from a single source, and satellite navigation signals and data have to be available at said low power to both static and dynamic users in all environments, including air, sea, and terrestrial, the latter including tree canopy and urban canyons.
(13) With low data reception rates in satellite navigation systems, the present disclosure solves the problem of transmitting long messages, for example, of the order of thousands or tens of thousands of bits, with these signals needing to be received in degraded environments through a very high data redundancy yet at no overhead and low decoding complexity, which cannot otherwise achieved with state-of-the-art methods. RS (or similar) standard code implementations provide a very low parity with respect to what is required for to solve the problem of the present disclosure. Typically, the present disclosure requires a parity/data ratio between 1/10 and 1/6, for an already long message. While this may be achieved with RS (or similar) codes with longer symbols, for example, 16 bits, these implementations are not standard and are more difficult to decode at the user receiver. In particular, the method of the present disclosure is applied to long messages with a high parity/data ratio as required to solve the specific satellite navigation problem of transmitting long messages with weak signals in degraded environments, that is, with potentially very high error rates.
(14) Moreover, a fundamental difference over the prior art is that the method of the present disclosure utilizes parallel processing at an “inter-symbol”level, that is, for several symbols, not at an “intra-symbol” level, that is, at bit level. By acting at full symbol level, it is possible to parallelize as many codes as necessary. The method of the present disclosure utilizes a parallelization of 54, that is, (448−16)/8 vectors, which is not viable with methods known from the prior art.
(15) By utilizing inter-symbol parallelization, a more flexible method of decoding satellite navigation messages or signals can be obtained.
(16) Furthermore, in comparison with satellite communication systems, satellite navigation systems need to transmit messages with a very high redundancy rate to address high error rates and to transmit those messages from more than one source or satellite.
(17) The term “Open Sky” as used herein refers to an environment where signals from four transmitting satellites are received with a page error rate of 0.5% for each satellite.
(18) The term “Soft Urban” as used herein refers to an environment where signals from four transmitting satellites are received with page error rates of 0.5%, 1%, 10% and 20% respectively for the four satellites.
(19) The term “Hard Urban” as used herein refers to an environment where signals from two transmitting satellites are received with a page error rate of 10% and 20% respectively for the two satellites.
(20) The term “fading channel” refers to a communication that experiences a variation in the attenuation of a signal with multiple variables, such as, time, geographical position and radio frequency.
(21) The term “C/NAV” refers to the commercial navigation messages broadcast by Galileo satellites on frequency E6.
(22) The term “I/NAV” refers to the integrity navigation messages broadcast by Galileo satellites on frequencies E1 and E5.
(23) The term “parity/data ratio” refers to the amount of parity bits versus the amount of information bits in the encoded message.
(24) The terms “block codes” or “block coding schemes” refer to codes or coding schemes in which parallelization can be achieved. The present disclosure is described with reference to Reed-Solomon codes but is not limited thereto. For example, the Bose-Chaudhuri-Hocquengem (BCH) coding scheme may also be implemented.
(25) The term “binary erasure channel” or “BEC” refers to a common communications channel model in which a transmitter sends a bit (a “0” or a “1”) and the receiver either receives the bit or it receives a message that the bit was not received or “erased”. In reality, packets of bits are transmitted by the transmitter and the receiver either receives the packet or the packet is erased, in the present method, the C/NAV page CRC is checked and the page is discarded if the CRC fails.
(26) The approach proposed in the article “European GNSS (Galileo) Open Service Signal In Space Interface Control Document, (OS SIS ICD V1.3)” is shown in
(27) As described above, page offsetting does not allow optimal recovery of the satellite navigation message.
(28) However, page offsetting alone does not allow reception as the user receiver should wait for the re-broadcast of the satellite navigation message, if possible, with its associated delay. The system cannot control which satellites are seen by each user receiver and there will always be users receiving a combination of pages which does not allow for a successful decoding or demodulation of the satellite navigation message.
(29) The problem which is solved by the present disclosure can be mathematically defined as follows: Let there be a high accuracy service (HAS) satellite navigation message M composed of k pages (M.sub.1, . . . , M.sub.k) which has to be transmitted by several navigation satellites at a given time through a binary erasure channel, the BEC assuming that a C/NAV page is either received correctly or is discarded. The BEC is modelled by checking the C/NAV page CRC and discarding the page is the CRC fails.
(30) The satellite navigation message M is encoded into a coded satellite navigation message C, of n pages, (C.sub.1, . . . , C.sub.n) where n>k, and transmitted at the same time by multiple satellites so that any k retrieved pages of C received from any satellite enables decoding of the original satellite navigation message M, allowing full page interchangeability in the satellite navigation message reception. The method must be valid for different message lengths, and the decoding process must be affordable in a user receiver.
(31) The method of the present disclosure is based on the following steps and uses parallel processing at an inter-symbol level so that there is no restriction: Divide a satellite navigation message M into k pages (M.sub.1, . . . , M.sub.k) Divide each page into j symbols so that the full satellite navigation message M is divided into k×j symbols (w.sub.1,1, . . . , w.sub.k,j) For each symbol position c=1, . . . , j, encode the symbols of the k pages (w.sub.1,c, . . . , w.sub.k,c) into (w′.sub.1,c, . . . , w′.sub.n,c) with a block coding scheme having the property that any k symbols of the n encoded symbols can be used to retrieve the original satellite navigation message Generate a full encoded satellite navigation message M′ (w′.sub.1,1, . . . , w′.sub.n,j), of n pages, where each page is composed of symbols from j parallel codes Attach a CRC or similar check to each page so that page reception is treated as in a binary erasure channel Allocate the n pages of M′, or a subset of them, to different satellites, and transmit the satellite navigation message through the satellites, so that each satellite transmits different pages At the user receiver side, when k pages of M′ are successfully received from any of the visible satellites, decode satellite navigation message M by applying the decoding process recursively j times
(32) An encoding and message-to-satellite allocation process is shown in
(33) The reception process in fading channels is shown in
(34) Reed-Solomon codes have the property of allowing the recovery of a satellite navigation message with any k symbols out of the n transmitted symbols. Therefore, one embodiment of the present disclosure is based on Reed-Solomon coding. In order to achieve full page interchangeability with multiple satellites, n has to be much bigger than k, that is, the satellite navigation message has to be coded with a lot of parity data so different satellites do not transmit the same pages. This is described by Westall et al. in “An introduction to Galois Fields and Reed-Solomon Coding”, School of Computing Clemson University, SC (2010): 29634-1906.
(35) Based on current estimations of the maximum message size for a precise point positioning (PPP) message transmitted in the Galileo E6B signals at 448 bps, it can be assumed that: A maximum satellite navigation message length (k.sub.max) of 20 pages, or 8640 bits, or 1080 bytes (e.g. an iono message), where each page can provide 432 bits (54 bytes), plus 16 bits for a header used to identify the information contained in the page, for a total of 448 bits. A maximum of 20 transmitting satellites, as per Galileo constellation capabilities, which would require a parity/data ratio of 20/1.
(36) However, in order to reduce the amount of parity/data ratio of 20/1, it can be assumed that satellites in an opposite slot of an orbit cannot be observed by the same user receiver. This already reduces the redundancy by half (from 20 to 10). Other assumptions are that satellites can be evenly distributed in the sky, and that, with a clean sky, a receiver on Earth can see at most ⅓ of the 20 Galileo connected satellites. In this case, a RS message may have a 6/1 parity/data ratio for a total (data+parity) of 7560 bytes. However, most standard RS coding approaches are based on GF(2.sup.m), where m=8, which implies that no more than 256 bytes can be encoded. Other implementations with m=16 or m=32 are possible, but they complicate Galois field arithmetic (especially polynomial multiplication for m=32), increasing receiver decoding cost and storage requirements.
(37) Some examples with different message lengths, up to 20 pages, are provided in
(38) In the second example, a 16-page satellite navigation message is transmitted at a code rate of 1/6. 96 8-bit symbol messages are encoded with 16 data symbols and 80 parity symbols with excess information symbols being filled with zeros. In the third example, a 10-page satellite navigation message is transmitted at a code rate of 1/8. 80 8-bit symbol messages are encoded with 10 data symbols and 70 parity symbols with excess information symbols being filled with zeros.
(39) In the fourth example with less redundancy, as proposed in the article by Schotsch mentioned above, a 18-page satellite navigation message is transmitted at a 1/4 code rate with an I/NAV RS code, RS(255,195,8), which provides 60-symbol parity.
(40) One of the advantages of the method of the present disclosure, compared to a standard RS coding in a single code, is the significantly lower decoding cost. Repeating j times the decoding process linearly increases decoding cost with respect to a single decoder iteration, but as the satellite navigation message is much shorter, decoding cost exponentially decreases. The decoding cost is estimated as the cost of inverting a k×k matrix and the cost of solving a linear k×k system. The matrix inversion cost is usually estimated as O(k.sup.3), which is the cost of the Gaussian Elimination method. The cost of solving the linear system is estimated as O(k.sup.2).
(41) A comparison with standard methods is shown in
(42) In
(43) Another advantage of the method of the present disclosure is the improved reception capabilities under fading conditions. The reception of a 20-page satellite navigation message through MRSC compared to an equivalent conventional method in five 4-page chunks is shown in FIGS. 7a to 7c. Each of
(44)
(45)
(46)
(47) As shown in
(48) A specific implementation of the method of the present disclosure can based on every page including a header, with a message ID field, a message length field, and a Page ID field.
(49) Another specific implementation, in which the header size is reduced, can be based on defining a satellite/time matrix for a given number of satellites and time, so that the Page ID field can be defined from the matrix, instead of occupying space in the header, thereby allowing the possibility to have long encoded satellite navigation messages. This is illustrated in
(50)
(51) Another specific implementation may include a page header where the coding scheme that is encoding the satellite navigation message is defined in the header, thereby allowing multiple schemes.
(52) Another specific implementation includes the encoding of a high accuracy message based on grouping message subtypes in 3 messages: one message for the satellite mask, orbit corrections, biases and user ranging accuracy (URA); one message for ionospheric corrections; and one message for the satellite clock corrections composed of 1 to 3 pages, depending on the amount of satellites in the satellite mask.
(53) Another implementations include other block codes different than RS, or other symbol lengths different than 8-bits (e.g. 16 bits or 32 bits, as both are available for RS).
(54) In another implementation, the satellite navigation message encoded is not a high accuracy message, but another common satellite navigation message transmitted by a GNSS constellation, such as a digital signature or an almanac.
(55) Another implementation allows for the interleaving of several different satellite navigation messages from different satellites in time. This means that, instead of transmitting one message at a given time interval, the system can transmit several messages during that time interval, and, the header of a particular message identifies that message with a particular message ID.
(56)