Research on the UHF RFID Channel Coding Technology based on Simulink

In this letter, we propose a new UHF RFID channel coding method, which improves the reliability of the system by using the excellent error correcting performance of the convolutional code. We introduce the coding principle of convolutional code, and compare with the cyclic codes used in the past. Finally, we analyze the error correcting performance of convolutional codes. The analysis results show that the results show that the transmission rate of the system is guaranteed, and the bit error rate can be reduced by 2.561%. Keywords—UHF RFID; channel coding; convolution code; bit error rate


INTRODUCTION
UHF RFID tags are working in the range of 860~960MHz frequency band.Compared with the daily use of the high frequency radio frequency tags (its typical operating frequency is 13.56MHz), its communication distance is longer, its transmission data rate is quicker and so on.However, the overall technology of RFID UHF system is still not perfect.There is still a high bit error rate [1].
To solve these problems and to further reduce the bit error rate of RFID UHF system, we need to use the error control mode for channel encoding.According to the constraint mode between the monitor element and information element, the error control encoding can be divided into block codes and convolutional codes.The cyclic code (CRC) is based on the strict mathematical method, which is easy to implement and can be used in the channel coding.Although the cyclic code error detection capability is high, but its error correction performance is weak.In communication, when the CRC detects the fault code, which will ask the sender to resend the data until the receiving end of the data is right.This inevitably increases the time to repeat the communication, which affects the efficiency of the RFID UHF system.Compared to the cyclic codes, although convolutional code has not yet found a rigorous mathematical method, and closely related to the error correcting performance and structure of the code.But its error correction performance is relatively strong, the device is also simple.Therefore, when the convolutional code is sent, the decoding end of convolutional code can detect error and correct when a general error code is generated in the communication process.It will reduce the bit error rate of the receiver and the communication time.

II. CONVOLUTIONAL CODE DESCRIPTION
Convolutional code is a kind of non block code, commonly used (n, k, K) said.It was proposed by Elias in 1955.Where k is the number of input symbol information, n is the number of output symbols and K is the constraint length of the encoder.Its encoding efficiency is k/n x100%.The typical n and K (k<n) of the convolutional codes are small.However, in order to obtain a simple and high performance of the channel encoding and improve the reliability of data transmission, the constrained length K is preferred (K<10).In convolutional codes, N symbols of each (n, K) code word is not only related to K information element within the code word, but also it related to the information symbols that belongs to the m=K-1 code word in front.But in the (n, K) linear block codes, N symbols in the each code word is only related to its K information symbols [2].Therefore, in the process of encoding, the convolutional code can take full advantage of the correlation between the information code.It is a kind of memory encoding, which is superior to the block code (including cyclic code).

A. Convolutional code
Convolutional code encoder is composed of input shift register, module 2 and output shift register.In this paper, we take the (2, 1, 2) convolutional code encoding circuit as an example.It is composed of two shift register, two adder of mode 2 and switch circuit, as shown in Fig 1.
the information element will input convolutional code encoder.Every time we enter a m i information element, the switch S will turn to the end of di (1) and di (2).The output code is d i (1) and d i .There is a relationship between Input the information symbols and two symbols in the output code.Their relationship is as follows: From (1) (2) type can be seen, the two output symbols d i (1) and d i (2) in the i sub code, which not only depends on the input information symbols m i in the code segment ,but also depends on the input information symbols m i-2 and m i-1 in front of the two sub code.But the (n, K) binary block code (including cyclic code) includes K information bits and the code group length is n.Its (n-k) check bits in each code group are only related to the K information bits of the code group [3].Therefore, from the above formula we can draw a conclusion: under the same condition of the complexity of the encoder, the encoding performance of the convolutional code is better than that of the block code (including cyclic code).

B. Convolutional code description
The coding process of convolutional codes is commonly described in three kinds of graphs.They are code tree, trellis diagram and state diagram.In this paper, we mainly introduces lattice graph.It is shown in   Trellis is also called the grid.It is the time and the corresponding state of the transfer map.In the grid graph every point represents the state of the moment.The line between states represents the state transfer.In Figure 2, the input information is implicit in the state of the transfer [4].
Besides, the two grid graphs are different mainly in the state of the transfer.
Here, we take (2, 1, 2) encoding circuit of the convolutional code as an example.The coding process is as follows: we assume that the input sequence is 110100, first of all, we start from the A state in the figure.Due to the input information is the "1", so the next state is B and the output is "11".We continue to enter information "1", from the figure we known that the next state is D and the output is "01" "...... Other input information is similar to the above.According to the state transition path a->b->d->c->b->c->a, we will output the corresponding coding result.It is the "110101001011" [5].

C. The decoding of convolutional codes
The decoding of convolutional codes is divided into two categories: algebraic decoding and probability decoding.Because the algebraic decoding does not make full use of the characteristics of convolutional codes, it rarely used at present.In this paper, we use the Viterbi decoding algorithm, which is based on the maximum likelihood decoding, and the hard decision is adopted [6].The core idea of the algorithm is to compare the sequence of codes, which received at the t i moments and all the possible paths to the same mesh at the t i moment.We choose the path that has the maximum likelihood metric or the minimum distance [7].Press this to carry on.The sequence of the minimum distance is selected, which will be used as the best transmitted sequence.The specific process is shown in Fig 3.If the received sequence is R= (10100101100111).The decoder will be from a state, extending a branch to the right and the corresponding branch of the receiving number is compared, and the distance between them is calculated [8].Then, the calculated distance is applied to the accumulated distance of the extended path.We compare the distance of each path [9].We keep a path with the minimum distance value, which called the surviving path (when there are two or more of the minimum value, you can take one of them).The numbers is the distance to the nodes of the path.The value of a given R sequence is (10111) [10].www.ijacsa.thesai.org In convolutional code decoding process, the Viterbi algorithm not only extracts the decoding information from the code group, which received in this time.But also it extracts the relevant information from the code group, which received in the previous or future time.In addition, the constraint length of Viterbi algorithm is several times than the encoding constraint length.So it can correct not more than (d f /2) errors.
The analysis of the convolutional codes shows that whether convolutional code encoding or decoding, convolutional codes are shown to have a higher error correction capability [11] [12].Therefore, in order to guarantee the reliability of information transmission, and the convolutional codes should be considered in the RFID channel coding.

