1.一种离群错置RFID标签的识别方法,所述方法包括以下步骤:(1)数据采集
对于含有多个RFID标签的标签群,通过RFID阅读器采集RFID标签的原始相位数据,在采集期间,使RFID阅读器的天线随机晃动;所述相位数据描述为:其中,d是标签与阅读器天线之间的距离,λ是信号波长,θR是阅读器引起的相位偏移,θTag是标签引起的相位偏移,μ是常数;
(2)原始相位数据的预处理
为了消除阅读器可能引入的π度偏移和阅读器报告的相位可能出现的2π度偏移,定义θi,t为标签i在t时刻的测量相位值,以下式校准原始相位数据的偏移:其中, 是校准后的相位值,τ是经验阈值;由于π度和2π度偏移引起的断点被连接起来,从而获得连续的相位流数据;
然后,通过离散小波变换对所得连续的相位流数据进行分解,得到平滑连续的相位流数据;
然后,提取所得平滑连续的相位流的相位梯度,相位梯度定义为任意标签i的相位梯度Gi,t为连续两个相位值的差值:其中,Δdi,t是天线随机晃动造成的天线与标签之间的距离变化, 和 分别是标签i在t时刻和t‑1时刻预处理后的相位值,其中,将得到的相位梯度序列归一化,使其值范围在[‑1,1]之间;
(3)基于正交多项式回归分析的相位梯度降维
利用正交多项式回归分析模型提取相位梯度的低维特征,所述模型将时间序列映射到另一个正交空间;
设标签i的梯度序列Gi={gi,0,gi,1,…,gi,M},则该相位梯度序列近似表示为:k k‑1
其中,K是想要得到的低维特征的维度,k∈[0,K],fk(t)=t+rk,k‑1t +…+rk,1t+rk,0,并且任意两个多项式fi(t),fj(t)(i≠j)内积为0,即他们是正交的,即如下式所示:
上式中的权值向量A={a0,a1,…,aK}是一个K维向量,看做相位梯度序列在正交空间F={f0(t),f1(t),…,fK(t)}中的坐标,所以M维的相位梯度G用K维的特征向量A表示;
其中,ak按如下式所示计算得到:
其中,
fk+1(t)=αfk(t)+βfk‑1(t),f‑1(t)=0,f1(t)=1,
k=0,1,…,K
(4)特征序列相似度度量
每个标签的相位梯度经过正交多项式回归分析模型提取特征后得到特征序列,选择利用任意两个标签的特征序列的欧式距离作为相似度度量的指标,计算方法为:i j
其中,Ak和Ak分别表示标签i和标签j的特征序列,K是特征序列长度,欧式距离值越大,特征序列间的相似度越小;
当系统中存在n个标签时,标签特征序列两两之间进行相似性度量,构建n×n的相似度矩阵:对所得相似度矩阵归一化处理:使相似度矩阵具有以下性质:(a)自反性:标签自己与自己比较相似度为0,即sii=0;
(b)对称性:以矩阵主对角线为对称轴,各相似度的值对应相等,即sij=sji;
(c)非负性:所有相似度的值都大与0,即sij≥0;
(5)构建标签相对位置关系图
将所述相似度矩阵S根据如下式所示转化成邻接矩阵B:其中,thre是预设的阈值,bij=bji,并且矩阵大小与相似度矩阵相同;
根据所得连接矩阵,相对位置关系图表示为G(V,E),其中V={vi|i=1,2,…,N}是所有标签对应图中节点的集合,N是系统中标签总数,E={(vi,vj)|vi,vj∈V}是图中所有节点之间边的集合,当bij=bji=1时,(vi,vj)和(vj,vi)对应同一条边,并且每条边默认权值为1,所得相对位置关系图是一个无权无向图,得到相对位置关系图;
(6)相对位置关系图社区发现算法
对所得相对位置关系图利用Louvain社区发现算法获得标签的实际物理分组情况:定义社区的模块度如下式:
其中,Wij表示节点i和节点j之间边的权重,ki=∑jWij是与节点i连接的所有边的权重之和, 表示图中所有边的权重之和,ci是节点i所属社区,如果ci=cj则δ(ci,cj)为1,否则为0;
Louvain算法中还定义了模块度增益,用于衡量一个节点划分到一个社区中模块度的变化量,模块度增益计算如下:其中,∑in是社区C中所有边的权重之和,∑tot是所有与社区C连接的边的权重之和,ki是所有与节点i相连的边的权重和,ki,in是在社区C中与节点i相连的所有边的权重之和,m是图中所有边的权重和;
(7)大规模标签应对机制
通过静默标签的方式,将多逻辑分组的场景转换为单个逻辑分组的场景,从而可以逐个检测每个逻辑分组的标签离群错置情况。
2.根据权利要求1所述的识别方法,其特征在于步骤(6)的Louvain社区发现算法还包括:第一阶段,将图中所有节点分配到不同的社区中,随机选择一个节点i作为起点,考虑节点i任一邻节点j,计算节点i加入节点j所在社区的模块度增益ΔQ,节点i加入增益为正且值最大的邻节点所在社区中;如果没有正增益,节点i将留在原来的社区;对所有节点执行该过程;
第二阶段,对上一阶段划分结果进行社区聚合,构建一个新的图,新图中一个节点对应上一阶段中发现的一个社区,两个节点之间的边的权值则是上一阶段两个社区之间边的权值之和;上一阶段同一社区的节点之间的边会导致在新图中节点的自循环;
将这两个阶段定义为一个“pass”,迭代执行pass,直到没有更改,实现最大的模块度,即可输出检测到的社区。