UHF RFID系统中直接解码碰撞的新方案
引言
超高频射频识别(UHF RFID)是一种新兴的无线技术,它使得微机芯片能够远程供电和对标识符及其他信息进行操作。RFID是“物联网”的关键技术之一,由于其应用多样化已日益普及,如库存控制和定位。常使用的RFID的标准之一是EPC Globle Class 1 Generation 2(简称EPC Globle C1G2)。根据EPC标准,多个标签可以在分帧时隙ALOHA算法下进行访问通道。以前的工作主要集中在研究更有效的算法来找到最佳的帧长来调整系统参数,以提高RFID系统的效率。这些方案的效率都约束于ALOHA算法理论吞吐率上限36.8%。
本文提出了一种直接解码碰撞(Directly Decoding the Collisions缩写为DDC)增加RFID系统吞吐率的实用设计。其原理是减少固定长度随机码所携带的信息量使得它们能够同时传送。如果有几个随机码在同一个时隙发生碰撞,此方案能够达到和只收到一个随机码相同的性能,同时利用更有效的标签数估计算法得到相撞标签的数量。这种设计新的随机码模式和能够解码碰撞的随机码的方案突破了ALOHA算法理论上限的约束。
1 直接解码方案体
1.1 初始调制
此方案重点在于RFID系统中的FM0基带和二进制移相键控(BPSK)调制。为了通过无线信道传输随机码,标签映射位映射到基带码,然后通过调制把基带码映射到复合信号。
如图1所示,FM0基带使用两个不同的符号(-1,1)或(1,-1)代表0位,并使用两个相同的符号(-1,-1)或(1,1)代表1位。基带编码是独立于调制方法的。基带编码转化为模拟信号,BPSK调制中,1映射为余弦载波波形cos(2πfct+0),-1映射为反余弦载波波形cos(2πfct+π)。其中fc是载波频率,在UHFRFID系统它通常是915MHZ左右。无线信号通常表示为离散复数,实部表示为I,虚部表示为Q。这使得载波相位变化设计简化。载波可以由式(1)表示。
Acos(2πfct+[t])=Icos(2πfct)+Qsin(2πfct) (1)
符号θ[t]表示载波相位,在BPSK调制中可取0或θ,符号i表示虚数单位,复数的实部是I=Acosθ[t],虚部是Q=Asinθ[t]。I和Q组成一个复数用来在两个无线终端之间传输和接收。
1.2 标签端
我们使用θ[t]来表示在物理层中第t个传输信号,t=1T,2T……,nT和此信号的采样间隔是T。将信息添加到随机码,我们采取了1的位或多个1要替换一个或多个0位的位数。这种替换的基本规则是不改变其他位的波形形状,例如,在FM0基带,我们需要把两个连续的0更换为两个连续的1位。实验结果表明,例如曼彻斯特解码的大部分的数据编码方法通过限制使用“1”位可以达到这一要求。最后我们有式(2)来表示标签的位串。
x[t]=b[t]+ξ[t] (2)
其中b[t]表示基信号,例如己知首段与尾端的连续位0。这里的重点是,b[t]的数据是已知的。为了携带数据,我们加入ξ[t],这样,ξ[t]的开始位置是信息的关键。如图1所示,信号电平中1表示为ξ[t],连续的0表示为b[t]。在一个典型的UHF RFID系统,标签传送一个随机码,这个随机码有已知的开头和结束信号。基信号b[t]可以编排成任何已知的形式。加权式ξ[t]可以插在b[t]中的任何位置,但也改变不了b[t]的形式。
1.3 阅读器端
经过无线通道后,信号振幅和相位发生变化,在这里,接收到的信号表示如下:
y[t]=Hx[t]+G[t] (3)
H表示传输信号接收信号之间的相位变化和振幅衰减相叠加出的复数,G[t]是随机噪声。当阅读器收到两个碰撞的随机码,收到信号表示如下:
y[t]=H1x1[t]+H2x2[t]+G[t] (4)
或
y[t]=H1b[t]+H1ξ1[t]+H2b[t]+H2ξ2[t]+G[t] (5)
应当指出,上述公式并不意味着这两个随机码的第n个取样是重叠的,我们只是使这个公式讨论起来更加清晰。这两个随机码有着相同的基信号b[t],这个基信号可以通过推算振幅和相位偏移量相减得到。相减后,我们得到式(6)。
y[t]=H1ξ1[t]+H2ξ2[t]+G[t]H (6)
H的制约条件能够通过构建步骤估计出来,并且可以看成是已知样本,至于ξ1[t]和ξ2[t],只要它们所在的两个标签没有发生碰撞,就能够通过推算样本偏移量和振幅来解码ξ1[t]和ξ2[t]。
1.3.1 振幅估计
在第一次收到的随机码的开头一般都有无碰撞符。无碰撞符也是程序开始位。我们可以通过首个RN的无碰撞符来估计振幅。我们收到的是复数y[t],首次无碰撞复数的振幅可以表示为:
I1和Q1都可以通过无碰撞符精确地推算出来。第二个随机码的振幅可以从碰撞的尾端数据估计出来。上面公式是常见案例中的振幅估测的通常形式。碰撞部分的振幅可以用式(8)表示。
1.3.2 频率和相位偏移估计
假设一个载波是cos(2πfct+θ[t]),从标签传送到接收器,由于振荡器等硬件原因,总是有一些频率和相位上的偏移量,偏移量或误差表示如下:
y[t]=Acos(2π(fc+ferr)t+θ[t])+G[t] (9)
通常情况下,接收方要估算频率误差,然后通过如科斯塔斯环等机制行进补偿。频率是相位的时间导数,所以,相偏移量估算包括频率误差。我们使用线性回归来估算无碰撞符的相位偏移量,碰撞区域的相偏移量估算公式如下:
θerr[t+T]=θerr+α*T (10)
通过预测值与实际值的百分比差异计算出的相误差结果显示在图2中。
它表明了我们可以预测出碰撞符的相位,甚至一些已知编码的相位。在这个实验中,两个信噪比级别为8±1dB和16±1dB。
1.4 信号重建
信号的采样点位置是随机的,会产生样本偏移量。在阅读器端,我们构建每个编码有N个样本的随机码波,而不用去估算样本偏移量。为了获取接收到的随机码的副本,我们假设每个编码的有n个采样点,我们找到N/n个可能匹配的最好的一个。现在,我们通过无碰撞位的第一个随机码得到了振幅和相位,可以通过已知编码位和最佳匹配数型来重建此随机码。我们不能确定位1开始的位置,就不可以减去原随机码。在数据字段中我们把原始11位替换成连续的00位。对于第一个随机码,我们完全知道减法运算后剩下的什么,但不是知道它的位置。第二个随机码做以上相同的操作,最后得到了两种己知的编码。
第一个随机码余下的编码很大几率与第二个随机数的开头相冲突,通过相关的测算可以找到第二个随机数的开始端。在重建第二个随机码标识和忽略这些信号都会产生相位跟踪误差。由于BPSK的内在特性,无碰撞样本的虚数部分为零,利用此特性,可以在跟踪相误差的时候找出无用的编码并忽略掉。
1.5 获取随机码
两个随机码的余下的编码位很可能在时域上同一位置发生冲突,我们通过确定的初始位置和改变这两个随机数的时域来解决这个问题。由于这两个随机数的取样点距仍可计算,所以即使两个1,0位是完全重叠,我们也可以对它们进行解码。与此同时,如果没有初始编码但噪声等级超过阈值,我们将删除整个碰撞。
2 实验
使甩GNU无线电和USRP2的实验平台进行方案的性能测试。此试验中使用了1个阅读器和8个标签。虽然实际应用中需要成百上千个标签,但是由于可以调整帧长来匹配标签数,所以此实验得出的结论同大规模系统得出的结论是一样的。如图3、图4所示,图中“one”表示解码碰撞的两个随机码中至少有一个是对的,“both”表示碰撞的两个随机码都被成功解码。
图5表示的是3个随机码(K=3)碰撞的相似实验,解码过程是一个迭代过程,由于碰撞的随机码向其它发送更多的信号噪声,3个碰撞随机码的解码率相比于2个的要相对低些。图中曲线表明,此方案能在3个随机码碰撞情况下很好地解码。
3 结论
本文通过设计新的随机码模式来减少固定长度随机码所携带的信息量使得它们能够同时传送。实验数据表明此方案较传统的方案,标签读取率有很大的提高。