Patent Description:
European patent application <CIT> describes a communication system using digitally-synthesized chirp symbols as modulation, and a suitable FFT based receiver.

European patent application <CIT> describes, among others, one such modulation method in which the phase of the signal is essentially contiguous, and the chirps are embedded in data frames in such a way as to allow synchronization between the transmitter and receiver nodes, as well as determining the propagation range between them. This modulation scheme is used in the long-range LoRa™ RF technology of Semtech Corporation and will be referred simply as 'LoRa' in the following of this document.

<CIT> discloses a low-complexity LoRa receiver suitable for Internet-of-thing applications.

LoRa modulation can tolerate a high error rate, as long as they are static or slowly drifting. Rapid changes of the frequency error, however, can lead to synchronization issues that eventually lead to demodulation errors. The present invention provides an enhanced modulator that can overcome this shortcoming.

According to the invention, these aims are achieved by means of the method and device of the appended claims.

Several aspects of the chirp modulation technique employed in the present invention are described in European Patent <CIT>, which is hereby incorporated by reference, and will be reminded here summarily. The radio transceiver that is schematically represented in <FIG> is a possible embodiment of the invention. The transceiver includes a baseband section <NUM> and a radiofrequency section <NUM>. The transmitter includes a baseband modulator <NUM> that generates a baseband complex signal based on the digital data <NUM> at its input. This is then converted to the desired transmission frequency by the RF section <NUM>, amplified by the power amplifier <NUM>, and transmitted by the antenna.

Once the signal is received on the other end of the radio link, it is processed by the receiving part of the transceiver of <FIG> that comprises a low noise amplifier <NUM> followed to a down-conversion stage <NUM> that generates a baseband signal (which is again a complex signal represented, for example by two components I, Q) comprising a series of chirps, then treated by the baseband processor <NUM>, whose function is the reverse of that of the modulator <NUM>, and provides a reconstructed digital signal <NUM>.

As discussed in <CIT>, the signal to be processed comprises a series of chirps whose frequency changes, along a predetermined time interval, from an initial instantaneous value f<NUM> to a final instantaneous frequency f<NUM>. 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.

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 <FIG>. Importantly, the processor <NUM> is arranged to process and recognize chirps having a plurality of different profiles, each corresponding to a symbol in a predetermined modulation alphabet.

<FIG> is a plot of the real and imaginary component, I and Q, of the baseband signal corresponding to a base chirp, in the time domain.

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 f<NUM> = -BW/<NUM> to f<NUM> = BW/<NUM>.

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. <FIG> illustrates, by way of example, possible frequency and phase profiles of a base chirp and of one modulated chirp between the time instant t = t<NUM> at the beginning of a chirp and the instant t = t<NUM> at the end of the chirp, while <FIG> shows the corresponding baseband signals in the domain of time. The horizontal scale corresponds for example to a symbol and, while the plots are drawn as continuous, they in fact represent a finite number of discrete samples, in a concrete implementation. As to the vertical scales, they are normalized to the intended bandwidth or to the corresponding phase span. The phase is represented in <FIG> as if it were a bounded variable, in order to better show its continuity, but it may in fact span across several revolutions in a concrete implementation.

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 <NUM>/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 <NUM>, and N equal <NUM>, <NUM>, or <NUM>. The carrier frequency may be in the <NUM> 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.

Hence, a modulated symbol is a cyclic shift of the base symbol, of any number between <NUM> and N - <NUM> where N = <NUM>SF, SF being the spreading factor. A modulation value of <NUM> is equivalent to the absence of modulation. SinceN is a power of two, each modulated chirp can therefore be regarded as a symbol that encodes log<NUM> 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.

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.

In the example depicted, the frequency of a base chirps increases linearly from an initial value f<NUM> = -BW/<NUM> to a final value f<NUM> = BW/<NUM>, 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 <NUM> 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.

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. <FIG> represents schematically, a frame structures that can be employed in various aspects of the present invention. The frame may include in the preamble a series of detect symbols <NUM>, that allow the detection of an incoming signal in the receiver, different groups of synchronisation symbols <NUM>, <NUM>, <NUM>, a header <NUM>, and a payload <NUM> that includes the message intended for the destination node and may have variable length.

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<NUM>) = ϕ(t<NUM>). 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 <FIG>, the function f(t) is symmetrical, and the signal has inter-symbol phase continuity. As is explained in more detail by <CIT>, the structure of the signal described above allows the processor <NUM> in the receiver to align its time references with that of the transmitter, and the determination of the amount of cyclical shift imparted to each chirp.

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.

We denote with <MAT> 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 <MAT>, where bj denotes the conjugate base chirp, and <IMG> 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) = arg maxn (|X(k, n)|).

These operations of de-spreading and demodulating are implemented in a de-spreading unit <NUM>, respectively a demodulating unit <NUM> in the baseband processor <NUM> as represented in <FIG>. The baseband processor is preceded by a sampling unit <NUM> that generates the series of samples <MAT> in any suitable way. It must be understood, however that these wordings can be interpreted functionally and do not necessarily imply physically distinct and independent hardware elements. The invention comprising also variants in which the de-spreading unit and/or the demodulating unit are realized partly or in full in software or utilize resources in common with other element of the system.

