The CTC works that depend on the side channel of packet energy, packet size, packet interval, and CSI belong to the packet level CTC. The efficiency of these CTC works is bounded due to the limited throughput. First, the duration and interval of the wireless packet are in the range of milliseconds. Hence, embedding CTC symbols into the sparse wireless packets is inefficient. Second, the packet level CTC fails to fully utilize the bandwidth. Take the CTC from WiFi to ZigBee as an example. ZigBee conducts RSSI sensing within a 2MHz-bandwidth channel, while the bandwidth of WiFi is 20MHz. The signals within the rest of the WiFi bandwidth will be wasted. Due to the above limitations, the physical level CTC works arise.
5.1 Receiver Transparent CTCs
With receiver transparent CTC, the receivers can demodulate the heterogeneous transmitters’ signals without any modification. The receiver transparent CTCs mainly utilize the transmitter’s signals (e.g., WiFi) to emulate the receiver’s signals (e.g., ZigBee) by manipulating the transmitter’s payload. According to the emulation target, these works can be divided into two categories, namely time-domain waveform-based emulation and phase-shift-sequence-based emulation. The former mainly emulates the receiver’s time-domain waveform, such as WEBee [
22] and PMC [
90], while the latter mainly emulates the phase shift sequence of the receiver’s signal, such as WIDE [
92] and BlueBee [
94].
WEBee [
22] introduces a high-throughput CTC from WiFi to ZigBee via emulating the ZigBee time-domain waveform by modifying the WiFi transmitter. Figure
11 illustrates the architecture of WEBee. The WiFi device chooses the payload of a WiFi frame to emulate the ZigBee packet. When the ZigBee device receives signals, the WiFi header, preamble, and trailer are ignored as noise. The WiFi payload is recognized as a legitimate ZigBee packet and is decoded successfully at the ZigBee receiver. The complete WEBee emulation procedure is transparent to the ZigBee receiver and is shown in Figure
12, which mainly consists of three parts: (i)
Quadrature Amplitude Modulation (QAM) Emulation, (ii) Channel Coding Emulation, and (iii) Post-QAM Emulation.
QAM Emulation is the core of WEBee. As shown in Figure
13, the process of QAM selection is done in the reverse direction, where the desired ZigBee time-domain signals are sent into the
fast Fourier transform (FFT) to select the corresponding QAM constellation points. Whereas the frequency components of the desired ZigBee time-domain signals may not match the WiFi QAM points perfectly, which leads to QAM quantization errors. Parseval’s theorem states that the energy in the time-domain is equal to the energy in the frequency domain. That means minimizing the signal distortion in the time-domain caused by the QAM emulation errors is equal to minimizing the deviation of frequency components. Hence, the QAM emulation is an optimizing process to choose the closest
\(n\) QAM points in terms of the difference of FFT points between the desired signals and WiFi signals. Moreover, the
Direct Sequence Spread Spectrum (DSSS) also improves the ability to tolerate errors. Specifically, a ZigBee symbol (4-bits) is mapped into a 32-chip sequence. The maximum Hamming distance between the received chip sequence and the standard chip sequence is customizable in commercial off-the-shelf devices. Hence, in WEBee, the maximum Hamming distance can be set more loosely to tolerate QAM emulation errors.
Channel Coding Emulation is used to achieve the emulation of convolutional encoder, scramber, and interleaver. First, the convolutional encoding can be modeled as a matrix \(M\), which satisfies \(M \times _{GF(2)}X=Y\). The Galois field \(GF(2)\) is used to define the relationship between the source bits \(X\) and the coded bits \(Y\). WEBee only needs to control 7 WiFi QAM points to emulate ZigBee signals because the ZigBee channel only covers 7 WiFi subcarriers. So with 64-QAM, WEBee controls only 42 (7 \(\times\) 6) bits of \(Y\) by manipulating \(X\). In addition to convolutional encoder, the scrambling of WiFi is achieved by XORing the incoming source bits with the output of a 7-bit linear feedback shift register. It is easy to reverse the scrambler by XORing the scrambled bits with the same output of the shift register because the scrambler is a one-to-one mapping from the source bits to the scrambled bits. Similarly, the interleaver is also a one-to-one mapping from the coded bits to the permuted bits, and it can be reversed easily.
Post-QAM Emulation has several challenges to be resolved. First, the duration of a ZigBee symbol is four times that of WiFi. Therefore, a complete ZigBee symbol has to be segmented before emulated by four WiFi symbols and such segmentation introduces boundary errors. Second, the cyclic prefix (CP) will also cause errors. The 0.8 \(\mu\)s-CP means that the front segment and the end segment of WiFi signals are the same, introducing additional error for ZigBee. Due to the inherent difference between WiFi and ZigBee, the signal distortion cannot be avoided completely during the emulation. WEBee also proposes repeated transmission and forward error correction (FEC) for reliability.
PMC [
90] is another waveform-based CTC from WiFi to ZigBee. Different from WEBee, PMC only uses the signals of the overlapping WiFi subcarriers to emulate ZigBee signals. The other subcarriers still transmit WiFi signals. The system overview is shown in Figure
14. Specifically, PMC firstly develops an offline search algorithm, which can map the desired ZigBee signals to WiFi QAM-modulated signals. This search algorithm iteratively finds the QAM phase states that are most similar to the ZigBee
offset quadrature phase shift keying (OQPSK) signals from all possible QAM phase states in the overlapping WiFi subcarriers. It should be noted that it is different from WEBee [
22] as it can choose other QAM points besides the original WiFi constellation points. This mapping relationship is stored in a
look-up table (LUT). Then WiFi sender goes through the LUT table to get the QAM states corresponding to the ZigBee signals. The signals in other non-overlapping subcarriers are the traditional WiFi signals. The hybrid ZigBee and WiFi signals are sent after the inverse FFT module. In this way, the hybrid signals can be decoded by the WiFi receiver and ZigBee receiver, respectively. It should be noted that the hybrid signals can be directly received and decoded by the ZigBee receiver without any modification, while the WiFi receiver needs to be modified at the link layer to extract the WiFi data from the hybrid signals.
In addition to the person-area network (e.g., WiFi, ZigBee, and Bluetooth), some works focus on the wide-area network (e.g., LTE and Multefire).
LTE2B [
91] is a representative CTC work that delivers information from LTE to ZigBee. Some works attempt to combine the physical level CTC with backscatter.
Passive-ZigBee [
69] utilizes a low power backscatter radio to transform a WiFi signal into a ZigBee packet.
On the one hand, in spite of the progress in time-domain waveform emulation, an important fact is often overlooked: the emulated signals from the sender cannot perfectly match the desired signals of the receiver due to the difference in communication standards and the hardware restrictions. There is more or less Hamming distance between the emulated and the desired signals, incurring emulation errors. On the other hand, the receiver transparent CTC receiver (ZigBee, BLE, etc.) uses the phase shift rather than the phase itself or time-domain waveform to decode signals. Specifically, the receiver outputs “1” if the phase shift between two consecutive samples is bigger than 0 and otherwise outputs “0”.
Based on the above finding,
WIDE [
92] achieves CTC based on the method of digital emulation to reduce emulation errors. Instead of emulating the original time-domain waveform of the receiver, the sender emulates the phase shifts associated with the desired signals. The process of digital emulation is shown in Figure
15. Given the desired data bits of the receiver, the sender calculates the signs of phase shifts. The positive and negative phase shifts represent the bit “1” and “0”, respectively. The sender generates a ladder-shaped phase sequence that matches the signs of phase shifts. The duration of each phase value is equal to the decoding period of the receiver. The ladder-shaped phase sequence corresponds to a waveform, which is then emulated by using the time-domain waveform emulation.
Compared with the time-domain waveform emulation, digital emulation is more flexible and robust. As shown in Figure
15, the phase shift sequence of the desired data bits at the receiver side is not unique, because the receiver decodes signals according to the sign of the phase shift rather than the specific phase shift value. For example, the phase shift value
\(+\frac{\pi }{4}\) and
\(+\frac{\pi }{2}\) can both be decoded as “1” due to the positive sign of phase shift. The errors at the WiFi sender when emulating different phase shift sequences are different. Therefore, we have the opportunity to reduce the emulation errors by selecting an appropriate phase shift sequence for emulation.
BlueBee [
94] proposes a CTC from BLE to ZigBee by emulating legitimate ZigBee packets using BLE packets. It is also based on phase shift sequence emulation. The feasibility of emulating ZigBee packets using BLE packets relies on two key technique insights. First, the modulation techniques of ZigBee and BLE are similar. ZigBee’s OQPSK and BLE’s GFSK both leverage the phase shift between consecutive samples to indicate symbols. Second, the demodulation of Zigbee only considers the sign of the phase shift (“+” or “
\(-\)”) instead of a particular phase shift value, which offers great flexibility in emulation. Figure
16(a) depicts the ZigBee signal containing chips “11”. The phase shifts from
\(T_1\) to
\(T_2\) and from
\(T_2\) to
\(T_3\) are both
\(\frac{\pi }{2}\). Figure
16(b) shows the BLE signal, which is the emulation of Figure
16(a). The bandwidth of BLE is half of the bandwidth of ZigBee, which means the sampling rate of BLE is also half of ZigBee. When the BLE signal is fed into the ZigBee receiver, the ZigBee receives samples at
\(T_1\),
\(T_2\), and
\(T_3\). The phase shifts from
\(T_1\) to
\(T_2\) and from
\(T_2\) to
\(T_3\) are both
\(\frac{\pi }{4}\). Since the signs of these two phase shifts are positive, the ZigBee chips can be successfully decoded as “11”. In this case, the ZigBee receiver can decode the BLE signal segment as “11” or “00”. Consider that there are “10” and “01” in the DSSS sequence of the ZigBee symbols. The BLE signal is optimally designed such that the inevitable error is minimized and kept under the tolerance of the ZigBee’s OQPSK/DSSS demodulator.
5.2 Transmitter Transparent CTCs
Different from the receiver transparent CTCs that utilize the transmitter’s strong capability to realize the communication from high-end transmitters to low-end receivers, the transmitter transparent CTCs make full use of the receiver’s capability to realize the communication from low-end transmitters to high-end receivers without any modification of transmitters. Now we introduce three transmitter transparent CTC works. The first two of them observe the pattern of the transmitter’s signal at the receiver to achieve cross-decoding, while the third one utilizes the strong computing capability of the WiFi receiver to reconstruct the transmitter’s signal.
XBee [
95] is a physical-level CTC from ZigBee to BLE. This work proposes the method of
cross-decoding, which interprets a ZigBee frame by observing the bit pattern obtained at the BLE receiver. Cross-decoding is inspired by the following two technical insights. First, Both the ZigBee receiver and the BLE receiver utilize the phase shift to decode their signals. Second, the phase shifts at the BLE receiver are quantized, and only the sign of phase shifts are used. We illustrate the method of cross-decoding with the example shown in Figure
17. A ZigBee symbol lasts 16
\(\mu\)s. Considering the sampling rate of BLE is 1
\(MHz\), the above ZigBee signals can be demodulated as 8 BLE bits based on the sign of phase shifts. Since the sampling rate of BLE is half of the sampling rate of ZigBee, whether the samples have a left offset or a right offset determines the final decoding result. The BLE decoding bit sequence has some determined bits and some undetermined bits. According to the demodulated BLE bits, the BLE receiver can infer the ZigBee symbols.
LEGO-Fi [
96] is another transmitter transparent CTC, which delivers information from ZigBee to WiFi. LEGO-Fi reuses the standard WiFi modules for the ZigBee reception and proposes a concept named
cross-demapping. As shown in Figure
18, the authors reuse the WiFi short preamble detection module, the WiFi long preamble detection module, and the quadrature demodulation module to decode ZigBee symbols. First, the received signals after the process of downsampling are fed to the WiFi short preamble detection module. Second, if the periodic ZigBee preamble is detected, we reuse the WiFi long preamble detection module to conduct symbol synchronization to segment each ZigBee symbol. During this process, the
start of frame delimiter (SFD) template of ZigBee is fed into the WiFi long preamble detection module to locate the SFD. Third, these received signals are forwarded to the quadrature demodulator to calculate the corresponding phase shift sequence. Finally, LEGO-Fi uses a matching filter to distinguish different ZigBee symbols and accomplish CTC from ZigBee to WiFi.
XFi [
98] enables mobile devices to directly and simultaneously collect data from diverse IoT devices by commodity WiFi radio. The key insight is that the IoT data can be captured by the WiFi receiver and retained when the IoT frame collides with a WiFi transmission. XFi obtains the collided IoT data by analyzing the decoded WiFi payload. The detailed procedures of XFi are as follows: (i) reconstruct the waveform of hitchhiking IoT data, and (ii) decode the reconstructed IoT waveform. Figure
19 shows the architecture of XFi. The coded bits are recovered from decode bits by the coded bit reconstructor. The coded bits are mapped to the subcarriers and the IoT waveform can be reconstructed by performing IFFT. A robust decoding algorithm is used to decode the IoT data with these reconstructed waveforms. While the channel decoder of WiFi adopts FEC and attempts to eliminate the hitchhiking IoT signal as interference in the decoded output, the author observes that the decoder almost keeps the corrupted coded bits intact, especially when coded bits are severely disturbed by the IoT signal. So the coded bits can be approximated with decoded bits. On the other hand, with the
parity removal and
CP removal, nearly a third of IoT waveforms are erased by WiFi hardware and cannot be reconstructed. In this case, XFi customizes an enhanced IoT decoder to provide robust decoding with the symbol-level and chip-level redundancy of IoT signals.
5.3 None Transparent CTCs
In addition to the above two types of CTCs, another type of CTC modifies both the transmitter and the receiver. Part of them are to enhance the robustness of CTC, such as TwinBee [
99], LongBee [
100], and SymBee [
101]. Other works are to achieve parallel communication between the different wireless protocols, such as Chiron [
102] and PIC [
103]. We introduce these representative works below.
TwinBee [
99] is a representative none transparent CTC work to enhance the robustness of CTC, which is proposed to recover errors introduced by imperfect signal emulation of WEBee. The author analyzes the reasons for these errors and conducts several experiments to explore the chip error patterns. The received 32-chip sequence of ZigBee, whose chip errors are located in the middle and both ends of the chip sequence, is regarded as the error-prone chip. The rest of the chips are regarded as normal chips. Since those chip errors have distinguishable patterns, TwinBee designs a specific chip-combining coding method to recover the errors in error-prone chips.
The cyclic-shift feature of ZigBee chip sequence ensures the feasibility of chip-combining coding. As we know, a 4-bit ZigBee symbol is mapped into a 32-chip sequence, and there are a total of 16 different chip sequences for symbol “0” to symbol “15”. The chip sequence “\(m+2\)” is the right-cyclic-shifted by 4 chips from the chip sequence “\(m\)”.
The basic idea of the chip-combining coding is leveraging the cyclic-shift feature of ZigBee chip sequences to move the error-prone chips away. We suppose the length of error-prone chips is 8 chips. After the chip sequence “\(m+2\)” is shifted by 8 chips, the error-prone chips’ position is exactly complementary to the position of symbol “\(m\)”. Combining these two emulated symbols only with their normal chips will recover the original symbol with all normal chips.
The diagram of chip-combining coding is shown in Figure
20. An original symbol “
\(m\)” is to be transmitted. The TwinBee sender firstly selects a twin symbol “
\(m+2\)” whose chip sequence is right-cycle-shifted by 8 chips from the original symbol. Then the TwinBee sender combines these twin symbols into one byte and transmits via emulation. The TwinBee receiver left-cyclic-shifts the received chip sequence of symbol “
\(m+2\)” by 8 chips, denoted as “
\(m+2\lt \lt\)”. The positions of error-prone chips of “
\(m+2\lt \lt\)” are different from the original symbol
\(m\). In addition, due to the cyclic-shift feature of the ZigBee chip sequence, the chip sequence of “
\(m+2\lt \lt\)” is equal to the symbol “
\(m\)” in theory. The TwinBee receiver combines the normal chips of these two chip sequences “
\(m+2\lt \lt\)” and “
\(m\)” together. In this way, the TwinBee receiver gets the chip sequence of the original symbol “
\(m\)” with all normal chips, and the error-prone chips can be recovered successfully.
LongBee [
100] is another improved CTC work of WEBee. LongBee extends the communication range of CTC to support long-range IoT applications. In terms of signal emulation, LongBee works similarly to WEBee. Moreover, LongBee combines the high transmission power of WiFi and the fine receiving sensitivity of ZigBee together to increase the CTC communication range significantly.
SymBee [
101] is a symbol-level CTC from ZigBee to WiFi, which is built on the insight of cross-observability on ZigBee-WiFi physical layer. The ZigBee sender transmits specific symbols, and these symbols yield unique and easily detectable patterns when cross-observed at the WiFi receiver. SymBee elaborately selects optimal combinations of ZigBee symbols to achieve two goals. First, these symbols yield the longest stable patterns that maximize the detection under noise and interference. Second, the difference between different combinations of elected symbols used to represent different CTC symbols is maximally distinct.
Chiron [
102] is a representative none transparent CTC work to achieve parallel communication, as it designs a Chiron receiver and a Chiron sender to enable parallelly transmitting (or receiving) WiFi data and Zigbee data to (or from) commodity WiFi and ZigBee devices.
PIC [
103] design a new gateway to achieve the parallel inclusive bi-directional transmission of both WiFi and BLE data simultaneously. The core of the PIC’s design is to generate a frame that contains both WiFi and BLE data which can be demodulated by both WiFi and BLE devices, leveraging the unique modulation schemes of WiFi and BLE.
Symphony [
104] achieves CTC from both ZigBee and BLE to LoRa. The key ideas of this approach are two techniques: (i) ZigBee and BLE can both generate several specific signals by controlling the payload. (ii) LoRa demodulation mechanism based on FFT can be used to detect the specific signals from ZigBee and BLE.