III. SIMULATION RESULTS AND PERFORMANCE ANALYSIS
In this paper, the performance of convolutional code is simulated by Matlab, and the simulation results are as follows: A. System simulation model The simulation system model is shown in Fig 4 .Among them, the Bernoulli random binary signal generator generates 10,000 random binary symbols (0 and 1 have equal probability).It is transmitted to the decoder by the additive Gauss white noise channel, and the decoding sequence is compared with the sending sequence.The bit error rate is calculated by the bit error rate calculator, and is displayed by the display.

B. System simulation results analysis 1) Comparison of system coding efficiency
The coding efficiency refers to the information symbol number and code length ratio, with η said, η =k/n= (n -r) /n=1r/n [13].It is an important parameter to measure the performance of the system.The higher the encoding efficiency, the rate of information transmission is higher.But this time, it will reduce the error correcting ability.When η is 1, the system does not have correct and error detection capability.Therefore, when coding the data, we should consider the transmission rate and error correction ability of the system.For (7, 4) cyclic codes, information element number k is 4, check code number s is 3, code length n is 7 and the coding efficiency η 1 is 4/7x100%=57.1%;But for (2, 1, 9) convolutional code, it encodes k information bits for n bits, its coding constraint length m is 9, and the coding efficiency η 2 =1/2x 100%=50.0%<57.1%.Therefore, the encoding efficiency of the (7, 4) cyclic code is higher than the (2, 1, 9) convolutional code.For (7, 3) cyclic code, its coding efficiency η 3 =3/7x100%=42.9%<50.0%<57.1%.It is explained that the transmission rate of (7, 3) cyclic code is lower than the (2, 1, 9) convolutional code, and also lower than the (7, 4) cyclic code.

2) System bit error rate comparison
Bit error rate is an important index to measure the accuracy of data transmission.Bit error rate Pe=R (error number of received symbol) /S (transmission symbol total number) [9].In a UHF RFID digital communication system, we ask for as much as possible to reduce the bit error rate to ensure the reliability of data transmission [10].From the output bit error rate curve in Fig 5, we can see that the (7, 4) cyclic codes and the linear block codes have almost the same bit error rate.However, the bit error rate of the base band system can be reduced about 2.561% after using (2, 1, 9) convolutional code.In addition, with the increase of the error probability in the binary balanced channel, the error rate of convolution code coding is significantly slower growth than the block code (containing (7, 4) cyclic code).www.ijacsa.thesai.orgAs can be seen from Fig6, the bit error rate of the (7, 3) cyclic code is less than the (7,4), but it is still very large relative to the convolutional code.This shows that although the transmission rate of the (7, 3) cyclic codes is lower the (7,4), but the former error rate is significantly improved compared with the latter.For the (2, 1, 9) convolutional codes, although its transmission rate is between the (7, 3) cyclic code and the (7,4), but its bit error rate is very small.In conclusion 2.2.1, 2.2.2 analysis: a) Whether the encoding efficiency of the cyclic code is higher or lower than the convolutional code, their error rates are higher than the convolutional codes.It also shows that even if the transmission rate is the same, the bit error rate of convolutional code is lower than that of cyclic code.b) In addition, when we try to reduce the bit error rate of cyclic codes, the encoding efficiency is reduced.
c) The encoding efficiency is higher, the transmission rate is higher.But at this point, the error rate is also high.So, in the process of digital signal transmission, we should use the appropriate method to reduce the transmission rate.Besides, the convolutional code can be kept at a low bit error rate with a high transmission rate.Therefore, in the UHF RFID communication, after considering the bit error rate and the rate of transmission, the convolutional code should be used.As can be seen from Fig7: when encoding efficiency and other conditions are the same, constraint length K of the (2, 1, K) convolutional code is increasing, and the error rate of the system is obviously reduced.Besides, from the coding efficiency formula, we can see that the coding efficiency is independent of the constraint length K. Therefore, we appropriately increase constraint length of the convolutional code, and it can not only reduce the transmission rate of the system but also improve the system's error rate.But when the constraint length of the convolutional codes over the system, it will increase the time delay and complexity of the system [14].We sum up, in the UHF RFID data communication, in order to ensure the instantaneity and the reliability of data transmission.We can use convolutional codes to encode and appropriately limit constraint length of the convolutional code.

IV. CONCLUSION
In this paper, a novel UHF RFID channel coding technique is proposed, which can solve the problem of high bit error rate in the environment of UHF RFID system.Theoretical and simulation analysis show that convolutional code can guarantee the system has higher transmission rate.At the same time, the error rate of the system is greatly reduced.Its performance is better than cyclic code.

Fig. 5 .
Fig. 5. Error rate comparison of base band transmission system

Fig. 6 .
Fig. 6.Error rate comparison of base band transmission system