In the presented example, the frames have a preamble including a detect sequence <NUM> of base (i.e. un-modulated, or with cyclic shift equal to zero) symbols. The detect sequence <NUM> 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 <NUM>, <NUM>, and <NUM> 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 <NUM> that informs the receiver on the format of the following data, and a payload <NUM> 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.

Since LoRa modulation uses cyclic shifts of the same base waveform, demodulation errors are in most cases errors of ± <NUM> or, in rare cases, ± <NUM> 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. <FIG> illustrates a possible realization of the corresponding modulation chain: the digital stream that must be transmitted is processed by the forward error correction unit <NUM> that insert suitable error correction codes, then by the interleaver <NUM> and the Gray mapper <NUM>. Block <NUM> transforms Gray encoded values into the desired modulation alphabet, also called modulation set. The alphabet may be complete or reduced.

The complete modulation set includes as many symbols as here are possible cyclical shift from <NUM> to <NUM>SF - <NUM>. 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. <FIG> illustrates a possible way of choosing a reduced modulation set that includes only the symbols of the form K·p in the range <NUM>,. <NUM>SF - <NUM>, where p denotes an integer, and K a multiplication factor, for example K=<NUM>. K should be a divisor of the symbol length; if the symbol length is a power of two, so should be K. This ensures that after the integration and modulo operation that are done in differential coding, the modulation set is unchanged.

Blocks <NUM> and <NUM> symbolise the operations involved in the differential coding. The former <NUM> is a numerical integrator that accumulates the cyclical shifts generated by unit <NUM>, and block <NUM> implements a modulo operation that generates a differential code <NUM> in <NUM>,. <NUM>SF - <NUM>.

The select/control block <NUM> 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 <NUM> sends to the chirp synthesizer <NUM> either the normal cyclical shifts <NUM>, or the differentially encoded shifts <NUM>, according to whether normal or differential modulation is desired. It resets also the integrator <NUM> when necessary, for example at transitions between normal and differential code.

At reception, differential modulation is usually associate with a loss of about <NUM> 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.

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 '<NUM>' value is compared to the pair with the maximum summed amplitude corresponding to a '<NUM>' 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.

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 <NUM> dB compared to non-differential soft demodulation. The number of modulation values considered remains reasonably low, <NUM> being a typical figure.

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.

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 <NUM> and <NUM>SF - <NUM>. 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 <NUM>, that is each symbol is transmitted twice, one transmission may be shifted systematically by symbol_length/<NUM>. If the repetition level is <NUM>, the shifts may be {<NUM>, symbol_length/<NUM>, symbol_length/<NUM>, symbol_length/<NUM>}, and so on.

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 ± <NUM> from the original one. After Gray demapping, such errors translate into an arbitrary bit error.

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.

A reduced modulation set can help in these demanding cases, albeit at the cost of bandwidth. Gray encoding could be unnecessary.

<FIG> illustrates a simple schema of reduction of the modulation set in which one symbol out of four is used. The example relates to SF6 modulation, such that the possible symbol range from <NUM> to <NUM>, or <NUM> in binary. Only the symbols of the form <NUM> · p are used, while the others that are never generated, are indicated by "N/A". <FIG> shows only a quarter of the possible <NUM> modulation values.

<FIG> illustrates another schema of reduction of the modulation set that combines advantageously with differential modulation where errors are not an integer number of samples or, in the Fourier domain, an integer number of FFT bins. The new mapping function transmits an additional bit (or an additional bit field) per symbol than the mapping function of <FIG>. The additional bit is denoted by Bl, while the remaining SF-<NUM> bits are denoted by Bh. Only half of the symbols are used, in groups of two, and the remaining half is never used, but other schemes are possible. Compared to the <NUM> · p reduction scheme, there is an effective increase of one bit.

Since differential modulation is used, a constant offset in demodulation will not affect the Bh bits, nor the Bl bit. The reduction scheme is arranged such that the Bh field of bits is a "high reliability" field that can be decoded reliably and correctly also when there is an error of ± <NUM> in the perceived cyclical shift, for example because the reduction scheme is organised in groups that encode the same value of Bh. The Bl bit is a "low reliability" field and is affected by such transitions.

<FIG> illustrates, in schematic form, a possible realization of a modulation chain implementing the alternative mapping described above. The right branch comprising blocks <NUM>, <NUM>, <NUM>, <NUM> corresponds to the processor disclosed above in relation to <FIG>, and its output is still available. The right branch includes a splitting operation <NUM>, in which the message is split into two separate stream, one corresponding to (SF-<NUM>) bits and one to one bit. The data have preferably processed independently by insertion of error correction codes (block265) and interleaving (<NUM>). Advantageously, the forward error correction schemes for the Bh branch and those for the Bl branch are different and optimized in function of the different coding rates in the two branches. Block <NUM> symbolises the combination of Bh and Bl before the integration <NUM>.

Claim 1:
A method of radio transmission, comprising:
encoding a digital message into a series of input symbols belonging to a predetermined modulation set, each symbol encoding a plurality of bits of the digital message;
generating a series of differential-encoded symbols, whereby each possible value in the series of input symbols corresponds to a predetermined change in the series of differential-encoded symbols, synthesizing a series of modulated chirps whose instantaneous frequencies 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 in the series of differential-encoded symbols.