本发明专利技术提出了一种基于CDMA的RFID防碰撞方法,该方法首先将所有的标签进行调整分组,然后以递归的方式将碰撞的标签分组,为标碰撞标签选择码片,然后将标签数据用正交码扩频后发送出去,并在阅读器端用相同码片进行解扩,最后对读取标签进行重复和遗漏的核查,该方法可以同时识别多个标签,解决了现有的基于ALOHA算法和二进制算法方案的不足。
【技术实现步骤摘要】
基于CDMA的大规模RFID防碰撞方法
本专利技术涉及RFID的防碰撞技术,特别是基于CDMA的多路读取方法。
技术介绍
随着计算机通信技术的快速发展,人们对自动化识别技术的需求也越来越强烈,在这样的背景下,RFID技术以其快速、准确、实时等优势引起了人们的广泛关注。近年来,RFID技术得到了快速的普及和发展。RFID系统被广泛应用于门禁系统、物流管理、军事等领域。随着天线技术、芯片技术以及计算机技术的不断向前发展,RFID系统的功率消耗和体积越来越小,功能越来越灵活,成本越来越低,操作也更加快捷方便。再加上其擅长运动目标识别、多个目标识别、方便物流管理和物品跟踪等突出特点,RFID系统在人们的生产生活中扮演着越来越重要的角色。RFID技术带来了一个新的无线市场,在国民生活中的地位与日俱增。RFID技术正越来越被广泛地被应用于物流、零售等众多领域。我国现已开始全面部署RFID系统的发展规划,尤其重视编码体系、频率划分以及知识产权等相关领域。但是,现有的RFID系统一次只能读取一个标签,当有多个标签聚集在一起时,因信号冲突,导致阅读器无法正确读取标签的信息。由此可见,解决好RFID碰撞这一核心问题对RFID更广泛的应用和产业的发展具有重要意义。
技术实现思路
本专利技术为了解决上述的技术问题,提出了一种基于CDMA的大规模RFID防碰撞方法。本专利技术的技术方案是:一种基于CDMA的RFID防碰撞方法,包括下述步骤,步骤1,将所有标签进行分组,步骤1包括以下步骤,步骤1.1,标签向阅读器发送会话请求消息(HELLO),步骤1.2,系统默认最大分组数为G,阅读器根据收到会话请求消息(HELLO)的信号强度初始化本次会话分组数K,K<=G,或者直接采用本次会话分组数K的预设数值,阅读器向标签广播分组命令(GROUP,K),让标签分为K组;步骤1.3,标签收到分组命令后随机选择该标签的分组序列低K位中的一位并置为1,其余为0,该序列称之为分组序列信息(POSION);步骤1.4,标签将分组序列信息(POSION)发送回阅读器,阅读器在收到的所有标签分组序列信息(POSION)后根据碰撞位生成合成分组序列;阅读器收到所有标签的分组序列信息(POSION)后,对所有为1的位置进行整合;步骤1.5,阅读器选取待通信的M个分组,循环向标签发送允许通信命令(ADJUST,S_POSION),其中序列(S_POSION)为选定分组的分组序列信息(POSION),长度为K,仅有一位为1,序列(S_POSION)与标签内保存的分组序列信息(POSION)结构一致,标签收到该命令后,检查是否与自己的分组序列信息(POSION)一致,若一致,则将数据扩频后发送出去,否则,不响应;步骤1.6,阅读器统计这M个分组的碰撞率P(x≥2),只要有1组的标签碰撞率P(x≥2)大于阈值P(x≥2|n=N),P(x≥2|n=N)为当n=N时计算所得的碰撞概率,将K的值扩大为k×K后,从新分组,发送分组(GROUP,K)命令,回到步骤1.3;否则,分组成功进入步骤2;其中,假设有N个正交码片,每组内能容纳的最大标签个数为N,设组内实际标签数为n,设标签选择任一码片的概率是相等的,即p=1/N,每个标签对码片的选择是相互独立的,在一个组内一个码片没有被任何标签选中的概率如下:x代表选中该码片的标签数量,一个码片仅被一个标签选中的概率如下,其中,表示从n个标签数中随机选择一个标签,当有两个或两个以上标签选中同一码片时则发生碰撞,其概率如下,步骤2,对分组时产生碰撞的标签进行碰撞处理;步骤2的子步骤如下,步骤2.1,预设碰撞缓冲值(BUFFER)的初始值,使碰撞缓冲值(BUFFER)初始化为一正整数值,发生碰撞的码片数期望为:其中,X为发生碰撞的码片数量;在K个分组中发生碰撞的码片数总期望为K×E(X),将该值设置为碰撞缓冲(BUFFER)的初始值;从未通信的标签分组中选定一个分组发送通信命令(SEND,S_POSION),分组序列信息(POSION)与分组信息的序列(S_POSION)一致的标签随机从正交矩阵中选取一行作为码片,将自己的数据用码片扩频后发送给阅读器;阅读器收到信息后通过同样的正交码片分离出所有数据后,将已经识别的标签ID逐个广播,各标签检查如果已被阅读器正确识别,则进入休眠状态;此过程中如阅读器检测到碰撞,就将当前的碰撞缓冲值(BUFFER)减1;步骤2.2,判断碰撞缓冲值(BUFFER)是否等于0,如为0,进入步骤2.3,否则直接进入步骤2.4;步骤2.3,调整标签分组,并将缓冲值(BUFFER)重置为初始值;调整过程如下,将这些不同组内发生碰撞的标签重新合成为新的一组,删去旧的组,并将新合并的组号放入未识别的组号集合里;进入步骤2.4;步骤2.4,阅读器检测是否还存在未通信的标签分组,如存在,回到步骤2.1,否则结束步骤2,进入步骤3;步骤3,对读取的标签进行重复和遗漏核查,阅读器中设置一个变量L,L初始值为系统核查次数的上限值;步骤3具体实施的子步骤如下,步骤3.1,阅读器广播核查命令(CHECK);步骤3.2,所有标签检查自己的发送标志位和反馈标志位,只要有1位不为1,则标签向阅读器返回其分组信息,发送重传请求(MSS,R_POSION),其中,(R_POSION)为该标签的分组序列(POSION)信息;步骤3.3,阅读器在发送核查命令(CHECK)后,如果没有标签响应,则表示所有标签被正确识别,识别过程结束;如果阅读器收到了标签的响应,则说明存在未识别的标签或者存在故障标签,进入步骤3.4;步骤3.4,阅读器广播发送重传命令(WAKE_UP,R_POSION),通知遗漏的标签重新发送数据;步骤3.5,未被识别的标签收到重传(WAKE_UP,R_POSION)命令后,检查(R_POSION)与自己的分组序列(POSION)信息是否相同,如果相同,则重传数据;阅读器再将收到的所有需要重传的分组序列(R_POSION)依次广播后,一个检查过程结束,将L减1;若L不为0,回到步骤3.1;若L为0,同样结束该过程,并向用户发送错误报告。所述的步骤1.4中所述的整合的方法是,将所有标签返回的分组序列信息(POSION)按位进行逻辑加法,得到合并的分组序列(C_POSION)。所述的步骤1.5中的循环方法是,从合并的分组序列(C_POSION)中依次选取M个不为0的位,即选取M个分组,M<<K,发送M次相应的允许通信命令消息(ADJUST,S_POSION),标签收到该命令后,检查是否与自己的分组序列(POSION)信息一致,若一致,则将数据扩频后发送出去,否则,不响应。作为优选,步骤1.6中的k取1.5。与现有技术相比,本专利技术能够实现多个标签同时读取,本文档来自技高网...

