A Physical-Layer UHF RFID Tag Collision Resolution Based on Miller Code

In an ultrahigh frequency (UHF) radio frequency identification (RFID) system, the throughput can be greatly improved by collision resolution on a physical layer when tags collide, and high-performance coding technology can improve the bit error rate (BER) performance of the physical-layer separation. Most of the traditional physical collision resolutions focus on the code with a single subcarrier. This paper pays more attention to Miller code with multiple subcarriers and proposes a novel physical-layer separation method based on the Miller code. In this method, the separated collision signals are multiplied by clock signals with the same frequency as the subcarrier to complete the frequency shift. And then, a coherent demodulation and a low-pass filter are used to remove high-frequency separation noise. In the simulation, the Miller code with more subcarriers has lower BER than FM0 code with a single carrier. Especially when Miller 8 is selected, the separation efficiency and BER performance of the proposed method are 4 dB higher than those of the traditional XOR method at lower SNR.


Introduction
Wireless radio frequency identification (RFID) is an automatic identification technology that uses wireless radio frequencies to conduct noncontact data communication through electromagnetic fields. Because ultrahigh-frequency (UHF) RFID has the advantages of fast and efficient identification of the target objects [1,2], it has become one of the key sensor technologies of the Internet of Things. UHF RFID usually communicates on a wireless shared channel. Thus, when readers read multiple tags simultaneously, signal collision between tags will be inevitable.
Tag collision is usually resolved at a Media Access Control (MAC) layer. The currently popular UHF RFID standard-EPC C1 Gen2 [3] uses a MAC layer protocol to resolve tag collisions. The basic idea is that a tag can randomly select the time slot via its counter. However, if two or more than two tags select the same time slot, the time slot is still an invalid collision time slot. Therefore, the identification efficiency is not optimal. In recent years, a physical layer separation technology can identify tags in collision time slots and can greatly improve the identification efficiency [4]. The technology requires the separation of collided signals before the decoding. However, the separation can cause separation errors which will affect the decoding performance. So, it is essential to improve collision resolution performance on the physical layer by encoding methods to remove the separation errors [5].
The encoding method in EPC C1 Gen2 adopts FM0 and Miller codes [3,6]. For the FM0 code, whether a symbol is 0 or 1 is determined by whether there is a phase jump during a symbol period. Since FM0 cannot require a rigor time synchronization like in a matched filter, it can resist the frequency drift commonly in wireless communication systems. However, if the collision signals are separated on the physical layer, the separated signals will have some separation errors. The method of phase jump will increase the bit error rate (BER). Unfortunately, many existing physical layer collision separation algorithms use the FM0 code [7][8][9][10][11].
Compared with the FM0 code, the Miller code has some subcarriers and usually has a higher frequency than that of the FM0 code. High-frequency noise can be removed with the corresponding removing of high-frequency subcarriers. Thus, the Miller code performs better on high-frequency noises. Traditional Miller decoding uses XOR operation to remove subcarriers [12][13][14][15], which can resist the frequency drift that exists in the FM0 code. However, in the physical layer separation, the Miller code still cannot eliminate the separation noise after the XOR operation.
In our early work in [12], we only adopt traditional decoding methods to evaluate the performance of Miller and FM0 codes and there are no decoding methods proposed. This paper proposes a physical-layer separation miller decoding (PMD) method to resolve the tag collision. It has the following contributions. First, it proposes a new method for decoding the Miller code by spectrum shifting. In this method, the separated baseband signal is multiplied by two subcarriers whose phases are different by pi/2, and then decoded after low-pass filter and envelope detection. Compared with the traditional XOR decoding method, the proposed method can eliminate more separation errors. Second, the proposed method has better performance of BER under low signal-to-noise ratio (SNR). It can be applied to improve the performance of the tag anticollision when the reader's transmit power is lower or noise interference is larger. The experimental results show that when the decoding method proposed in this paper is used, the Miller code with higher-frequency subcarriers has better separation efficiency, e.g., Miller 8. The BER performance of this method is 4 dB higher than that of the traditional decoding method when the same symbol rate is adopted.

