Low power long-range radio
11245434 · 2022-02-08
Assignee
Inventors
Cpc classification
H04L7/048
ELECTRICITY
H04L27/2071
ELECTRICITY
International classification
Abstract
Advanced modulation and demodulation schemes for LoRa or equivalent chirp spread spectrum transmissions, with differential modulation and symbol repetition improve the sensitivity in combination with soft demodulation methods.
Claims
1. A low-power long-range radio device having a transmitting section, comprising: an encoder configured to encode a digital message into a series of first symbols, each first symbol having a plurality of bits, a differential coding unit configured to receive as input the series of first symbols generated by the encoder and generating a series of second symbols as output, whereby each possible value of the first symbol corresponds to a predetermined change in the series of second symbols, a modulator configured to receive the second symbols, arranged for synthesizing a series of modulated chirps whose instantaneous frequency vary according to one of a plurality of functions that are cyclical shift of one base chirp function, wherein the cyclical shift of a chirp represents the value of a corresponding second symbol.
2. The radio device of claim 1, in which the digital message is processed in the encoder successively by an interleaver, a Gray encoder, and by the differential coding unit.
3. The device of claim 1, wherein the modulation set is reduced to a proper subset of possible symbols.
4. The device of claim 3, in which the reduced modulation set includes a main field of bits, and an additional bit or field of bits (B.sub.l), wherein the reduction scheme is such that the main field of bits is robust against errors of ±1 in the cyclical shift.
5. The device of claim 4, wherein the main field and the additional bit or field are processed in parallel.
6. The radio device of claim 1, in which the differential coding unit can be selectively disabled such that it copies the series of first symbols into the second symbols, comprising a frame builder unit arranged for organizing the symbols in frames, wherein part of each frame are not processed by the differential coding unit.
7. The radio device of claim 6, wherein the frame has a preamble section for detection and synchronization and a header section for format signalisation that are not processed by the differential coding unit.
8. The radio device of claim 1 having a receiving section comprising a de-chirping unit configured to acquire the cyclical shift of received chirp signals followed by a soft differential decoder unit configured to decode symbols of a message transmitted by another identical or compatible radio device, whereby the decoded symbols have a plurality of soft bits that can assume values other than zero and one.
9. The radio device of claim 1, including a symbol repetition unit configured to replace an input symbol with a predetermined number of symbols derived from the input symbol by a predetermined succession of cyclical shifts, which can include the zero shift.
10. A low-power long-range radio device having a transmitting section, comprising: an encoder configured to encode a digital message into symbols having a plurality of bits; a modulator configured to receive the symbols, arranged for synthesizing a series of modulated chirps whose instantaneous frequency vary according to one of a plurality of functions that are cyclical shift of one base chirp function, wherein the cyclical shift of a chirp represents the value of a corresponding symbol, including a symbol repetition unit configured to replace an input symbol with a predetermined number of symbols derived from the input symbol by a predetermined succession of cyclical shifts, which can include the zero shift.
11. A method of transmitting by radio a digital message, comprising: encoding the digital message into a series of first symbols, each first symbol having a plurality of bits, generating a series of second symbols from the series of first symbols, whereby each possible value of a first symbol corresponds to a predetermined change in a corresponding second symbol, synthesizing a series of modulated chirps whose instantaneous frequency vary according to one of a plurality of functions that are cyclical shift of one base chirp function, wherein the cyclical shift of a chirp represents the value of a corresponding second symbol, transmitting a radio signal carrying the series of modulated chirps.
12. The method of claim 11, wherein the step of generating a series of second symbols comprises organizing the symbols in frames, each frame comprises second symbols that are generated from the series of first symbols such that each possible value of a first symbol corresponds to a predetermined change in a corresponding second symbol and second symbols that are unprocessed copies of the corresponding first symbols.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The invention will be better understood with the aid of the description of an embodiment given by way of example and illustrated by the figures, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION OF POSSIBLE EMBODIMENTS OF THE INVENTION
(9) Several aspects of the chirp modulation technique employed in the present invention are described in European Patent EP3264622 and will be reminded here summarily. The radio transceiver that is schematically represented in
(10) Once the signal is received on the other end of the radio link, it is processed by the receiving part of the transceiver of
(11) The signal to be processed comprises a series of chirps whose frequency changes, along a predetermined time interval, from an initial instantaneous value f.sub.0 to a final instantaneous frequency f.sub.1. It will be assumed, to simplify the description, that all the chirps have the same duration T, although this is not an absolute requirement for the invention.
(12) The chirps in the baseband signal can be described by the time profile f(t) of their instantaneous frequency or also by the function ϕ(t) defining the phase of the signal as a function of the time, as plotted in
(13)
(14) The signal may include also conjugate chirps that is, chirps that are complex conjugate of the base unmodulated chirp. One can regard these as down-chirps, in which the frequency falls from a value of ƒ.sub.0=−BW/2 to ƒ.sub.1=BW/2.
(15) According to an important feature of the invention, the received signal Rx can comprise base chirp (also called unmodulated chirps in the following) that have specific and predefined frequency profile, or one out of a set of possible modulated chirps, obtained from base chirps by time-shifting cyclically the base frequency profile.
(16) We denote with N the length of the symbol, or equivalently the spreading factor. To allow easy reception using FFT, N is preferably chosen to be a power of two. The Nyquist sampling frequency if 1/BW, and the length of a symbol is N/BW. To fix the ideas, but without limiting the invention to these specific numeric values, one can imagine that, in a possible application, BW be 1 MHz, and N equal 1024, 512, or 256. The carrier frequency may be in the 2.45 GHz IMS band. In this embodiment, the modulation schema of the invention could occupy the same RF band as a Bluetooth® transceiver and, possibly, reuse or share the RF parts of a Bluetooth® transceiver. The invention is not limited to this frequency band, however.
(17) Hence, a modulated symbol is a cyclic shift of the base symbol, of any number between 0 and N−1 where N=2.sup.SF, SF being the spreading factor. A modulation value of 0 is equivalent to the absence of modulation. Since N is a power of two, each modulated chirp can therefore be regarded as a symbol that encodes log.sub.2 N bits in its cyclic shift can code. It is sometimes advantageous to limit the symbol constellation to a reduced set, defined for the purpose of this disclosure as a proper subset of the possible symbols.
(18) Thus, “cyclic shift value” may be used in the following to indicate the modulation in the time domain, and “modulation position”, or “peak position” represents it in the frequency domain.
(19) In the example depicted, the frequency of a base chirps increases linearly from an initial value ƒ.sub.0=−BW/2 to a final value ƒ.sub.1=BW/2, where BW stands for bandwidth spreading, but descending chirps or other chip profiles are also possible. Thus, the information is encoded in the form of chirps that have one out of a plurality of possible cyclic shifts with respect to a predetermined base chirp, each cyclic shift corresponding to a possible modulation symbol or, otherwise said, the processor 180 needs to process a signal that comprises a plurality of frequency chirps that are cyclically time-shifted replicas of a base chirp profile, and extract a message that is encoded in the succession of said time-shifts.
(20) Preferably, the signal transmitted and received by the invention are organised in frames that include a preamble and a data section, suitably encoded. The preamble and the data section comprise a series of chirps modulated and/or unmodulated, that allows the receiver to time-align its time reference with that of the transmitter, retrieve an element of information, perform an action, or execute a command. In the frame of the invention, several structures are possible for the data frame, depending inter others, on the channel condition, transmitted data or command.
(21) Demodulation
(22) Preferably, the phase of the chirps is described by a continuous function ϕ(t), that has the same value at the beginning and at the end of a chirp: ϕ(t.sub.0)=ϕ(t.sub.1). Thanks to this, the phase of the signal is continuous across symbol boundaries, a feature that will be referred to in the following as inter-symbol phase continuity. In the example shown in
(23) The operation of evaluating a time shift of a received chirp with respect to a local time reference may be referred to in the following as “dechirping”, and can be carried out advantageously by a de-spreading step that involves multiplying the received chirp by a complex conjugate of a locally-generated base chirp, and a demodulation step that consists in performing a FFT of the de-spread signal. Other manners of dechirping are however possible.
(24) We denote with S the complex values of the baseband signal in the time domain, where k is a frame index, and j indicates the sample. The combined de-spreading and demodulation operations produce the complex signal X(n,k)=(S.sub.j.sup.k.Math.
is the Fourier transform. The position of the maximum of the FFT is indicative of the shift, and of the modulation value. A simple “hard” demodulator for LoRa signals can be realized by computing the function h(k)=argmax.sub.n (|X(k, n)|).
(25) These operations of de-spreading and demodulating are implemented in a de-spreading unit 183, respectively a demodulating unit 185 in the baseband processor 180 as represented in
(26) In the presented example, the frames have a preamble including a detect sequence 411 of base (i.e. un-modulated, or with cyclic shift equal to zero) symbols. The detect sequence 411 is used in the receiver to detect the beginning of the signal and, preferably, perform a first synchronisation of its time reference with the time reference in the transmitter. The groups of symbols 412, 413, and 414 are required by the LoRa protocol and are used for synchronization but are not necessarily part of the present invention. The preamble may be followed by a message header 415 that informs the receiver on the format of the following data, and a payload 416 that is defined by the application. By demodulating the detect sequence, the receiver can determine a shift amount and adapt the frequency and phase of its clock with those of the sender, thus allowing the decoding of the following data.
(27) Since LoRa modulation uses cyclic shifts of the same base waveform, demodulation errors are in most cases errors of ±1 or, in rare cases, ±2 units of shift. Preferably, the modulator of the invention includes a differential encoding unit arranged for generating a series of shift, in which each possible value of the input symbol corresponds to a predetermined change in the series of differential-encoded symbols.
(28) The complete modulation set includes as many symbols as here are possible cyclical shift from 0 to 2.sup.SF−1. The error rate in noisy condition can be reduced, albeit with a bandwidth reduction, choosing a reduced modulation set that does not include all the possible symbols.
(29) Blocks 225 and 228 symbolise the operations involved in the differential coding. The former 225 is a numerical integrator that accumulates the cyclical shifts generated by unit 219, and block 228 implements a modulo operation that generates a differential code 238 in 0, . . . 2.sup.SF−1.
(30) The select/control block 230 allows switching between normal and differential code at will, also within a frame. Preferably, the preambles are transmitted with non-differential modulations, while headers and payloads may be differentially encoded or not. In a convenient arrangement, the header is not differentially encoded and signal whether the payload is differentially encoded or not. In this way all receivers, whether they can receive differential modulation or not, can decode and understand the header. In this arrangement, the receiver needs not know in advance which modulation format is used. The selection block 230 sends to the chirp synthesizer 232 either the normal cyclical shifts 235, or the differentially encoded shifts 238, according to whether normal or differential modulation is desired. It resets also the integrator 225 when necessary, for example at transitions between normal and differential code.
(31) At reception, differential modulation is usually associate with a loss of about 3 dB, because the first demodulation operation is usually a difference between two symbols that have independent noise contributions. This state of affair can be mitigated by a special soft decoder.
(32) The soft output differential demodulator considers pairs of potential modulated values between the current symbol and the previous symbol. For each bit, independently of other bits, the pair with the maximum summed amplitude which corresponds to a ‘0’ value is compared to the pair with the maximum summed amplitude corresponding to a ‘1’ value. To reduce complexity to practical levels, only some modulation values are compared for each symbol, which correspond to the modulation values showing the highest amplitude after the FFT.
(33) We introduce the following notation: n.sub.max stands for the number of potential modulated values considered per each symbol m is the index of current symbol, and m−1 that of the previous one {A.sub.m,1} with I ranging from 0 to n.sub.max−1 stands for the list of maximum magnitudes after FFT for symbol m. We assume further that they are ordered as in A.sub.m,0>A.sub.m,1>A.sub.m,2>A.sub.m . . . (M.sub.m,i) with i ranging from 0 to n.sub.max−1 are the modulation values corresponding to the set {A.sub.m,1}. At FFT output, {M.sub.m,i} are the indexes and {A.sub.m,1} the magnitudes. HD(x) is the demapping function (HD standing for hard decode) This is the inverse function of Gray mapping followed by index scaling. The output of HD(x) is a set of bits and we will denote the output of bit j with HD.sub.j(x). The index j ranges from 0 to log.sub.2(modulation set)−1 At symbol m, for each bit j, we compute: S.sub.0,j: the set of (i, k) such that HD.sub.j(M.sub.m,k−M.sub.m-1,i)=0 (N.B.: the HD function includes a mod(2.sup.SF) operation to cover the cases where the modulation difference is negative) S.sub.1,j: the set of (i, k) such that HD.sub.j(M.sub.m,k−M.sub.m-1,i)=1 S.sub.0,j is the set of (i, k) such that the transmission of modulation value M.sub.m-1,i at symbol (m−1), and of modulation value M.sub.m,k at symbol (k) implies that bit j has value 0 for symbol m. Conversely, S.sub.1,j is the set such that the bit j has, for the same transmission, value 1. Any pair (i, k) belongs either to S.sub.0,j or to S.sub.1,j. Then we compute:
AA.sub.0,j=max.sub.(l,k)∈S.sub.
AA.sub.1,j=max.sub.(l,k)∈S.sub.
(34) The soft differential demodulation method disclosed considers for each symbol m a limited number of possible modulation values, and, for each bit, consider the possible pair of modulation values in the current symbol and in the previous one. The method groups possible pair of modulation values in two sets according to the resulting value of that bit. The soft demodulated value is computed as the difference of the maximum summed magnitudes in the two sets. The inventors have found that such a soft demodulation method gives, for typical noise levels and equivalent error rates, a noise increase of 1 dB compared to non-differential soft demodulation. The number of modulation values considered remains reasonably low, 8 being a typical figure.
(35) In combination or in alternative to the differential modulation and demodulation methods disclosed above, the sensitivity can be increased, without augmenting the symbol length, by repeating symbols. Close to the limit sensitivity, the limit of the system is currently determined by detection, and synchronization tracking. The former limitation may be addressed by lengthening the preamble. Synchronization produces errors in the received message that cannot be recovered by FEC, however.
(36) The modulator of the invention may insert repetitions of the symbols in the transmitted frame to permit detection and correction of errors in the receiver. The repetition can be identical or, preferably, a repetition of a shifted symbol, by a cyclic shift that is known, or can be computed, by the receiver. LoRa modulation alphabet uses a regular distribution of cyclic shifts between 0 and 2.sup.SF−1. Some modulation values, for example those close to one half of the symbol length, are weaker than other for what resistance to noise and tracking are concerned. A shift introduced in symbol repetition may balance the distribution of these weaker values. For example, if the repetition level is 2, that is each symbol is transmitted twice, one transmission may be shifted systematically by symbol_length/2. If the repetition level is 4, the shifts may be {0, symbol_length/4, symbol_length/2, symbol_length/4}, and so on.
(37) Gray encoding is useful in detecting and correcting tracking errors. due to the use of cyclic shifts in LoRa, the most common errors are those where a symbol is received and demodulated to a value that is shifted of ±1 from the original one. After Gray demapping, such errors translate into an arbitrary bit error.
(38) Differential modulation has a similar purpose as the Gray encoding, although it handles the errors differently: stable errors (a long constant error in timing or frequency at the receiver's side) are not repeated after the first occurrence; transition symbols—where the error first arises or ends—have, with Gray encoding, a random bit error. In fast-varying channels, this leads to high error rates.
(39) A reduced modulation set can help in these demanding cases, albeit at the cost of bandwidth. Gray encoding could be unnecessary.
(40)
(41)
(42) Since differential modulation is used, a constant offset in demodulation will not affect the B.sub.h bits, nor the B.sub.l bit. The reduction scheme is arranged such that the B.sub.h field of bits is a “high reliability” field that can be decoded reliably and correctly also when there is an error of ±1 in the perceived cyclical shift, for example because the reduction scheme is organised in groups that encode the same value of B.sub.h. The B.sub.l bit is a “low reliability” field and is affected by such transitions.
(43)
(44) The control unit 230 has therefore the choice between three possible data streams to transmit: the conventional data D(m) without differential encoding or parallel mapping, the differentially encoded data, and the data encoded in a reduced set with an additional B.sub.l bit, differentially encoded.
REFERENCE SYMBOLS
(45) 100 RF stage 102 RF switch 110 mixer 120 power amplifier 129 local oscillator 150 modulator 152 data for transmission 154 buffer, amplifier 160 low noise amplifier 170 mixer 180 demodulator 182 received data 183 despreading unit 185 demodulator 186 soft demapper 187 hard demapper 190 PLL 191 replica chirp 192 timing error 194 sampler 200 baseband processor 201 split 205 error correction 207 interleaver 216 Gray mapping 219 scaling 225 integrator 228 modulo wrapping 230 select/control 232 chirp synthesis 235 non-differential-encoded shifts 238 differential-encoded shifts 265 error correction 267 interleaver 189 parallel mapping 411 detect sequence 412 frame synchronisation symbols 413 frequency synchronisation symbols 414 fine synchronisation symbols 415 header 416 payload 420 silence