【技术保护点】
一种基于CDMA的RFID防碰撞方法,其特征在于,包括下述步骤:步骤1,将所有标签进行调整分组,步骤1包括以下步骤,步骤1.1,标签向阅读器发送会话请求消息(HELLO),步骤1.2,系统默认最大分组数为G,阅读器根据收到会话请求消息(HELLO)的信号强度初始化本次会话分组数K,KP(x=0)=(N-1)nNnx代表选中该码片的标签数量,一个码片仅被一个标签选中的概率如下,P(x=1)=Cn1(N-1)n-1Nn=n(N-1)n-1Nn其中,表示从n个标签数中随机选择一个标签,当有两个或两个以上标签选中同一码片时则发生碰撞,其概率如下,P(x≥2)=1-[(N-1)nNn+n(N-1)n-1Nn]步骤2,对分组时产生碰撞的标签进行碰撞处理;步骤2的子步骤如下,步骤2.1,预设碰撞缓冲值(BUFFER)的初始值,阅读器维护一个未识别的组号集合和一个碰撞缓冲值(BUFFER),所述未识别的分组集合,是所有存在未识别的标签的分组的集合,使碰撞缓冲值(BUFFER)初始化为一正整数值,发生碰撞的码片数期望为:E(X)=NP(x≥2)=Nn-(n+N-1)(N-1)n-1Nn-1其中,X为发生碰撞的码片数量;在K个分组中发生碰撞的码片数总期望为K×E(X),将该值设置为碰撞缓冲(BUFFER)的初始值;从未通信的标签分组中选定一个分组发送通信命令(SEND,S_POSION),分组序列信息(POSION)与分组信息的序列(S_POSION)一致的标签随机从正交矩阵中选取一行作为码片,将自己的数据用码片扩频后发送给阅读器;阅读器收到信息后通过同样的正交码片分离出所有数据后,将已经识别的标签ID逐个广播,各标签检查如果已被阅读器正确识别,则已被阅读器正确识别,进入休眠状态;此过程中如阅读器检测到碰撞,就将当前的碰撞缓冲值(BUFFER)减1;步骤2.2,判断碰撞缓冲值(BUFFER)是否等于0,如为0,进入步骤2.3,否则直接进入步骤2.4;步骤2.3,调整标签分组,并将缓冲值(BUFFER)重置为初始值;调整过程如下,将这些不同组内发生碰撞的标签重新合成为新的一组,删去旧的组,并将新合并的组号放入未识别的组号集合里;进入步骤2.4;步骤2.4,阅读器检测是否还存在未通信的标签分组,如存在,回到步骤2.1,否则结束步骤2,进入步骤3;步骤3,对读取的标签进行重复和遗漏核查,阅读器中设置一个变量L,L初始值为系统核查次数的上限值;步骤3具体实施的子步骤如下,步骤3.1,阅读器广播核查命令(CHECK);步骤3.2,所有标签检查自己的发送标志位和反馈标志位,只要有1位不为1,则标签向阅读器返回其分组信息,发送重传请求(MSS,R_POSION),其中,(R_POSION)为该标签的分组序列(POSION)信息;步骤3.3,阅读器在发送核查命令(CHECK)后,如果没有标签响应,则表示所有标签被正确识别,识别过程结束;如果阅读器收到了标签的响应,则说明存在未识别的标签或者存在故障标签,进入步骤3.4;步骤3.4,阅读器广播发送重传命令(WAKE_UP,R_POSION),通知遗漏的标签重新发送数据;步骤3.5,未被识别的标签收到重传(WAKE_UP,R_POSION)命令后,检查(R_POSION)与自己的分组序列(POSION)信息是否相同,如果相同,则重传数据;阅读器再将收到的所有需要重传的分组序列(R_POSION)依次广播后,一个检查过程结束,将L减1;若L不为0,回到步骤3.1;若L为0,同样结束该过程,并向用户发送错误报告。FDA0000433266140000021.jpg...
【技术特征摘要】
1.一种基于CDMA的RFID防碰撞方法,其特征在于,包括下述步骤:步骤1,将所有标签进行调整分组,步骤1包括以下步骤,步骤1.1,标签向阅读器发送会话请求消息HELLO,步骤1.2,系统默认最大分组数为G,阅读器根据收到会话请求消息HELLO的信号强度初始化本次会话分组数K,K<=G,或者直接采用本次会话分组数K的预设数值,阅读器向标签广播分组命令(GROUP,K),让标签分为K组;步骤1.3,标签收到分组命令后随机选择该标签的分组序列低K位中的一位并置为1,其余为0,该序列称之为分组序列信息POSION;步骤1.4,标签将分组序列信息POSION发送回阅读器,阅读器在收到所有标签分组序列信息POSION后根据碰撞位生成合成分组序列;具体的是阅读器收到所有标签的分组序列信息POSION后,对所有为1的位置进行整合;步骤1.5,阅读器选取待通信的M个分组,循环向标签发送允许通信命令(ADJUST,S_POSION),其中序列S_POSION为选定分组的分组序列信息POSION,长度为K,仅有一位为1,序列S_POSION与标签内保存的分组序列信息POSION结构一致,标签收到该命令后,检查是否与自己的分组序列信息POSION一致,若一致,则将数据扩频后发送出去,否则,不响应;步骤1.6,阅读器统计这M个分组的碰撞率P(x≥2),只要有1组的标签碰撞率P(x≥2)大于阈值P(x≥2|n=N),P(x≥2|n=N)为当n=N时计算所得的碰撞概率,则将K的值扩大为k×K后,重新分组,发送分组(GROUP,K)命令,回到步骤1.3;否则,分组成功进入步骤2;所述的k取1.5;其中,假设有N个正交码片,每组内能容纳的最大标签个数为N,设组内实际标签数为n,设标签选择任一码片的概率是相等的,即p=1/N,每个标签对码片的选择是相互独立的,在一个组内一个码片没有被任何标签选中的概率如下:x代表选中该码片的标签数量,一个码片仅被一个标签选中的概率如下,其中,表示从n个标签数中随机选择一个标签,当有两个或两个以上标签选中同一码片时则发生碰撞,其概率如下,步骤2,对分组时产生碰撞的标签进行碰撞处理;步骤2的子步骤如下,步骤2.1,预设碰撞缓冲值BUFFER的初始值,阅读器维护一个未识别的组号集合和一个碰撞缓冲值BUFFER,所述未识别的分组集合,是所有存在未识别的标签的分组的集合,使碰撞缓冲值BUFFER初始化为一正整数值,发生碰撞的码片数期望为:其中,X为发生碰撞的码片数量;在K个分组中发生碰撞的码片数总期望为K×E(X),将该值设置为碰撞缓冲BUFFER的初始值;从未通信的标签分组中选定一个分组发送通信命令(SEND,S_POSION),分组...
【专利技术属性】
技术研发人员:黄传河,王晶,凌超,
申请(专利权)人:武汉大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。