Related Work
In an UHF RFID system, when multiple tags collide at a reader, the collided signal received by the reader is a superposed signal of multiple tags. Figure 1(a) shows the superposed signal after two tag collisions, where these tags use a unipolar code, and the signal fading and symbol periods of two tags are different. Generally, the collided signal of multiple tags can be separated by clustering [16][17][18][19]. Figure 1(b) shows the mapped constellation of the collided signal in the phase/quadrature (IQ) plane [17]. If the fading coefficients of these two tags are h 1 and h 2 , then the centers of the four clusters in the figure are 0, h 1 , h 2 , and h 1 + h 2 . Thus, the signal points that belong to different clusters can be separated into (0, 0), (0, 1), (1, 0), and (1, 1), respectively.
The separated tag signals are only encoded signals, and the tag IDs can be obtained only after the decoding. In a UHF RFID system, EPC C1 Gen2 recommends FM0 and Miller codes [3,6]. In FM0, there is a phase jump in the middle of symbol 0, there is no jump in the middle of symbol 1, and there must also be a jump between symbols. Therefore, in FM0 decoding, we only judge whether there is a jump near the midpoint of the symbol period. Figure 2(a) shows an example of FM0 coding with ID 1010110. However, after separation is performed on a physical layer, the decoding method may generate errors due to the separation noise. The separation noise generated by the clustering in Figure 1 may produce the separated FM0 signals shown in Figure 2(b). As can be seen from Figure 2(b), separation noise is generated around t = 600. From the FM0 encoding rule,   2 Wireless Communications and Mobile Computing the signal will be misjudged as 0 since this is the midpoint of a symbol period and a phase jump has occurred. A simple solution for the error is to use a matched filter to eliminate the separation noise [20]. However, the matched filter eliminates noise by adopting a maximum SNR criterion. The BER will increase with the separation noise. Another code recommended by EPC C1 Gen2 is the Miller code, whose steps are as follows. A phase jump occurs at the midpoint of symbol 1, and no jumps occur between the symbol 1 and its previous symbol; no phase jumps occur at the midpoint of a symbol 0 and between the symbol 0 and its previous symbol 1, and a jump occurs between the symbol 0 and its previous symbol 0. Figure 3(a) shows a Miller 8 signal without separation noise. If the Miller 8 signal is a separated one, the result may be that shown in Figure 3(b). Due to the separation noise, symbol errors are likely to occur if we only judge whether there is a jump near the midpoint of the symbol, like in FM0 decoding. However, compared with the FM0 code, the Miller code has more subcarriers. From Figure 3(b), we can find that the separation noise is actually superimposed on the subcarriers with high frequency. In the spectrum analysis, when a low-pass filter is used to filter out subcarriers, the highfrequency separation noise can actually be removed. Thus, the influence of separation noise on decoding can be reduced. Unfortunately, the FM0 code is applied to many existing physical-layer collision separation algorithms. This paper will apply the Miller code to improve the performance of physicallayer separation. In addition, there is a parallel decoding technique in RFID decoding methods [21,22], which has also been widely used in collision resolution. Since this paper mainly focuses on the Miller and FM0 code in EPC C1 Gen2, we will not introduce the technique too much.

Problem Description
Traditionally, Miller decoding generates a clock signal with the same frequency as the subcarrier and then executes the XOR operation on the clock signal and a received Miller code [12][13][14]. Figure 4(a) shows an example of a Miller 2 code with the subcarrier removing. From the figure, the XOR operation can remove the high-frequency subcarrier. After the subcarrier is removed, the signal can be decoded by whether there is a phase jump during symbol 1 and no jump during symbol 0.
The above decoding method is usually applied to the case where UHF RFID tags do not collide. When the physicallayer separation algorithm is used, the separated Miller signal will have separation noise, as shown in Figure 4(b). Even after the XOR operation with a clock signal, the separation noise still exists. Therefore, the decoding method does not reduce the separation noise even after the subcarrier is removed. Figure 4(c) shows the algorithm flowchart of this paper. When multiple tags send signals to the reader, the received signal is a superposition of collided tags. The reader first adopts the ALOHA method to resolve the tag collision. It uses the physical layer decoding to recover the collided tags in a time slot. The collided tags are sampled and separated, and the proposed PMD decoding is performed, respectively. The next section will introduce PMD decoding steps in detail.

