WEBee: Physical-Layer Cross-Technology Communication via Emulation MobiCom’17 Zhijun Li, Tian He
Background Dense deployment Spectrum efficiency Harmonious coexistence 鉴于有新同学,先讲一下ctc的背景 无限设备部署越来越密集,频谱资源紧张 干扰冲突 数据交换 由于异质设备之间的物理层的不兼容,所以不能够直接进行数据传输 Dense deployment Spectrum efficiency Harmonious coexistence
Packet-level CTC Esense: Amplitude [MobiCom’09] 1 …... Packet-level …... Physical-level Packet-level Esense: Amplitude [MobiCom’09] RSSI Threshold L1 L2 L3
FreeBee: Time [MobiCom’15] 数据包层面比较有代表性的工作 相邻数据包的间隔编码数据
Motivation of the WEBee 1 …... 1000 packets 54M bps Physical-level Packet-level 以上几种ctc方法的对比 并行ctc是指:同时给多个目的节点发送独立的数据。 一串数据流打包成一个packet,1000个包,54mbps Packet level数据旅很低 从物理层实现跨协议通信呢? 如果要实现从Wi-Fi到zigbee物理层的ctc,那就要让zigbee能解出Wi-Fi的数据包,换言之,Wi-Fi要能模拟出zigbee的包
Design of WEBee 这是webee的设计思想,用wifi模拟出zigbee的信号。让zigbee可以从信号中解码出数据。
Feasibility of WEBee How a WiFi transmitter works 那接下来就要探讨一下这样做的可行性:wifi能否模拟出zigbee信号,具体该怎么样实现wifi对zigbee信号的模拟,模拟出的信号能否被zigbee解码? Wi-Fi发送端的发送过程 信道编码、调制、ofdm、逆fft,循环前缀
Wifi subcarriers Wifi的64个子载波
Wifi modulation 64-QAM BPSK QPSK 8-PSK 16-QAM WIFI使用64QAM, 每一个bit代表6bit的数据。
How a ZigBee receiver works 相位相减 大于0解码为1,小于0解码为0 解码出来的是chip,chip到zigbee 的symbol还需要一个映射,这是因为zigbee用了直接序列扩频
DSSS (Direct-sequence spread spectrum) 在zigbee中,由4位扩展为32位,解码时可以容忍12bit的错误。 提高了抗干扰和噪声的能力。
ZigBee modulation Offset QPSK (OQPSK) Q路信号与I路信号错开半个周期,每次只有一路信号发生突变,叠加信号的相位变化最大为 0 ° ,±90 ° ,不会出现 ±180 ° 的相位跳变。
WeBee Sollution QAM Emulation Wi-Fi发送的核心是ofdm里面的逆傅立叶变化。既然可以已知待发送的数据编码信息,通过逆傅里叶变换得到时域信号, 那么,如果我们已知想要的zigbee时域信号,就也通过傅立叶变换能否反推出编码信息,对应到QAM 编码的相应的编码位置上。 虽然这个对应不是完全一致的对应,但是,zigbee 解码使用 dsss, 这个差别可以被认为是合理的误差,进而能够正确的解码出信息。 已知想要的zigbee时域信号,对其进行傅里叶变换,得到相应的I,Q编码位置,将其对应到近似的QAM编码位置上。 由于zigbee解码时使用DSSS,可以容忍一定程度上的不一致,进而解码出正确的结果。
WeBee Sollution QAM Emulation 效果
WEBee 但实际上的实现没有这么简单 Wi-Fi发送端出了qam调制之外,还有其他部分。 如果想要在不修改Wi-Fi协议的基础上实现物理层信号的模拟,wifi端输入的发送信息,也就是一个二进制序列,必须经过所有的模块,到达接收端的时候能模拟zigbee的信号 也就是说,想要的zigbee信号必须经过所有这些模块反推出来Wi-Fi信号
Channel coding emulation Convolutional Encoder 2/3 信道编码这一块 首先是卷积编码 做加法 比如2/3卷积编码,输入是2个,输出是3个,中间的卷积器看成一个矩阵就可以了 INPUT M OUTPUT
Channel coding emulation Convolutional Encoder 64-QAM ¾: 1 WiFi symbol , 48 data points; 1 QAM point, 6 coded bits 48*6 = 288 bits; 288*3/4 = 216 bits 假设采用的是64qam的编码方法。 Row 288> Column 216 overdetermined system
Channel coding emulation Convolutional Encoder 64-QAM ¾: 1 WiFi symbol , 7 subcarriers; 1 QAM point, 6 coded bits 7*6 = 42 bits Row 42 < Column 216 undetermined system Parallel case: 14 subcarriers. 14*6 = 84 bits 84< 216.
WEBee 前面的信道编码模拟合qam模拟已经可以实现了,现在来看后面的模块
Post-QAM Emulation Pilot/Null Subcarrier Avoidance (2442) Wi-Fi 64个子载波 48个数据子载波 导拼合直流是不能够修改的,所以要避开:修改Wi-Fi的中心频率 (2442)
Post-QAM Emulation noncontinuity due to Cyclic Prefix 循环前缀的问题
Cyclic prefix
Post-QAM Emulation Cyclic Prefix in Wifi Signal noncontinuity caused by cyclic prefix introduces signal boundary errors in OQPSK demodulation of ZigBee.
Post-QAM Emulation Mediate noncontinuity errors due to Cyclic Prefix
Reliable WEBee Repeated transmission for reliability 1-(1-FRR)m Preamble Protection with repetition Payload coding
Evaluation
SER WEBee reaches a 99.9% symbol success rate when the bit rate 63Kbps FreeBee reaches a 99.9% symbol success rate when the bit rate is 7.5bps Under the same success rate, the throughput of WEBee is more than 8,000 times of that of FreeBee.
Frame reception ratio Around 50% WeBee to ZigBee webee给zigbee发,大概是50%的成功率。 The WiFi payload cannot emulate ZigBee symbols perfectly. Repeated transmission are needed for reliability!
Repeated transmission Bit rate drops when #trans become larger. Reliability with varying #trans and frame lengths.
Thanks Q & A
How to achieve Physical-Layer Cross-Technology Communication via Emulation from ZigBee to WiFi? Preamble detection FFT Pilot subcarriers Coexistence with WiFi signal