Backscatter has recently become a prominent contender in Internet-of-Things (IoT) due to the extremely low energy consumption that can work in a batteryless manner as well as its extremely low cost at a few cents [1, 2]. It has always been dreamed in developing backscatter technologies to deliver relatively high-rate, reliable transmissions with wide-area coverage. These features would promise its applications in battery-free surveillance , precision agriculture , ground water quality measurement and inventory management in large warehouses .
Despite growing attempts and extensive efforts, current backscatter systems either operate at a short range [6, 2], or provide very low throughput [5, 7, 8]. The culprit lies in the fundamental backscatter paradigm that backscatter tags do not emit signals but only scatter ambient signals, making backscatter links suffer from extremely poor channel quality when communicating over long distances .
Through careful measurements, we observe that there exists a disparity in long-range backscatter transmissions: a large portion of lost packets contain only a mismatched small number of error bits. It indicates that current designs do not take full advantage of the backscatter channel, making it largely underutilized. As a symbol in long-range backscatter usually lasts for milliseconds, and the channel may vary during the transmission of a single backscatter packet. For a long-range backscatter link with extremely poor channel quality, a subtle variance in the channel may cause catastrophic impact on packet decoding.
This inspires us to exploit channel polarization to divide the long lasting backscatter channel into multiple subchannels. Particularly, we transform the physical backscatter channel into a set of virtual outer channels, which are polarized to be either extremely reliable or very unreliable. The reliable ones are used to convey information bits. To this end, we propose PolarScatter that enables reliable wide-area backscatter beyond the current limit by exploiting channel polarization based on polar codes.
Existing polar codes, however, are primarily designed for high-end devices with active radios. They consume significant computational resources and power, and need accurate channel estimation. Accommodating polar codes to power-constrained and low-complexity backscatter tags entails several practical challenges. The first challenge arises from ineffective code rate adaptation in long-range backscatter. Traditional code rate adaptation requires the receiver to program each client to operate on a suitable code rate based on its received signal quality. However, in fact, it is particularly hard to obtain the received signal quality since the backscatter signal is drowned by noise. We address this challenge by introducingSozu111Sozu is a Japanese fountain device aotumatically pivoting to one side of its balance point. polar codes. In this scheme, backscatter tags initially encode information bits with a high code rate, and then add redundant bits in an extra transmission according to the decoding requirement of the receiver which can be estimated based on frozen bits error ratio (FBER). With Sozu polar codes, tags can automatically adjust to a suitable effective code rate for different channel quality.
Second, conventional polar codes incur excessive encoding overhead for resource-constrained backscatter tags. The problem lies in that the storage of the coding matrix leads to overwhelming overhead. We tackle this challenge by leveraging the fact that the coding matrix can be generated by matrix iterations. Instead of storing all coding matrix for different code lengths, we simply save the coding matrix with the minimum length, and compute the coding matrix of long codes by iterations. Furthermore, to reduce the computational complexity, we push the permutation operation of encoding into the receiver, thereby leaving tags as simple as possible.
Finally, to obtain excellent decoding performance, the decoder requires accurate calculation of log-likelihood ratio (LLR) of received bits. Conventional methods compute LLR depending on the power of signal and noise. However, it is difficult to estimate the signal power in long-range backscatter, as the backscatter signal is drowned by noise. Thus, we need to devise a new metric to calculate the LLR without the signal power. Note that current long-range backscatters leverage LoRa signals as the excitation signals. To decode the LoRa signal, the receiver performs an fast Fourier transform (FFT) on the multiplication of the incoming chirp and a down chirp, which leads to a peak in an FFT frequency bin. Instead of directly computing the probability of the peak appearance in a certain FFT bin, we compute the probability of all other bins without peaks, which merely depends on the noise power. In this way, we can accurately estimate LLR without the signal power.
To verify our design, we build a hardware prototype of PolarScatter using an FPGA platform and a customized backscatter analog frontend board. We conduct extensive experiments to test the performance of PolarScatter in line-of-sight (LoS) and non-line-of-sight (NLoS) scenarios. Our experiment results show that PolarScatter achieves up to 10 throughput gain, or extends the range limit by 1.8 compared with the state-of-the-art long-range backscatter. We also design an encoder integrated circuit (IC) based on TSMC 65 nm LP CMOS process, and evaluate resource cost and power consumption using industry-standard EDA tools. Our results show that compared with the traditional encoder, our encoder consumes merely storage overhead and lowers the power consumption from 1.78 mW to 71 W.
We summarize our contributions as follows:
We bring in channel polarization to provide long-range connectivity and high-speed transmissions for batteryless backscatter. We design Sozu polar codes to best exploit the link capacity and automatically adjust to a suitable effective bit rate for different channel quality.
We propose a low-cost polar encoder to accommodate polar codes on resource-constrained backscatter tags.
We devise a new metric to calculate LLR. We can leverage this metric to accurately perform polar decoding.
We prototype our design, and the experimental results demonstrate our merits in high throughput for long-range transmissions, low encoding overhead and power consumption.
The rest of the paper is organized as follows. We begin with our motivation in Section II. We elaborate on system design in Section III, followed by our implementation in Section IV. We show the evaluation results in Section V. Related work is reviewed in Section VI. Finally, we conclude the paper in Section VII.
Ii Exploiting Channel Polarization in Long-range Backscatter
Poor decoding performance in long-range backscatter. Some long-range backscatter technologies, like LoRa Backscatter and PLoRa, have been developed to support kilometer-level communication distance. They leverage narrow chirp spread spectrum and high sensitivity receiver to decode weak backscatter signals below the noise floor. However, the decoding performance is vulnerable to significant path loss and multi-path effect from surrounding obstacles, resulting in extremely low throughput.
To better understand this, we conduct a series of measurements using PLoRa backscatter in LoS and NLoS scenarios, as shown in Fig. 10. For each experiment, we let an active LoRa node continuously transmits packets with the maximum output power (20 dBm), and a PLoRa tag backscatters the LoRa packets. The packet size is set with an 8-Byte payload and a 2-Byte cyclic redundancy check (CRC). The PLoRa tag is placed near the active LoRa node with 1 m distance. We change the transmission distance by moving a gateway. We report the packet reception rate (PRR) and byte reception rate (BRR).
Fig. 1(a) shows the measured average PRR at different communication distances. We see that the PRR is extremely low when the transmission distance is more than 500 m in the LoS scenario. Even worse, the PRR further decreases in the NLoS scenario. The measurement results reveal the backscatter link capacity is largely underutilized due to very low PRR. We further investigate the BRR in Fig. 1(b). It can be seen there exists a large number of correct bytes in long communication distance. The reason is that a symbol in long-range backscatter usually lasts for milliseconds, and the channel may vary during the transmission of a single backscatter packet. Even worse, the long-range backscatter channels normally suffer from severe fading, and thus a subtle channel variance may lead to catastrophic impact on packet decoding. The observations motivate us to exploit channel polarization to make effective utilization of correct bytes, thereby providing reliable and relatively high-rate transmissions across large areas.
Channel polarization. Channel polarization transforms copies of physical channels to a set of virtual channels. As the becomes larger, the virtual channels tend to either have high reliability or low reliability (i.e., they polarize). Fig. 2 shows the evolutionary trajectories of channel polarization from to , where each physical channel is assumed to be a binary erasure channel (BEC) with the channel capacity . We refer high-reliability or low-reliability channels as “reliable” and “unreliable” channels which are marked with red and blue lines, respectively. The unreliable virtuals are assigned with the fixed bits (called frozen bits). In contrast, information bits (called free bits) are transmitted over the reliable channels with extremely low error probability. Thus, by leveraging reliable channels, we can pick out the correct bytes to make effective utilization of backscatter link capacity.
Iii PolarScatter Design
In this section, we first describe an overview of PolarScatter. Then, we propose Sozu polar code, which can automatically adjust to a suitable code rate for different channel quality. Next, we present a low-cost encoder, and discuss how to accurately decode. Finally, we outline the PolarScatter’s protocol design.
Iii-a Design Overview
PolarScatter is a cross-layer design that leverages channel polarization to enable high throughput in long-range backscatter. The crux of PolarScatter is a channel adaptive coding scheme that maps the tag’s information bits into reliable virtual channels and automatically adjusts to a suitable code rate for different channel quality. Fig. 3 shows the system flow of PolarScatter transmission and reception. PolarScatter extends existing backscatter by adding the following three components.
Low-cost Polar Encoder residing atop the tag’s physical layer. PolarScatter adds the polar encoder at the tag’s physical layer without modifying inherent blocks such as CRC and modulation modules. The encoder includes two modules: a virtual channel selector and a redundant bit generator. The virtual channel selector picks reliable channels out of all virtual channels to transmit information bits. The redundant bit generator computes the redundant bits based on the reliable virtual channels.
Polar Decoder incorporated in the decoding pipeline. The polar decoder works at the physical layer of the receiver and is composed of three modules: an LLR calculator, an LLR combinator and a bit decision module. The goal of the LLR calculator is to estimate the LLR of information bits for each packet. The LLR combinator merges the LLR of information bits of all packet. The bit decision determines the information bits based on the combined LLR.
Code Rate Estimator operating on the link layer of the gateway. PolarScatter pushes the code rate estimator into gateway to reduce the burden of tags. The code rate estimator aims to obtain a proper code rate that can meet the requirement of decoding, which is estimated based on FBER.
Iii-B Channel Adaptive Coding Design
The core and challenging part of PolarScatter is to design a polar code scheme that can synthesize reliable virtual channels out of physical channels for different channel quality. The reliable virtual channels are used to convey information bits. Traditional code rate adaptation approaches depend on received signal quality. Since the received signal is usually drowned by noise in long-range backscatter, it is difficult to estimate the received signal quality. Thus, these approaches are not suitable for long-range backscatter.
To overcome this challenge, we propose Sozu polar codes. The key idea of Sozu polar codes is to encode information bits in systematic codes, and adds redundant bits according to the requirements of decoding. In this way, PolarScatter can automatically reach the optimal code rate corresponding to the channel quality.
In particular, the Sozu coding scheme includes two stages. In the first stage, the tag encodes the informations bits in a systematic code with 3/4 code rate, and then transmits information bits and redundant bits to the receiver. After receiving the first frame, the gateway performs polar decoding. If information bits are successfully decoded, the receiver informs the tag to terminate its transmission. Otherwise, the receiver estimates a code rate that can meet the requirement of decoding based on FBER, and feeds back the code rate to the tag. In the second stage, the tag encodes information bits with the requested code rate, and then transmits redundant bits to the receiver. After receiving the second frame, the receiver combines all redundant bits from different frames to perform decoding. With redundant bit combination, the decoding performance is significantly boosted. Next, we introduce the code rate estimation.
FBER-aware Code Rate Estimation. We leverage FBER to estimate the code rate. Recall that the unreliable virtual channels are assigned with frozen bits, which are usually set as the bit “0”. The frozen bits are known to both the receiver and the transmitter, and thus we can treat the frozen bits as prior knowledge to measure channel quality. When the channel quality is poor, the frozen bits may be incorrectly decoded. The larger the FBER is, the worse the channel quality is. To accurately characterize the mapping from FBER to code rate, we turn to an empirical study. In the experiment, we test the minimum code rate that makes information bits be correctly decoded at different FBER. The test results are shown in Fig. 5. We can see that the relationships between FBER and code rate are the same for different code lengths. Besides, at the same FBER, the code rate fluctuates slightly. Thus, we can establish a discrete mapping from FBER to code rate in the receiver. We set four code rates (2/3, 1/2, 1/4, and 1/8), and the corresponding FBER ranges are , , , and , respectively.
Iii-C Low-cost Encoder
So far, we have introduced Sozu polar codes. We now discuss how to accommodate the corresponding encoder on resource-constrained backscatter tags.
Selecting reliable virtual channels. The first step of encoder is to map information bits into reliable virtual channels. Traditionally, the reliability of each virtual channel can be estimated by a basic butterfly operation[9, 13]. Unfortunately, the butterfly operation entails extremely high computational overhead, making it unaffordable to resource-constraint backscatter tags.
We address this challenge based on a key observation that while the reliability order of virtual channels is distinct at different code rates, the indices of most reliable channels at a low code rate are the same as that at a higher code rate. To illustrate it, we present an example of the channel reliability order at different code rates with a code length of 32 in Table I, where the indices of reliable channels are highlighted. We can see the indices of the most reliable channels at code rates of 1/4 and 1/8 are the same as those at a higher code rate of 1/2. Thus, we can only save the reliability order of virtual channels for the highest code rate (i.e., 3/4 code rate), and select the top indices as the set of the reliable channels for other code rates.
Generating redundant bits. Now that we know the set of reliable channels, let us focus on how to compute the redundant bits. Let and denote the sets of reliable channel indices and unreliable virtual indices, respectively. According to [10, 11], the redundant bits can be computed by
denotes information bit vector, andand are the submatrices of the coding matrix , respectively, with and . The coding matrix is denoted by
where is the kernel matrix and is the th Kronecker power of .
According to the above equation, we need to know the coding matrix to compute the redundant bits. Conventional polar encoders store the entire coding matrix to accelerate encoding. However, the storage of the coding matrix may consume excessive memory, which is very challenging for resource-constrained backscatter tags. For example, when the code length is 512, it requires 256 KB memory to store the coding matrix.
Instead of storing the entire code matrix, we iteratively generate each element by taking advantage of the special structure of this matrix. We introduce how to compute the element, , by giving an example, where , and the element we want to obtain is . As shown in Fig. 5, we divide the matrix into four parts, where each part can be represented with two binary bits: “” corresponds to the upper left part, “” the upper right part, “” the lower left part, and “” the lower right part, respectively. We denote the row and column indices of by binary representations, “” and “”, respectively. In the first iteration, the first bit of the and are “” and “”, so the lower left part, i.e., the blue part, is the selected submatrix. In the second iteration, we further divide the selected submatrix into four parts. In this iteration, as the two bits are “” and “”, the upper right part of the blue submatrix is selected. In the third iteration, the two bits are “” and “”, so the lower right part is selected, which is the circled number. We observe that the upper right part of every submatrix in each iteration are all zeros. It indicates that we can quickly obtain the value of by the following rule: when there exits an index , where the -th bit in ’s binary representation is “” and the -th bit in ’s binary representation is “”, ; otherwise, . Since the above computations are binary operations, the computational complexity is extremely low.
In this way, we can obtain each element of and . Next, we perform the matrix product . In order to save memory space, we first calculate a temporary vector, . We allocate -bit memory to save the first row of and calculate its product with , which is the first element of . Then, we update the -bit memory with the second row of and compute the second element of . The above steps are repeated until all elements in are obtained. Finally, we perform a similar process to compute .
Iii-D Sozu Polar Decoder
We now describe how to perform Sozu polar decoding based on received backscatter signals. To enable reliable backscatter link transmission, the gateway needs to timely feed back a requested code rate to the tag after first decoding. We choose the belief propagation (BP) algorithm to perform decoding, since it achieves excellent decoding performance and maintains advantages in parallelism and low latency. Our Sozu polar decoder extends the legacy BP algorithm by adding two key components: LLR calculation and LLR combination. Next, we detail Sozu decoder.
LLR calculation. The first step of Sozu decoding is to compute the LLR of received bits, which is determined by the demodulated signals. We introduce how to calculate the LLR by taking PLoRa as an example, which can be extended to other types of backscatter. Recall that a PLoRa tag conveys information by modulating the active LoRa chirp into legacy LoRa signal. The basic idea is to shift the frequency of the incoming active LoRa chirp by two antennas, as shown in Fig. 6. When the tag sends the bit “0”, the two antennas shift the incoming LoRa symbol from the center frequency at to another the center frequency at shift . Conversely, if the tag transmits the bit “1”, two antennas shift the center frequency at to the center frequency at shift and the center frequency at shift , respectively.
To demodulate the tag’s data, the gateway performs an FFT on the multiplication of the incoming chirp and a down chirp, and an FFT on the multiplication of the tag’s chirp and a down chirp. Suppose the peak location of active node’s FFT for symbol is . Next, we leverage as a prior to compute the LLR of the received bits for the tag.
Mathematically, the value of the th FFT bin for the th symbol from the tag can be defined as
where denotes the received signal power, and is the complex Gaussian noise with variance . The is the peak location of the FFT bin, which can be represented as
For brevity, we denote the FFT bin vector of the th received symbol as .
We denote the event that the peak appears in th bin of FFT as , and denote the event that the peak does not occur in th bin of FFT as . To compute the probability , we need to know the . As mentioned earlier, it is difficult to obtain the , since the backscatter signal is drowned by noise.
We observe that the event is equivalent to the event , and the event is equivalent to the event . Instead of estimating the probabilities of and , we can instead compute the probabilities of and without knowing
. Note that if a variable obeys a complex Gaussian distribution, its magnitude follows the Rayleigh distribution. Thus, given and , the condition probability pair can be written as
Based on (5), the LLR function of the received bits for the th received bit can be denoted as
So far, we have discussed how to obtain the LLR of received bits in an ideal channel. Next, we consider to computing the LLR in practical channel.
Note that in PLoRa, tags use two antennas to send the bit “1”. However, due to the channel difference between two antennas, the received signals exhibit discontinuity, which results in spectrum leakage, i.e., the power of signal splits into peak’s adjacent bins. As illustrated in Fig. 7, where the tag sends “1”, the signal amplitude is discontinuous and the step signal leads to spectrum leakage. To more accurately compute the transition probability, we need to take the leakage into account.
We observe that the leakage mainly appears in the two FFT bins near the peak. We use the power sum of the th, th and th FFT bins to approximate the signal power of bit “1”. Thus, the LLR of the received bits can be approximated as
LLR combination and information bit decision. After estimating the LLR of the received bits, we use the BP algorithm to compute the LLR of information bits. Let denote the LLR for th information bit obtained by the th packet. We combine the LLR of information bit from different packets, and then decode the information bits based on the decision function
where the denotes the number for the receipted packets. With the LLR combination, all redundant bits can be used to decode the information bits. When no error appear in information bits after looking at the CRC checksum, the gateway will return an acknowledgment (ACK) frame to the tag to terminate the transmission.
Iii-E Protocol Design
Packet format. The packet format in PolarScatter is shown in Fig. 8. We use two bits to indicate code rate and four bits to indicate packet length, and one bit to indicate packet ID. The Packet ID is set to 0 and 1 for the first and the second packets, respectively. The 16-bit CRC is transmitted at the end of the first packet.
Lightweight feedback mechanism. In PolarScatter, the gateway needs to feed back the code rate of the second packet to the tag. To build a simple and effective feedback mechanism, we adopt existing low-power energy detector hardware circuits to detect the gateway’s feedback. The gateway uses an alternating ON-OFF keying sequence to represent the code rate of the second packet. Such a feedback mechanism only consumes power between 98 nW and 2.4 W.
PolarScatter tag. We design tags according to  and . The tags use two omnidirectional antennas with 3 dBi gain as shown in Fig. 10(a). We adopt Microsemi’s IGLOO nano AGLN250 as the digital signal processor that runs the polar encoding and baseband modulation components.
LoRa node. We implement LoRa nodes based on SX1276 frontend  and Nucleo-L152RE processing unit as shown in Fig. 10(b). The output power is set to be 20 dBm. The LoRa node works at 900 MHz frequency with 500 kHz modulation bandwidth. The spreading factor (SF) of LoRa signal can be configured as from 7 to 12.
PolarScatter gateway. We prototype a PolarScatter gateway on a USRP X310
that runs a modified open source LoRa decoder. The USRP is connected to a PC with 8 GB memory and Intel i7 dual-core processor. The USRP adopts an omnidirectional VERT 2450 antenna with 3 dBi gain. The sample rate of the USRP is configured with 10 MHz to simultaneously monitor six LoRa channels. The decoding algorithm of polar codes is implemented on the PC, and can be easily ported to a more cost-effective gateway.
In this section, we test PolarScatter’s performance in LoS and NLoS scenarios as shown in Fig. 10(a) and Fig. 10(b), respectively. We first present the experimental setting and methodology, and then evaluate the effectiveness of Sozu polar codes. Next, we show PolarScatter’ PRR and goodput. After that, we examine the proposed LLR metric. Finally, we demonstrate the storage overhead and power consumption of our proposed polar encoder.
Experimental setup. We test PolarScatter’s performance in an outdoor scenario as shown in Fig. 10(a). The tags, the active LoRa node, and the gateway are deployed without being blocked by any object. We evaluate PolarScatter’s performance at 20 locations with different communication distances between the tags and the gateway. The maximum communication distance is 2 km and the minimum distance is 75 m. The experiments are performed over a week and the weather is mostly clear.
The indoor experimental setup is shown in Fig. 10(b). We put an active LoRa node and a PolarScatter’s tag in an office and move the gateway through a corridor and several adjacent meeting rooms and offices. The PolarScatter tag is marked as a red dot, and the locations of the gateway are marked as blue dots. For each location, we collect about 6000 packets.
Methodology. We compare the performance of PolarScatter with PLoRa, which is the state-of-the-art long-range backscatter. For the sake of fairness, we add Hamming coding to PLoRa. The Hamming code encodes four bits of data into seven bits by adding three redundant bits. We collect various tags’ data and compare PolarScatter and PLoRa using two metrics: PRR and goodput.
V-a Effectiveness of Sozu Polar Codes
We first examine effectiveness of Sozu polar codes. In this experiment, we keep an active node and a tag stationary, while moving the gateway to different locations in order to obtain different received signal strength indicators (RSSIs). In each transmission, we first transmit the information bits, and then add redundant bits with 3/4 and 1/4 code rates, respectively. We then combine redundant bits of two code rates to perform polar decoding. We report the bit error rate (BER) of different schemes. The test results are shown in Fig. 11. We can see that the redundant bit combination scheme can effectively reduce the BER. This means that Sozu polar codes can improve the channel reliability by combining redundant bits from different packets.
V-B PRR and Goodput
We evaluate PRR and goodput of PolarScatter in both LoS and NLoS scenarios. The goodput of a received frame with the bit rate can be calculated as
where and represent the number of bits that correctly received packets contain and the number of total bits, respectively.
Outdoor scenario. In this experiment, we keep the source (the active LoRa dode) and the tag stationary. The distance between the source and the tag is 1 m. We move the gateway to different locations. We interleave PolarScatter and PLoRa to ensure that the two systems experience similar channels quality. We then test the PRR and goodput of the two systems, respectively.
Fig. 13 presents the PRR under different communication distances with SF = 7 and SF = 12. The maximum communication distance of all other SFs are between these two curves. Compared with PLoRa, PolarScatter significantly improves the PRR. With SF = 7 and PRR = 0.5, PolarScatter can extend the communication range from 80 m to 300 m. Similarly, with SF = 12 and PRR = 0.5, PolarScatter can extend the communication range from 350 m to 1500 m.
Fig. 14 shows the goodput under different communication ranges. It can be seen that PolarScatter significantly boosts the goodput. Compared with PLoRa, PolarScatter achieves 2 to 10 goodput gain. In the SF = 7 case, when the communication distance is beyond 225 m, the PLoRa’s goodput is close to 0, while PolarScatter still provides several hundreds bps goodput. In the SF = 12 case, the maximum transmission distances of PLoRa and PolarScatter are about 1.1 km and 2 km, which shows PolarScatter can effectively extend the communication limit.
Indoor scenario. We repeat the previous experiments in an indoor office building. The distance between the source and the tag is 3 m. SF and BW are set to be 7 and 500 kHz, respectively. The test results are summarized in Fig. 15. The results reveal that PolarScatter significantly outperforms PLoRa in goodput and PRR. As shown in Fig. 15, the PLoRa’s goodput of the nodes 6, 7, 8, 9 and 10 are close to 0. However, PolarScatter still can communicate at several hundred bps.
The above results demonstrate that PolarScatter can make effective utilization of backscatter link capacity, and thus achieves high-speed connectivity when communicating over long distances.
V-C Goodput versus Tag-to-Source Distance
In this experiment, we place one active LoRa node as the excitation signal generator (called source). The source and gateway are kept stationary and separated with a distance of 100 m. We move a PolarScatter tag to different locations, and then report the goodput. The test results are shown in Fig. 12. When the tag is placed near the source (e.g., 2 m away), the PolarScatter and PLoRa maintain similar throughput. However, PolarScatter significantly outperforms PLoRa in tag-to-source distances of more than 4 m. This result indicates that PolarScatter can cope with very challenging channel conditions and significantly improve the goodput of long-range backscatter.
V-D LLR of Received Bits
We examine the effectiveness of our proposed method in calculating LLR of received bits by leveraging MATLAB simulation. We compare our proposed method with the conventional method that computes the LLR based on the signal power. For each experiments, we collect 1000 packets and report the cumulative distribution function (CDF) of LLR under SNR = -15 dB and SNR = -20 dB, respectively.
Fig. 16 shows the results. It is clear that our proposed method is more close to the theoretical distribution, compared with the conventional method. We can also see that the smaller the SNR is, the more inaccurate the conventional method is. This is because it is very hard to obtain accurate signal power at low SNR. In contrast, since our method is not affected by the signal power, it works well in low SNR.
V-E Energy Consumption and Storage Overhead
We simulate an IC design of polar encoder in TSMC 65 nm LP CMOS process  based on industry-standard EDA tools[24, 25]. We implement our polar encoder and the conventional polar encoder with four code lengths, i.e., 128, 256, 512, and 1024, respectively. We compare the two encoders using two metrics: storage overhead and power consumption.
We first evaluate the storage overhead and the results are shown in Table II. It can be seen that our encoder can significantly reduce the storage overhead. Compared with the conventional encoder, our encoder can decrease the storage overhead from 35 to 465. For code length , our encoder can lower the storage overheads from 2.3 MB to 5KB.
We proceed to evaluate the power consumption of our encoder. The results in Table III show our polar encoder can significantly reduce power consumption. For code length , the conventional encoder consumes 1870 W of power, while our encoder can work at tens of microwatts of power. With such low power consumption, our encoder can be easily applied to batteryless backscatter tags.
|Conventional encoder||18 KB||144 KB||576 KB||2322 KB|
|Our encoder||0.5 KB||1 KB||2 KB||5 KB|
|Conventional encoder||67 W||372 W||811 W||1780 W|
|Our encoder||11 W||20 W||37 W||71 W|
Vi Related Work
Long-range Backscatter. In recent years, some pioneering systems have been proposed to support long-range backscatter communications[8, 7, 28]. LoRa backscatter achieves long-range backscatter communications by generating LoRa signals at the backscatter tags. PLoRa takes ambient LoRa transmissions as excitation signals. LoRea backscatters narrow-band single tone signals to deliver backscatter signals over long ranges. These innovations focus on hardware design and signal modulation. In contrast, PolarScatter is a physical layer coding design and aims to make effective utilization of backscatter link capacity, thereby providing high throughput when communicating over long ranges. PolarScatter can be easily applied to existing backscatter designs without hardware modifications.
Rate Adaptation in Backscatter. There are extensive efforts in improving backscatter throughput by selecting a proper bit rate for different channel quality[29, 31, 30]. RAB , CARA and Blink  require the receiver to estimate RSSI. These technologies work pretty well in short-range backscatter systems. However, in long-range backscatter, it is difficult to obtain accurate RSSI, since the received signal is drowned by noise. PolarScatter leverages polar codes to make effective use of correct bits to boost throughput when communicating over long distances. Instead of relying on RSSI, PolarScatter automatically adjusts to an appropriate code rate based on FBER, which works well in extremely low SNR conditions.
Polar Codes. In the past decade, there has been a large body of theoretical work that boosts decoding performance by polar codes, and shows it can approach Shannon limit[9, 26, 27, 32]. Zhao et al. present rate compatible polar codes through polarizing matrix extension. Saber et al. propose a novel puncturing algorithm to extend polar codes. Mohammadi et al. leverage systematic polar codes to adapt the rate of transmission in IoT applications. While these polar code schemes differ in detail, all are designed for active radios, and are unaffordable to low-end backscatter tags. Unlike traditional polar codes, the proposed Sozu polar codes do not require accurate channel. Furthermore, it reduces storage overhead of the coding matrix and energy consumption by orders of magnitudes, making it feasible on batteryless backscatter tags.
This paper presents PolarScatter, a system that enables reliable long-range transmissions for batteryless backscatter by leveraging channel polarization. We design Sozu polar codes to best exploit the link capacity and automatically adjust to a suitable effective bit rate for different channel quality. Furthermore, we propose a low-cost encoder to accommodate polar codes on resource-constrained tags, and design an LLR metric to accurately perform polar decoding. Experiment results show PolarScatter achieves up to 10 throughput gain, or extends the range limit by 1.8 compared with the best known long-range backscatter solution. We also design a low-cost polar encoder IC that reduces storage overhead by three orders of magnitude compared with conventional encoders, and lowers the power consumption to merely tens of microwatts. While our current implementation of PolarScatter is based on PLoRa, we believe the framework can be extended to support other types of backscatter technologies to significantly boost throughput and push the communication range limits.
-  V. Liu, A. Parks, V. Talla, S. Gollakota, D. Wetherall, and J. R.Smith, “Ambient backscatter: wireless communication out of thin air,” in Proc. ACM SIGCOMM, 2013.
-  P. Zhang, P. Hu, V. Pasikanti, and D. Ganesan, “Ekhonet: high speed ultra low-power backscatter for next generation sensors,” in Proc. ACM MobiCom, 2014.
-  S.Naderiparizi, “Towards battery-free HD video streaming,” in Proc. USENIX NSDI, 2018.
-  C. Xu, L. Yang and P. Zhang, “Practical Backscatter Communication Systems for Battery-Free Internet of Things: A Tutorial and Survey of Recent Research,” IEEE Signal Process. Mag., vol. 35, no. 5, pp. 16-27, 2018.
-  M. Hessar, A. Najafi and S. Gollakota, “Netscatter: Enabling large-scale backscatter networks,” in Proc. USENIX NSDI, 2019.
-  D. Bharadia, K. R. Joshi, M. Kotaru, and S. Katti, “Backfi: High throughput wifi backscatter,” in Proc. ACM SIGCOMM, 2015.
-  T. Vamsi, et al., “LoRa Backscatter: Enabling The Vision of Ubiquitous Connectivity,” in Proc. ACM UbiComp, 2017.
-  P. Yao, et al., “PLoRa: a passive long-range data network from ambient LoRa transmissions,” in Proc. ACM SIGCOMM, 2018.
-  E. Arikan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels,” IEEE Trans. Inf. Theory., vol. 55, no. 7, pp. 3051-3073, 2009.
-  E. Arikan, “Systematic Polar Coding,” IEEE Commun. Lett., vol. 15, no. 8, pp. 860-862, 2011.
-  H. Vangala, Y. Hong and E. Viterbo, “Efficient Algorithms for Systematic Polar Encoding,” IEEE Commun. Lett., vol. 20, no. 1, pp. 17-20, 2016.
-  J.C. Liando, et al., “Known and Unknown Facts of LoRa: Experiences from a Large-scale Measurement Study,” ACM Trans. Sens. Netw., vol. 15, no. 2, pp. 16, 2019.
-  I. Tal and A. Vardy, “List Decoding of Polar Codes,” in IEEE Transactions on Information Theory, vol. 61, no. 5, pp. 2213-2226, 2015.
-  B. Yuan and K. K. Parhi, “Architecture optimizations for BP polar decoders,” in Proc. IEEE ICASSP, 2013.
-  S. Lalitha, A. Mishra, “Modified maximum likelihood estimation for Rayleigh distribution,” Communications in Statistics-Theory and Methods, vol. 25, no. 2, pp.389-401, 1996.
-  C. Hambeck, S. Mahlknecht and T. Herndl, “A 2.4µW Wake-up Receiver for wireless sensor nodes with −71dBm sensitivity,” in Proc. IEEE ISCAS, 2011.
-  V. Iyer, V. Talla, B. Kellogg, S. Gollakota, and J. Smith, “Intertechnology backscatter: Towards internet connectivity for implanted devices,” in Proc. ACM SIGCOMM, 2016.
-  “IGLOO nano Low Power Flash FPGAs Datasheet,” https://www.microsemi.com/document-portal/doc_view/130695-ds0110-igloo-nano-low-power-flash-fpgas-datasheet.
-  “SX1276 Settings for LoRaWAN,” https://www.semtech.com/products/wireless-rf/lora-transceivers/sx1276
-  “Nucleo-64 development board with STM32L152RE MCU,” https://os.mbed.com/platforms/ST-Nucleo-L152RE/.
-  “USRP X310 SDR,” http://www.ettus.com/all-products/x310-kit/.
-  “VERT2450 Vertical Antenna,” https://www.ettus.com/all-products/vert2450/.
-  “65 nm CMOS process by TSMC,” http://www.tsmc.com/english/dedicatedFoundry/technology/65nm.htm.
-  “Cadence RFSpectre,” https://www.cadence.com/content/cadence-www/global/en_US/home/tools/.
-  “Synopsis Design Complier,” http://www.synopsys.com/Tools/Implem entation/RTLSynthesis/DesignCompiler/Pages/default.aspx.
-  M. Zhao, et al., “An Adaptive IR-HARQ Scheme for Polar Codes by Polarizing Matrix Extension,” IEEE Commun. Lett., vol. 22, no. 7, pp. 1306-1309, 2018.
-  H. Saber and I. Marsland, “An Incremental Redundancy Hybrid ARQ Scheme via Puncturing and Extending of Polar Codes,” IEEE Trans. Commun., vol. 63, no. 11, pp. 3964-3973, 2015.
-  V. Ambuj, et al., “Lorea: A backscatter architecture that achieves a long communication range,” in Proc. ACM SenSys, 2017.
-  W. Gong, S. Chen and J. Liu, “Towards higher throughput rate adaptation for backscatter networks,” in Proc. IEEE ICNP, 2017.
-  P. Zhang, J. Gummeson, and D. Ganesan, “Blink: A high throughput link layer for backscatter communication,” in Proc. ACM MobiSys, 2012.
-  W. Gong, et al., “Exploiting channel diversity for rate adaptation in backscatter communication networks,” in Proc. IEEE INFOCOM, 2016.
-  M. S. Mohammadi, I. B. Collings and Q. Zhang, “Simple Hybrid ARQ Schemes Based on Systematic Polar Codes for IoT Applications,” IEEE Commun. Lett., vol. 21, no. 5, pp. 975-978, 2017.