4.1.
Overview. This section first explains how our multiplying operation eliminates the separation noise. When the clock signal at 0 is multiplied by the Miller code with the separation noise, thus, the separation noise will be 0, as shown in the circle in Figure 5(a). On the other hand, any signal multiplied by 1 will not change. In this case, the separation noise during the clock signal at 1 cannot be changed, as shown in the diamond in Figure 5(a). Consider another type of multiplication. Invert the phase of the clock signal, and then, multiply it with the Miller code with the separation noise. The separation noise during the original clock signal at 1 will also be changed into 0, as shown in the circle in Figure 5(b). Of course, the separation noise during the inverted clock signal at 1 cannot be removed, as shown in the diamond in Figure 5(b). Therefore, these two multiplied signals need to be synthesized to obtain a final signal.
In addition, from Figure 5, the subcarrier is not completely removed after multiplication with the clock signal. However, in the spectrum analysis, multiplying the Miller code with the same frequency clock signal as the subcarriers is actually a frequency shift. That is, the frequency shifts to the low frequency that the original symbol has and to a frequency higher than the original symbol. Therefore, if a reasonable cutoff frequency is set for a low-pass filter and let the multiplied signals pass through the filter, we can  3 Wireless Communications and Mobile Computing obtain the original symbol. Next, we will discuss it in more detail.

Multiplication and Low-Pass Filter.
To find the cutoff frequency of the low-pass filter after the Miller code is multiplied by the clock signal, we firstly need to write the mathematical expression of the Miller code, as shown in Figure 6.
From the Miller coding rule, symbols y i ∈ f0, 1g, i = 0, 1 , 2, ⋯, with a period 2T have four basis functions S 0 , S 1 , S 2 , and S 3 as shown in Figure 6(b). Then, the ith symbol can be expressed as two basis functions And its waveform function can be expressed as In Figure 6(c), the subcarrier with only one period can be Fourier-series expanded into where ω c = 2π/T and m = 2, 4, 8 denote Miller 2, Miller 4, and Miller 8, respectively. Multiplying (4) by (2), the subcarrier of the base function code in Figure 6(d) can be expressed Since the Miller code is a binary unipolar code as shown in Figure 6(e), after normalizing (5) to [0, 1], the final waveform of Figure 6(f) is Next, we will find the cutoff frequency of the low-pass filter through the expression of the Miller code. Equation (6) multiplied by the clock signal with the same frequency as the subcarriers will have From (4), (7), and a trigonometric product-to-sum identity, the set of angular frequencies for (7) can be expressed as where Ω c = mω c /2. Therefore, if the cutoff frequency is set between [0, Ω c ], then the basis function of the Miller code can be obtained through the low-pass filter with the cutoff frequency, i.e.,ŝ where LFð·Þ represents the low-pass filter. Then, the basis function code d k is obtained fromŝðtÞ, and thus, the original symbol y i is obtained from d k through the Miller coding rule.
Note that the Miller code can also be multiplied by an inverse-phase clock signal, i.e., Then, the signal in (10) through the filter in (9) will have another basis function code d k .
4.3. Shaping, Synthesis, and Decoding. Theoretically, the cutoff frequency of the low-pass filter set between [0, Ω c ] can eliminate the high-frequency subcarrier and high-frequency separation noise. In applications, however, some highfrequency components close to the cutoff frequency cannot be completely removed, as shown in Figure 7(a). If we set the cutoff frequency lower, it will affect the filtered basis function code. Here, we will use envelope shaping to further eliminate high-frequency noise.
It can be seen from Figure 7(a) that although the filtered signal has high-frequency components, its bottom envelope is consistent with the waveform of the basis function code in (d). Consider the circuit in (c) to realize the envelope shaping [20,23]. Then, the bottom envelope can be expressed as where R denotes a resistance, C denotes a capacitance,ŝ i ðtÞ = sðtÞ, and Δ is a very small value.
Multiplying the same phase clock signal can only remove half of the separation noise. Similarly, multiplying the inverse phase clock signal can only remove another half of the noise. For this, the two envelope shaping signals are synthesized and averaged to obtaiñ whereŝ o1 ðtÞ andŝ o2 ðtÞ are the signals after multiplying the same and inverse phase clock signals via envelope shaping in (11).
To further eliminate noise, the synthesized signal is passed through a matched filter to obtain [24][25][26] where ⊗ is a convolution operation and hðtÞ is a matched filter. After sampling s _ ðtÞ at kT, we decide to get its basis function symbold k . From the Miller code rule, the transmitted symbol is finallŷ where Dð·Þ represents the Miller decoding rule, i.e., no phase jumps during symbol 0 and a jump during symbol 1. Algorithm steps Finally, we list the steps of the above decoding in Algorithm 1.

