Modulation index shift signaling
09847895 · 2017-12-19
Assignee
Inventors
Cpc classification
H04L5/0053
ELECTRICITY
H04W4/80
ELECTRICITY
H04L27/2017
ELECTRICITY
H04L27/201
ELECTRICITY
International classification
Abstract
A transmitting device (20) overlays control information onto information bit stream intended for a receiving device (40) by varying or shifting the modulation index in continuous phase modulation (CPM) waveform. The receiving device (40) detects the modulation index used at the transmitting device (20) to modulate the data burst. The receiving device (40) then determines the control information based on the detected modulation index.
Claims
1. A method of sending control information from a transmitting device to a receiving device, the method comprising: generating a modulated signal that signals the control information to the receiving device by mapping the control information to a selected modulation index set and modulating an information bit stream for the receiving device with a continuous phase modulator using the selected modulation index set; and transmitting the modulated signal to the receiving device.
2. The method of claim 1 wherein the modulation index set comprises a single index value applied to selected information bits in said information bit stream.
3. The method of claim 1 wherein the modulation index set comprises a sequence of index values applied to respective ones of selected information bits in said information bit stream.
4. The method of claim 1 wherein modulating an information bit stream for the receiving device comprises modulating an known bit sequence in the information bit stream that is known to the receiving device using the selected modulation index set.
5. The method of claim 4 wherein modulating the known bit sequence comprises modulating a predefined synchronization sequence in the information bit stream using the selected modulation index set.
6. The method of claim 1 wherein each modulation index in the modulation index set is set to one of a first value or a second value.
7. The method of claim 6 wherein modulating an information bit stream for the receiving device comprises: inverting the sign of each selected information bit in the information bit stream when the value of a corresponding modulation index in the modulation index set is the second value to generate a modified information bit stream; and modulating the modified information bit stream in the continuous phase modulator using a fixed modulation index corresponding to the first value.
8. The method of claim 6 wherein modulating an information bit stream with a continuous phase modulator using the selected modulation index set comprises: modulating the information bit stream in the continuous phase modulator using a fixed modulation index corresponding to the first value to generate an initial signal; conjugating selected ones of the modulation symbols in the initial signal when a corresponding modulation index in the modulation index set is the second value to generate the modulated signal.
9. The method of claim 1 wherein the information bit stream includes user data bits and wherein the control information comprises data rate information for the user data bits in the information bit stream.
10. A transmitting device configured to send control information to a receiving device comprising: a processing circuit configured to generate a modulated signal that signals control information to a receiving device by mapping the control information for the receiving device to a selected modulation index set and modulating an information bit stream with a continuous phase modulator using the selected modulation index set; and a transmitter configured to transmit the modulated information bit steam to a receiving device.
11. The transmitting device of claim 10 wherein the modulation index set comprises a single index value applied to selected information bits in said information bit stream.
12. The transmitting device of claim 10 wherein the modulation index set comprises a sequence of index values applied to respective ones of selected information bits in said information bit stream.
13. The transmitting device of claim 10 wherein the processing circuit is configured to modulate a known bit sequence in the information bit stream that is known to the receiving device using the selected modulation index set.
14. The transmitting device of claim 13 wherein the wherein the continuous phase modulator is configured to modulate a predefined synchronization sequence in the information bit stream using the selected modulation index set.
15. The transmitting device of claim 10 wherein each modulation index in the modulation index set used by the processing circuit is set to one of a first value or a second value.
16. The transmitting device of claim 15 wherein the processing circuit is configured to modulate the information bit stream by: inverting the sign of each selected information bit in the information bit stream when the value of a corresponding modulation index in the modulation index set is the second value to generate a modified information bit stream; and modulating the modified information bit stream using a fixed modulation index corresponding to the first value.
17. The transmitting device of claim 15 wherein the processing circuit is configured to modulate the information bit stream by: modulating the information bit stream with the continuous phase modulator using a fixed modulation index corresponding to the first value to generate an initial signal; and conjugating selected ones of the modulation symbols in the initial signal when a corresponding modulation index in the modulation index set is the second value to generate the modulated signal.
18. The transmitting device of claim 10 wherein the information bit stream includes user data bits and wherein the control information comprises data rate information for the user data bits in the information bit stream.
19. A method of receiving control information from a transmitting device, the method comprising: receiving, from the transmitting device, a modulated signal generated by modulating an information bit stream in a continuous phase modulator using a predefined modulation index set; processing the modulated signal to detect the modulation index set used by the transmitting device to generate the modulated signal; and determining the control information by mapping the modulation index set to a corresponding one of a predefined set of control information.
20. The method of claim 19 wherein the modulation index set comprises a single index value applied to selected information bits in said information bit stream.
21. The method of claim 19 wherein the modulation index set comprises a sequence of index values applied to respective ones of selected information bits in said information bit stream.
22. The method of claim 19 wherein processing the modulated signal to detect the modulation index set comprises processing a portion of the modulated signal containing a known bit sequence to detect the modulation index set.
23. The method of claim 22 wherein processing a portion of the modulated signal containing a known bit sequence to detect the modulation index set comprises processing a portion of the modulated signal containing a known bit sequence to jointly detect the modulation index set and time synchronization.
24. The method of claim 19 wherein processing the modulated signal to detect the modulation index set comprises correlating the modulated signal with one or more known modulation symbol sequences.
25. The method of claim 24 wherein correlating the modulated signal with one or more known modulation sequences comprises correlating a first portion of the modulated signal with a first predetermined index sequence and correlating a second portion of the modulated signal with a second predetermined index sequence.
26. The method of claim 19 wherein the information bit stream includes user data bits and further comprising: demodulating the modulated signal to obtain coded data bits; and decoding the coded data bits based on the control information to obtain the user data bits.
27. A receiving device comprising: a receiver configured to receive, from a transmitting device, a modulated signal sequence generated by modulating an information bit stream in a continuous phase modulator using a predefined modulation index set; a processing circuit configured to detect the modulation index set used by the transmitting device to generate the modulated signal, and to determine the control information by mapping the modulation index set to a corresponding one of a predefined set of control information.
28. The receiving device of claim 27 wherein the modulation index set comprises a single index value applied to selected information bits in said information bit stream.
29. The receiving device of claim 27 wherein the modulation index set comprises a sequence of index values applied to respective ones of selected information bits in said information bit stream.
30. The receiving device of claim 27 wherein the processing circuit is configured to detect the modulation index set by processing a portion of the modulated signal containing a known bit sequence.
31. The receiving device of claim 30 wherein the processing circuit is further configured to process the known bit sequence to jointly detect the modulation index set and the time synchronization.
32. The receiving device of claim 27 wherein the processing circuit comprises a detection circuit is configured to correlate the modulated signal with one or more known modulation symbol sequences.
33. The receiving device of claim 27 wherein the processing circuit is configured to correlate a first portion of the modulated signal with a first modulation symbol sequence and a second portion of the modulated signal with a second modulation symbol sequence.
34. The receiving device of claim 27 wherein the information bit stream includes user data bits and wherein the processing circuit further comprises: a demodulator for demodulating the modulated signal to obtain coded data bits; and a decoder for decoding the coded data bits based on the control information to obtain the user data bits.
35. A computer program product stored in a non-transitory computer readable medium for controlling the sending of control information from a transmitting device to a receiving device, the computer program product comprising software instructions which, when run on at least one processor of the transmitting device, causes the transmitting device to: generate a modulated signal that signals the control information to the receiving device by mapping the control information to a selected modulation index set and modulating an information bit stream for the receiving device with a continuous phase modulator using the selected modulation index set; and transmit the modulated signal to the receiving device.
36. A computer program product stored in a non-transitory computer readable medium for controlling the receiving of control information from a transmitting device, the computer program product comprising software instructions which, when run on at least one processor of a receiving device, causes the receiving device to: receive, from the transmitting device, a modulated signal generated by modulating an information bit stream in a continuous phase modulator using a predefined modulation index set; process the modulated signal to detect the modulation index set used by the transmitting device to generate the modulated signal; and determine the control information by mapping the modulation index set to a corresponding one of a predefined set of control information.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
DETAILED DESCRIPTION
(23) Referring now to the drawings,
(24) Bluetooth Low Energy (BLE) and BLE Long Range employ Gaussion Frequency Shift Keying (GFSK) modulation, which is a type of continuous phase modulation (CPM). The continuous-time complex-valued baseband waveform x(t) generated by the modulator of the transmitting device 20 can be expressed in the form
x(t)=exp(jπh.Math.φ(t)), Eq. (1)
where t is time, h is the so-called modulation index, and φ(t) is the phase waveform, which depends upon the transmitted bits. In BLE, the modulation index has the nominal value
(25)
although deviations up to +0.05 around the nominal value are allowed in order to accommodate for hardware imperfections.
(26) Equation 1 describes a CPM signal with a single modulation index, often called single-h CPM modulation in order to stress the fact that only one modulation index is used. Single-h modulation can be generalized to multi-h CPM in which the baseband waveform is generated using several modulation indices. To illustrate multi-h modulation, assume that b.sub.k is the k-th transmitted bit. A sequence of modulation indices {right arrow over (h)}=(h.sub.k) is also selected. The continuous time baseband signal x(t) is given by
x(t)=exp(jπ.Math.(Σ.sub.kh.sub.k.Math.(1−2b.sub.k).Math.p(t−kT.sub.s)+θ)), Eq. (2)
where p is a so-called phase pulse, T.sub.s is the bit period, and θ is an arbitrary initial phase.
(27) The transmitting device 20 and receiving device 40 exchange information in units referred to herein as data bursts. The data burst is sent from the transmitting device 20 to the receiving device 40. Those skilled in the art will appreciate that a communication device may function as both a transmitting device 20 and a receiving device 40 depending on the direction of the information exchange.
(28)
(29)
(30)
(31) In exemplary embodiments of the disclosure, control information is overlaid on a certain portion of a data burst or the entire data burst by shifting the modulation index in the CPM waveform. Thus, the modulation index used to generate the waveform implicitly signals the control information. The receiver detects the modulation index in the received CPM waveform and determines the control information based on the detected modulation index. Such a signaling method can be referred to as modulation index shift signaling.
(32) According to one example of the disclosure, the overlaid control information is the information bit rate for the payload field. For example, the data burst is modulated using GFSK with a modulation index h=½ to signal that the information bit rate is 125 kbps, whereas the data burst is modulated with GFSK using modulation index h=−½ to signal that the information bit rate is 500 kbps. In some embodiments, the portion of the data burst that will be used to carry the overlaid control information is the “sync word” portion as illustrated in
(33) Transmitting Device Implementation
(34) Single-h CPM
(35) Suppose, for example, that a transmitting device 20 is sending a bit sequence b.sub.k to a receiving device 40, and that single-h CPM modulation is used. Assume also that, in addition to the bit sequence, the transmitting device 20 needs to signal control information or other information to the receiving device 40. The control information is first mapped to an integer. For example a first control message is mapped to the number 1, a second control message is mapped to the number 2, and so on. In general, assume that there are N possible control messages and that the transmitting device 20 wishes to transmit one of them to the receiving device 40, p.g., n, with 1≦n≦N. According to one exemplary embodiment, the following steps are performed: Choose N different modulation indices {h.sub.1, h.sub.2, . . . , h.sub.N}. This set of possible modulation indices is known at both the transmitting device 20 and the receiving device 40. The modulation indices are not required to be positive. Generate a one to one mapping of modulation indices {h.sub.1, h.sub.2, . . . , h.sub.N} to control messages. If the transmitting device 20 wishes to send the control message number n to the receiving device 40, then it modulates the bit sequence b.sub.k using single-h CPM modulation with modulation index h.sub.n.
(36) An especially simple case occurs when there are only two messages. In this case the set possible modulation indices may be chosen to be {h, −h}, where h is a fixed value.
Example 1
(37) Suppose a BLE Long Range transmitting device 20 wishes to send a bit sequence b.sub.k to a BLE Long Range receiving device 40. The burst is formatted according to
(38)
if the information bit rate equals 125 kbps and with a modulation index
(39)
if the information bit rate equals 500 kbps.
(40) Multi-h CPM
(41) The signaling techniques herein described may also be adapted for use with multi-h modulation. As before, assume that a transmitting device 20 is sending a bit sequence b.sub.k to a receiving device 40, and that it also needs to send one of N possible control messages to the receiving device 40. The control information is first mapped to an integer. For example a first control message is mapped to the number 1, a second control message is mapped to the number 2, and so on. In general assume that there are N possible control messages and that the transmitting device 20 wishes to transmit one of them to the receiving device 40, say n, with 1≦n≦N. According to one exemplary embodiment, the following are the steps are performed: Choose N different sequences of modulation index sequences {{right arrow over (h)}.sub.1, {right arrow over (h)}.sub.2, . . . , {right arrow over (h)}.sub.N}. The arrow indicates that each member of the set is a sequence. For example {right arrow over (h)}.sub.n=(h.sub.1.sup.n, h.sub.2.sup.n, h.sub.3.sup.n, . . . ). This set of possible modulation index sequences is known at both the transmitting device 20 and the receiving device 40. The modulation indices in the modulation index sequences are not required to be positive. Generate a one to one mapping of modulation index sequences {{right arrow over (h)}.sub.1, {right arrow over (h)}.sub.2, . . . , {right arrow over (h)}.sub.N} to control messages. If the transmitting device 20 wishes to send the control message number n to the receiving device 40, the transmitting device 20 modulates the bit sequence b.sub.k using multi-h CPM modulation with modulation index sequence {right arrow over (h)}.sub.n=(h.sub.1.sup.n, h.sub.2.sup.n, h.sub.3.sup.n, . . . ).
Example 2
(42) Suppose a BLE Long Range transmitting device 20 wishes to send a bit sequence b.sub.k to a Bluetooth receiving device 40. The data burst is formatted according to
(43)
(44) The transmitting device 20 inputs the bit sequence b(k) to a multi-h modulator with a modulation index sequence {right arrow over (h)}.sub.1=(h.sub.1.sup.1, h.sub.2.sup.1, h.sub.3.sup.1, . . . ) if the information bit rate is low (e.g., 125 kbps). If the information bit rate is medium (e.g., 250 kbps), the transmitting device 20 inputs the bit sequence b(k) to the multi-h modulator with a modulation index sequence of {right arrow over (h)}.sub.2=(h.sub.1.sup.2, h.sub.2.sup.2, h.sub.3.sup.2, . . . ). If the information bit rate is high (e.g., 500 kbps), the transmitting device 20 inputs the bit sequence b(k) to the multi-h modulator with a modulation index sequence of {right arrow over (h)}.sub.3=(h.sub.1.sup.3, h.sub.2.sup.3, h.sub.3.sup.3, . . . ). Many other choices of the modulation index sequences are possible. Because BLE uses GFSK modulation with
(45)
it is convenient to ensure mat all the modulation indices h.sub.k.sup.n take only the values ½ or −½ in order to obtain some degree of backward compatibility with existing hardware or software.
(46)
(47) For multi-h modulation, the information bit stream I is input to the multi-h GFSK modulator 80 along with an modulation index sequence {right arrow over (h)}.sub.n. In this case, the modulation indices h.sub.k.sup.n in the modulation index are applied to respective information bits in the information bit sequence during modulation. While many modulation index sequences are possible, it is convenient to constrain the value of the modulation indices in each modulation index sequence to either ½ or −½.
(48) The techniques described herein can be easily implemented by reusing existing hardware and/or software. For example, it is very easy to generate a CPM waveform with modulation index h by re-using an existing software or hardware implementation of a CPM modulator with modulation index h. This is easily seen from Equation 1, since exp(−jπh φ(t))=conj(exp(jπh.Math.φ(t))), where conj( ) denotes complex conjugation. Hence, existing implementations of GFSK modulators can be easily modified to implement the techniques herein described by adding a complex conjugation at the output of an existing modulator whenever a negative modulation index is desired.
(49)
(50)
for example. The single-h GFSK modulator 85 modulates the information bit stream I and output a modulated signal S′. The modulated signal S′ is input to the conjugating circuit 90. The modulation index h.sub.n or modulation index sequence {right arrow over (h)}.sub.n is input to the conjugating circuit 90. The conjugating circuit 90 comprises a circuit that is configured to conjugate selectively the modulation symbols in the modulated signal S′ to generate the modulated signal S. More particularly, the conjugating circuit 90 conjugates each modulated symbol in the modulated signal S′ where the corresponding modulation index
(51)
The modulated signal S is transmitted to the receiving device 40. As previously noted, modulation index shift signaling may be applied to only a portion of the information bit stream, e.g., the sync word or preamble portions. The conjugating circuit 90 may be disabled for the remaining portion of the information bit stream.
(52)
(53)
The modified information bit stream I′ is input to the single-h GFSK modulator 85, which uses a modulation index
(54)
for example. The single-h GFSK modulator 85 modulates the modified information bit stream I′ and outputs the modulated signal S, which is transmitted to the receiving device 40. As previously noted, modulation index shift signaling may be applied to only a portion of the information bit stream, e.g., the sync word or preamble portions. The inverting circuit 95 may be disabled for the remaining portion of the information bit stream I.
(55)
(56)
(57)
(58) Receiving Device Implementation
(59) The receiving device 40 detects the control or signaling information sent by the transmitting device 20 by detecting the modulation index h.sub.n (in case of single-h modulation being used at the transmitting device 20) or the modulation index sequence {right arrow over (h)}.sub.n (in case of multi-h modulation being used at the receiving device 40). The modulation index h.sub.n or the modulation index sequence {right arrow over (h)}.sub.n may be detected by using a known sequence of bits, such as the sync word or preamble.
Example 3
(60) This example is continuation of Example 1 above. Assume that there are two information bit rates, a low information bit rate (e.g., 125 kbps) and a high information bit rate (e.g., 500 kbps). When the modulation index
(61)
is used, conventional GFSK is obtained. This modulation produces a phase change of π/2 when the input bit to the modulator has a value of 1, and a phase change of −π/2 when the input bit to the modulator has value of 0.
(62) Conventional GFSK modulation with the modulation index h=½ is shown in
(63) GFSK modulation with a modulation index
(64)
is similar to modulation with a modulation index h=½, except that the opposite phase change is generated. In this case the modulator 80 gives a phase change of −π/2 when the input bit to the modulator has value of 1, and a phase change of π/2 when the input bit to the modulator 80 has value of 0.
(65)
(66) Let b.sub.k be the k-th bit of the sync word, b.sub.k=0, or 1. If the modulation index is h, and takes on one of the two values {½, −½}, the GFSK symbols are
s(k,h)=e.sup.jπhkΠ.sub.l=0.sup.k(2b.sub.l−1). Eq. (6)
(67) Thus, using the GFSK property and knowing the binary values of the bits in the sync word, the receiving device 40 can infer the modulation symbol values s(k, h) corresponding to the sync word. The knowledge of s(k, h) can be used by the receiving device 40 to perform coherent combining or correlation for achieving time synchronization and detection of the modulation index.
(68) The received signal can be represented by
r(k)=s(k−k.sub.0,h)e.sup.j2π(k−k.sup.
where f.sub.o represents the initial frequency error, T.sub.s is the symbol duration, θ is a random initial phase, and n(k) is contributed by additive white Gaussian noise (AWGN) or interference. The value k.sub.0 represents the unknown timing difference between the received and transmitted signals. The objective of joint time synchronization and modulation index detection is to jointly identify the values of k.sub.0 and h. As illustrated in
c(m,h)=|Σ.sub.k=0.sup.N-1r(k+m)s*(k,h)| Eq. (8)
or
c(m,h)=Σ.sub.k=0.sup.N-1r(k+m)s*(k,h) Eq. (9)
or
c(m,h)=Re{Σ.sub.k=0.sup.N-1r(k+m)s*(k,h)}. Eq. (10)
The values of m, h that maximize the metric c(m, h) in Equations 8-10 give the detected time synchronization and modulation index. Note that both m, h in Equations 8-10 take only a finite number of discrete values.
(69)
(70)
(71) The detection circuit 70 takes advantage of the fact that the modulation index can take only two values, +½ and −½. It is assumed that the known preamble is modulated using GFSK modulation with a modulation index h=½. The correlation circuit 72 is configured to compare the received signal with a sequence of modulated symbols computed based on the assumption that the preamble is modulated using GFSK modulation with a modulation index h=½. The modulated symbol sequence used by the correlation circuit 72 is referred to herein as the correlation sequence. As the window slides over the received signal, a correlation signal is generated according to, for example, Equation 10. The correlation signal is input to the threshold detection circuit 74. The threshold detection circuit 74 detects a peak in the correlation signal, which provides the time reference for the received signal. The peak is compared to a threshold, which in this case is 0. If the peak in the correlation signal is positive (above the threshold), the modulation index h=½ is deemed to be detected. If the peak in the correlation signal is negative (below the threshold), the modulation index h=−½ is deemed to be detected.
(72) Those skilled in the art will readily appreciate that the correlation sequence could also be generated based on the assumption that the modulation index h=−½. In this case, a positive peak in the correlation signal is associated would indicate that the modulation index h=−½ and a negative correlation peak would indicate that the modulation index h=½.
(73)
(74) In this example, a first one of the correlation circuits 72 is configured to search for the first 40 bits of the preamble and uses a correlation sequence generated based on the assumption that the modulation index h=½ is used for the first 40 bits. A second one of the correlation circuits 72 is configured to search for the last 40 bits of the preamble and uses a correlation sequence generated based on the assumption that the modulation index h=−½ is used for the last 40 bits. Thus, each correlation circuit 72 uses a sliding window 40 bits in length and offset by 40 bits.
(75) In operation, the first correlation circuit 72 compares the received signal with a sequence of modulated symbols computed based on the assumption that the first 40 bits of the preamble is modulated using GFSK modulation with a modulation index h=½. The second correlation circuit 72 compares the received signal with a sequence of modulated symbols computed based on the assumption that the last 40 bits of the preamble is modulated using GFSK modulation with a modulation index h=−½. As the windows slide over the received signal, two correlation signals are generated according to, for example, Equation 10. The correlation signals are input to the threshold detection circuit 74. The threshold detection circuit 74 detects peaks in the correlation signals, which provide the time reference for the received signal. The peaks are compared to a threshold, which in this case is 0, to determine the modulation index for the first and last 40 bits of the preamble. If the peak in the correlation signal from the first correlation circuit is positive (above the threshold), the modulation index h=½ is deemed to be detected. If the peak in the correlation signal is negative (below the threshold), the modulation index h=−½ is deemed to be detected. The opposite assumptions are made for the correlation signal from the second correlation circuit 72. If the peak in the correlation signal from the second correlation circuit is positive (above the threshold), the modulation index h=−½ is deemed to be detected. If the peak in the correlation signal is negative (below the threshold), the modulation index h=½ is deemed to be detected.
(76) The receiving device 40 can determine the control message based on the detected modulation indices. Table 1 below shows the mapping of the modulation indices to control messages.
(77) TABLE-US-00001 TABLE 1 Mapping of Modulation Indices to Control messages First 40 Bits Second 40 Bits Info. Bit Rate h = ½ h = ½ 125 kbps h = −½ h = −½ 250 kbps h = ½ h = −½ 500 kbps
(78) The example above illustrates sliding window correlation for joint time synchronization and modulation index detection. Those skilled in the art will recognize that other detection algorithms may also be used. It should be noted that any time synchronization algorithm relying on a known synchronization word is easily modified to perform joint time synchronization and modulation index detection by using the Equation 6 and allowing two hypotheses for the modulation index h.
(79)
(80)
(81)
(82)
(83)
(84)
(85)