Experiment Setup.
In the experiment, there is a reader and two collision tags, and the experimental results are all independently repeated 500 times and then averaged. The values of some system parameters are from EPC C1 Gen2 standard [3], and the other ones refer to the literature [7][8][9][10][11][12]. The parameters are as follows: (i) Channel: in the UHF system, due to the small length of the tag data, the communication time is also short. In the experiment, the simulation of collision tag separation is performed from literature [7,8]. First, the channel coefficients are estimated by a least square method through the preamble, and the four cluster centers of the collision signal on an IQ map are determined. Then, map the collision signals to the IQ plane, calculate the Euclidean distance from each signal sample to the four cluster centers, and determine the cluster to which the sample belongs based on the minimum distance. Finally, the tag signal separation is completed by the belonging cluster.
In the simulation experiment, we will give the decoding efficiency and BER change of each algorithm with SNR, which is defined as where P s is the average power of the collision signals after IQ demodulation and P n is the noise power. The decoding efficiency of the ith tag is defined as follows: where n t is the total number of collision tags and n i is the number of the ith tag successfully decoded from n t collision tags. In the experiment, only if there is no one-bit decoding error in an RN16 sent by a tag can the tag be regarded as a successful decoding tag. Higher decoding efficiency means better decoding performance. The decoding BER of the ith tag is defined as where c i is the number of bit errors that occur when decoding the ith tag, and C i is the total number of bits of the ith tag. Smaller BER means better decoding performance. Figures 10 and 11 show the decoding efficiency curves of the first tag and the second tag, respectively. In general, the change trend of the separation effi-ciency curves of the two tags is the same, so there is no significant difference in the decoding results of each decoding algorithm for each tag. First, when SNR is between -10 dB and 4 dB, the decoding efficiency of PMD decoding for both Miller8 and Miller4 is higher than the traditional XOR algorithm. Therefore, when the number of subcarriers of the  Figures 8 and 9. From the figures, Miller8PMD has a smaller BER at 16 kHz.); Mille4PMD uses a dynamic cutoff frequency; when the signal-to-noise ratio is -10, -8, -6, -4, -2, 0, 2, 4, 6, and 8 dB, the cutoff frequencies are 15,15,14,20,19,16,21,26,46, and 19 kHz, respectively, seen in subsection Dynamic Cutoff Frequency for details

Wireless Communications and Mobile Computing
Miller code is the same, the decoding efficiency of PMD is better. Second, the PMD decoding efficiency can be improved by more subcarriers. When SNR is between -2 dB and 2 dB, the PMD decoding efficiency curve performs better than the FM0 curve with single subcarrier by about 4 dB. On the other hand, the traditional XOR Miller decoding curve coincides with the single-type FM0 curve, and its XOR decoding method does not take advantage of more subcarriers to improve its efficiency. Similarly, the Miller8PMD performs better than Miller4PMD as it has more subcarriers. Finally, the decoding advantage of the algorithm in this paper is mainly reflected under lower SNR because the decoding efficiency of each algorithm can reach 100% when SNR exceeds 6 dB. Figures 12 and 13 show the BER curves of the traditional and the proposed methods when two tag sig-nals collide under different SNRs. First, since there will be more separation errors when SNR is low, the PMD algorithm shows better performance owing to more separation errors eliminated. When SNR is between -6 dB and 2 dB, PMD's BER is better than the traditional XOR decoding methods by about 4 dB. Second, when SNR is higher than 4 dB, PMD's BER is slightly lower than the traditional XOR decoding methods. However, the system efficiency is mainly determined by the decoding efficiency. Note that in the decoding rate curves of Figures 10 and 11, the decoding efficiency of the PMD algorithm is close to 100% when SNR is greater than 4 dB. PMD's efficiency is the same as the traditional XOR algorithm. Thus, the difference between their BERs will not cause the difference between their final system performance. In addition, since Miller8PMD's BER is slightly higher than that of Miller4PMD, it is a good way for PMD to increase the subcarriers to improve the BER performance.

Dynamic Cutoff
Frequency. This subsection will give the influence of the low-pass cutoff frequency on the proposed algorithm. Figure 8 shows the cutoff frequency at the lowest BER of the proposed algorithm under different SNRs, i.e., the optimal cutoff frequency curves (note that the optimal frequency results for two tags are the same, so only one curve for the tags are given). As can be seen from the figure, Mill-er4PMD's optimal cutoff frequency range is about 15-45 kHz. The values fluctuate larger. Therefore, to obtain better decoding performance, a dynamic cutoff frequency is selected. For Miller8PMD, the optimal cutoff frequency range is 15-23 kHz, which fluctuates smaller. Thus, an average fixed cutoff frequency can be considered. This result also shows that when the number of subcarriers is smaller, the decoding is greatly affected by the separation noise, so the optimal cutoff frequency is likely to fluctuate. Figure 9 shows the BER curves of Miller8PMD at the cutoff frequency of 14, 15, 16, 17, and 18 kHz, respectively. It can be seen from the figure that these four curves roughly coincide. The results show that if Miller8PMD selects a fixed optimal cutoff frequency, the above frequency values will produce similar results. From the simulation results of Figures 8 and 9, the optimal cutoff frequencies of Mill-er8PMD fluctuate slightly with SNR, about from 15 to 20 kHz. On the contrary, the fluctuation of Miller4PMD is relatively large. Therefore, it is recommended to choose Miller8 with more subcarriers and set the cutoff frequency to about 16 kHz.
In addition, since we apply a spectrum shifting method to eliminate the separation error, the hardware requires some circuits such as multiplication, low-pass filtering, and envelope shaping. On the other hand, as the traditional XOR decoding algorithm only needs an XOR circuit to complete the decoding, so the complexity of the proposed algorithm is higher than the XOR method. In addition, the proposed algorithm needs to resolve the tag collision on a physical layer, and the collision signals need to be separated first. Therefore, it also has higher complexity than other state-ofthe-art collision-resolution schemes on an MAC layer [14]. However, from the experimental results, the proposed algorithm trades more complexity for better performance.

Conclusions
This paper studies the Miller decoding performance of UHF RFID collision tags and proposes a Miller decoding method that can be applied to the collision signal separation on a physical layer. Compared with the traditional Miller decoding, the proposed decoding method can eliminate more separation errors at lower SNR. From the results of numerical experiments, when SNR is between -2 dB and 2 dB, the decoding efficiency and BER of Miller 8 and Miller 4 in the proposed method are better than those in the traditional method by about 4 dB. Furthermore, when SNR exceeds 4 dB, this method has similar decoding efficiency and BER performance to traditional algorithms. Besides, when SNR is greater than 2 dB, the decoding efficiency and BER performance of Miller 8 decoding in this method are better than those of Miller 4, so appropriately increasing the number of subcarriers in the Miller code can improve the decoding performance. Finally, the setting of the low-pass cutoff frequency is also an important factor affecting the performance of the Miller decoding method in this paper. Miller 4 needs to set a dynamic cutoff frequency to obtain better decoding performance, while Miller 8 only needs to set a fixed cutoff frequency.

Data Availability
The research data used to support the findings of this study are included within this paper.

Conflicts of Interest
The authors declare that there is no conflict of interest regarding the publication of this paper.