本發(fā)明涉及無線通訊技術(shù)領(lǐng)域,尤其涉及一種射頻識別的防碰撞方法、系統(tǒng),以及閱讀器和標(biāo)簽。
背景技術(shù):
射頻識別(RFID,Radio Frequency Identification)是一種非接觸式的自動識別技術(shù),它通過射頻信號自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù),識別工作無須人工干預(yù),可工作于各種惡劣環(huán)境。RFID技術(shù)可識別高速運(yùn)動物體并可同時識別多個電子標(biāo)簽,操作快捷方便。最基本的電子標(biāo)簽系統(tǒng)由三部分組成:電子電子標(biāo)簽,由耦合元件及芯片組成,每個電子標(biāo)簽具有唯一的電子編碼,高容量電子電子標(biāo)簽有用戶可寫入的存儲空間,附著在物體上標(biāo)識目標(biāo)對象;閱讀器,讀取或者寫入電子標(biāo)簽信息的設(shè)備,可設(shè)計為手持式或固定式;天線,在電子標(biāo)簽和讀取器間傳遞射頻信號。
目前,無線電通信系統(tǒng)多路訪問方式主要有時分多路訪問、頻分多路訪問、碼分多路訪問,以及空分多路訪問。在射頻識別技術(shù)的應(yīng)用中,通常情況下是一個閱讀器對應(yīng)多個電子標(biāo)簽。當(dāng)多個電子標(biāo)簽同時接入閱讀器時,就會發(fā)生碰撞,因而不能正確傳送電子標(biāo)簽內(nèi)的信息到閱讀器。為解決RFID的防碰撞問題,目前所使用方法基本上都隨機(jī)性方法和基于搜索樹的確定性方法兩大類?;谒阉鳂浯_定性方法,準(zhǔn)確率高,但相對復(fù)雜度也較高,延時較長,不被廣泛應(yīng)用。
目前,系統(tǒng)將電子標(biāo)簽回復(fù)的信道按時間劃分為若干間隔,該間隔稱為時隙,并要求電子標(biāo)簽選擇其中一個時隙內(nèi)回復(fù)閱讀器。閱讀器通過指令給每一個標(biāo)簽一個發(fā)送概率,標(biāo)簽隨機(jī)的選擇并按時發(fā)送,直到所有標(biāo)簽全部接入閱讀器。針對各實際情況有對動態(tài)幀時隙法進(jìn)行改進(jìn),大多是先預(yù)測場內(nèi)的標(biāo)簽數(shù)量,后選擇合適時隙。當(dāng)標(biāo)簽數(shù)量遠(yuǎn)大于時隙數(shù)時,在一次識別周期內(nèi)大部分的時隙都會產(chǎn)生碰撞,導(dǎo)致時隙的浪費(fèi);而當(dāng)標(biāo)簽數(shù)量遠(yuǎn)小于時隙數(shù)時,在一次識別周期內(nèi)很多的時隙會成為空時隙,也必然導(dǎo)致時隙的浪費(fèi);同時,Q值調(diào)整所需時隙過多,導(dǎo)致整體吞吐率較低。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種射頻識別的防碰撞方法,通過對時隙進(jìn)行分組,提高射頻識別的識別吞吐率和準(zhǔn)確率。
本發(fā)明中一種射頻識別的防碰撞方法,包括:
S1:當(dāng)開始識別標(biāo)簽時,向標(biāo)簽發(fā)送攜帶Q值的Query命令,其中Q為自然數(shù),所述標(biāo)簽收到所述攜帶Q值的Query命令后,將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中;
S2:建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
S3:將時隙分成M個時隙組;
S4:識別槽計數(shù)器中值為0的標(biāo)簽,其中,被識別的標(biāo)簽不再參與本識別周期,未被識別的標(biāo)簽自身的槽計數(shù)器的值減1,發(fā)生碰撞的標(biāo)簽自身的槽計數(shù)器的值從0變?yōu)?XFFFF;
S5:當(dāng)完成第一個隙數(shù)組的識別后,記錄成功識別的時隙數(shù)C1和發(fā)生碰撞的時隙數(shù)CK;
S6:根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
S7:根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
S8:判斷Qbest1=Q是否為真,若是,則繼續(xù)識別下一個時隙組;若否,則根據(jù)估算剩余標(biāo)簽數(shù)n2,再通過n2得出第二最佳Q值Qbest2;
S9:判斷Qbest2≤Q+1是否為真,若是,則向所述標(biāo)簽發(fā)送QueryAdjust命令,其中QueryAdjust命令用于對Q值進(jìn)行微調(diào),并對剩余標(biāo)簽進(jìn)行識別;
若Qbest2≤Q+1為假,則判斷Temp=0是否為真,若是,則發(fā)送攜帶Qbest1的Query命令,并返回步驟S2;若否,則向所述標(biāo)簽發(fā)送QueryAdjust命令,其中Temp為初始標(biāo)記,當(dāng)再次發(fā)送Query命令后,Temp=1。
可選的,
當(dāng)Q=0,1,2,3時,所述時隙組總數(shù)M=1,所述S=2Q;
當(dāng)Q≥4時,所述時隙組總數(shù)M=2Q-2,所述S=4*group,其中g(shù)roup為當(dāng)前組數(shù)。
可選的,
所述步驟S5還包括記錄空時隙數(shù)C0。
可選的,
所述步驟S9中對Q值進(jìn)行微調(diào)包括:將Q值加或者減1。
可選的,
識別完所有的標(biāo)簽后,對Q進(jìn)行賦值,返回步驟S2。
本發(fā)明還提供了一種閱讀器,包括:
第一發(fā)送單元,用于向標(biāo)簽發(fā)送攜帶Q值的Query命令;
建立單元,用于建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
分組單元,用于將時隙分成M個時隙組;
第一識別單元,用于識別槽計數(shù)器中值為0的標(biāo)簽;
第一記錄單元,用于記錄成功識別的時隙數(shù)C1;
第二記錄單元,用于記錄發(fā)生碰撞的時隙數(shù)CK;
第一估算單元,用于根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
第一計算單元,用于根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
第一判斷單元,用于判斷Qbest1=Q是否為真;
第二識別單元,用于識別下一個時隙組;
第二估算單元,用于根據(jù)估算剩余標(biāo)簽數(shù)n2;
第二計算單元,用于計算第二最佳Q值Qbest2;
第二判斷單元,用于判斷Qbest2≤Q+1是否為真;
第二發(fā)送單元,用于向所述標(biāo)簽發(fā)送QueryAdjust命令;
第三判斷單元,用于判斷Temp=0是否為真,其中Temp為初始標(biāo)記,當(dāng)再次發(fā)送Query命令后,Temp=1;
第三發(fā)送單元,用于發(fā)送攜帶Qbest1的Query命令。
可選的,
分組單元包括:
第一分組子單元,用于根據(jù)第一分組規(guī)則進(jìn)行分組,所述第一分組規(guī)則為當(dāng)Q=0,1,2,3時,所述時隙組總數(shù)M=1,所述S=2Q;
第二分組子單元,用于根據(jù)第二分組規(guī)則進(jìn)行分組,所述第二分組規(guī)則為當(dāng)Q≥4時,所述時隙組總數(shù)M=2Q-2,所述S=4*group,其中g(shù)roup為當(dāng)前組數(shù)。
可選的,
該閱讀器還包括:
第三記錄單元,用于記錄空時隙數(shù)C0;
賦值單元,用于對Q進(jìn)行賦值。
本發(fā)明還提供了一種標(biāo)簽,包括:
接收單元,用于接收所述攜帶Q值的Query命令;
載入單元,用于隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器;
減值單元,用于將槽計數(shù)器的值減1;
變值單元,用于將槽計數(shù)器的值從0變?yōu)?XFFFF。
本發(fā)明還提供了一種射頻識別的防碰撞系統(tǒng),包括:
閱讀器和標(biāo)簽;
所述閱讀器包括:
第一發(fā)送單元,用于向標(biāo)簽發(fā)送攜帶Q值的Query命令;
建立單元,用于建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
分組單元,用于將時隙分成M個時隙組;
第一識別單元,用于識別槽計數(shù)器中值為0的標(biāo)簽;
第一記錄單元,用于記錄成功識別的時隙數(shù)C1;
第二記錄單元,用于記錄發(fā)生碰撞的時隙數(shù)CK;
第一估算單元,用于根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
第一計算單元,用于根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
第一判斷單元,用于判斷Qbest1=Q是否為真;
第二識別單元,用于識別下一個時隙組;
第二估算單元,用于根據(jù)估算剩余標(biāo)簽數(shù)n2;
第二計算單元,用于計算第二最佳Q值Qbest2;
第二判斷單元,用于判斷Qbest2≤Q+1是否為真;
第二發(fā)送單元,用于向所述標(biāo)簽發(fā)送QueryAdjust命令;
第三判斷單元,用于判斷Temp=0是否為真,其中Temp為初始標(biāo)記,當(dāng)再次發(fā)送Query命令后,Temp=1;
第三發(fā)送單元,用于發(fā)送攜帶Qbest1的Query命令;
所述標(biāo)簽包括:
接收單元,用于接收所述攜帶Q值的Query命令;
載入單元,用于隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器;
減值單元,用于將槽計數(shù)器的值減1;
變值單元,用于將槽計數(shù)器的值從0變?yōu)?XFFFF。
從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點(diǎn):
閱讀器向標(biāo)簽發(fā)送攜帶Q值的Query命令,標(biāo)簽收到命令后將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中,通過時隙數(shù)N與Q值之間的對應(yīng)關(guān)系N=2Q建立閱讀器與標(biāo)簽之間的識別關(guān)系,將時隙分成M個時隙組,每組內(nèi)產(chǎn)生碰撞的幾率遠(yuǎn)小于原本在時隙整體內(nèi)發(fā)生碰撞的幾率;分組識別,每組內(nèi)的時隙較少,不必進(jìn)行冗長繁瑣的運(yùn)轉(zhuǎn),易于計算和記錄成功識別的時隙數(shù)C1、發(fā)生碰撞的時隙數(shù)CK、第一最佳Q值Qbest1和二最佳Q值Qbest2等,從而節(jié)省運(yùn)算和記錄的時間,提高射頻識別的識別吞吐率和準(zhǔn)確率。
附圖說明
圖1為本發(fā)明中一種射頻識別的防碰撞方法流程圖;
圖2為本發(fā)明中一種射頻識別的防碰撞方法閱讀器實施例結(jié)構(gòu)示意圖;
圖3為本發(fā)明中一種射頻識別的防碰撞方法標(biāo)簽實施例結(jié)構(gòu)示意圖;
圖4為本發(fā)明中一種射頻識別的防碰撞系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的目的是提供一種射頻識別的防碰撞方法,通過對時隙進(jìn)行分組,提高射頻識別的識別吞吐率和準(zhǔn)確率。
請參閱圖1,本發(fā)明中一種射頻識別的防碰撞方法,包括:
101、當(dāng)開始識別標(biāo)簽時,向標(biāo)簽發(fā)送攜帶Q值的Query命令,其中Q為自然數(shù),標(biāo)簽收到攜帶Q值的Query命令后,將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中;
在本實施例中,閱讀器向標(biāo)簽發(fā)送攜帶Q值的Query命令,標(biāo)簽收到命令后將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中,便于后面運(yùn)用統(tǒng)一的算法和規(guī)則來識別標(biāo)簽。
102:建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
在本實施例中,通過時隙數(shù)N與Q值之間的對應(yīng)關(guān)系N=2Q建立閱讀器與標(biāo)簽之間的識別關(guān)系。
103:將時隙分成M個時隙組;
在本實施例中,將時隙分成M個時隙組,如當(dāng)Q=0,1,2,3時,時隙組總數(shù)M=1,S=2Q;當(dāng)Q≥4時,時隙組總數(shù)M=2Q-2,S=4*group,其中g(shù)roup為當(dāng)前組數(shù)。這樣分組,一方面,每組內(nèi)產(chǎn)生碰撞的幾率遠(yuǎn)小于原本在時隙整體內(nèi)發(fā)生碰撞的幾率;另一方面,分組識別,每組內(nèi)的時隙較少,不必進(jìn)行冗長繁瑣的運(yùn)轉(zhuǎn),從而節(jié)省運(yùn)算和記錄的時間,能提高射頻識別的識別吞吐率和準(zhǔn)確率。
104:識別槽計數(shù)器中值為0的標(biāo)簽,其中,被識別的標(biāo)簽不再參與本識別周期,未被識別的標(biāo)簽自身的槽計數(shù)器的值減1,發(fā)生碰撞的標(biāo)簽自身的槽計數(shù)器的值從0變?yōu)?XFFFF;
在本實施例中,閱讀器識別槽計數(shù)器中值為0的標(biāo)簽,是建立一個識別標(biāo)準(zhǔn);被識別的標(biāo)簽不再參與本識別周期,能減少識別的次數(shù),同時避免重復(fù)識別浪費(fèi)時隙;未被識別的標(biāo)簽自身的槽計數(shù)器的值減1,建立識別規(guī)則;發(fā)生碰撞的標(biāo)簽自身的槽計數(shù)器的值從0變?yōu)?XFFFF,能保證每個標(biāo)簽都被識別。
105:當(dāng)完成第一個隙數(shù)組的識別后,記錄成功識別的時隙數(shù)C1和發(fā)生碰撞的時隙數(shù)CK;
在本實施例中,記錄成功識別的時隙數(shù)C1和發(fā)生碰撞的時隙數(shù)CK為計算標(biāo)簽數(shù)做準(zhǔn)備,還可記錄空時隙數(shù)C0。
106:根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
在本實施例中,為估算標(biāo)簽的公式。
107:根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
在本實施例中,第一最佳值Qbest1是指閱讀器向標(biāo)簽發(fā)送此值時能識別出最多的標(biāo)簽。
108:判斷Qbest1=Q是否為真,若是,則進(jìn)行步驟109,否則執(zhí)行步驟110;
109:繼續(xù)識別下一個時隙組;
110:則根據(jù)估算剩余標(biāo)簽數(shù)n2,再通過n2得出第二最佳Q值Qbest2;
在本實施例中,若Qbest1=Q,則表示原來取的Q值就是最佳值,即此時識別的標(biāo)簽數(shù)是最多的,可以繼續(xù)識別下一個時隙組;若Qbest1≠Q(mào),則需計算第二最佳值Qbest2,進(jìn)而判斷“繼續(xù)識別剩余的標(biāo)簽數(shù)”和“全部重新識別所有標(biāo)簽數(shù)”哪種方法更適合而。
111:判斷Qbest2≤Q+1是否為真,若是,則進(jìn)行步驟112,否則進(jìn)行步驟113;
112:向所述標(biāo)簽發(fā)送QueryAdjust命令,其中QueryAdjust命令用于對Q值進(jìn)行微調(diào),并對剩余標(biāo)簽進(jìn)行識別;
113:判斷Temp=0是否為真,若是,則執(zhí)行步驟114,否則執(zhí)行步驟112,其中Temp為初始標(biāo)記;
114:發(fā)送攜帶Qbest1的Query命令,當(dāng)再次發(fā)送Query命令后,Temp=1,并返回步驟S2。
在本實施例中,當(dāng)Qbest2≤Q+1時,剩余標(biāo)簽微調(diào)(將Q值加或者減1)后繼續(xù)進(jìn)入識別周期;當(dāng)Qbest2>Q+1時,通過判斷若Temp=0,則以Qbest1值全部重新識別所有標(biāo)簽;若Temp=1向標(biāo)簽發(fā)送QueryAdjust命令,對Q值進(jìn)行微調(diào),并對剩余標(biāo)簽進(jìn)行識別。
本實施例中,閱讀器向標(biāo)簽發(fā)送攜帶Q值的Query命令,標(biāo)簽收到命令后將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中,通過時隙數(shù)N與Q值之間的對應(yīng)關(guān)系N=2Q建立閱讀器與標(biāo)簽之間的識別關(guān)系,將時隙分成M個時隙組,每組內(nèi)產(chǎn)生碰撞的幾率遠(yuǎn)小于原本在時隙整體內(nèi)發(fā)生碰撞的幾率;分組識別,每組內(nèi)的時隙較少,不必進(jìn)行冗長繁瑣的運(yùn)轉(zhuǎn),易于計算和記錄成功識別的時隙數(shù)C1、發(fā)生碰撞的時隙數(shù)CK、第一最佳Q值Qbest1和二最佳Q值Qbest2等,從而節(jié)省運(yùn)算和記錄的時間,提高射頻識別的識別吞吐率和準(zhǔn)確率。
本發(fā)明中一種射頻識別的防碰撞方法第二實施例,識別完所有的標(biāo)簽后,對Q進(jìn)行賦值,返回步驟S2。
第二實施例與第一實施例不同在于,閱讀器識別完所有的標(biāo)簽后,對Q進(jìn)行賦值,返回步驟S2,對所有標(biāo)簽數(shù)進(jìn)行重檢,保證時隙準(zhǔn)確、識別無誤。
請參閱圖2,本發(fā)明還提供的一種閱讀器,包括:
第一發(fā)送單元201,用于向標(biāo)簽發(fā)送攜帶Q值的Query命令;
建立單元202,用于建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
分組單元203,用于將時隙分成M個時隙組;
第一識別單元204,用于識別槽計數(shù)器中值為0的標(biāo)簽;
第一記錄單元205,用于記錄成功識別的時隙數(shù)C1;
第二記錄單元206,用于記錄發(fā)生碰撞的時隙數(shù)CK;
第一估算單元207,用于根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
第一計算單元208,用于根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
第一判斷單元209,用于判斷Qbest1=Q是否為真;
第二識別單元210,用于識別下一個時隙組;
第二估算單元211,用于根據(jù)估算剩余標(biāo)簽數(shù)n2;
第二計算單元212,用于計算第二最佳Q值Qbest2;
第二判斷單元213,用于判斷Qbest2≤Q+1是否為真;
第二發(fā)送單元214,用于向所述標(biāo)簽發(fā)送QueryAdjust命令;
第三判斷單元215,用于判斷Temp=0是否為真,其中Temp為初始標(biāo)記,當(dāng)再次發(fā)送Query命令后,Temp=1;
第三發(fā)送單元216,用于發(fā)送攜帶Qbest1的Query命令。
下面以一種實際應(yīng)用中的例子,對上述單元之間的通信關(guān)系進(jìn)行描述:
當(dāng)開始識別標(biāo)簽時,第一發(fā)送單元201向標(biāo)簽發(fā)送攜帶Q值的Query命令,其中Q為自然數(shù),標(biāo)簽收到攜帶Q值的Query命令后,將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中;
在本實施例中,閱讀器的第一發(fā)送單元201向標(biāo)簽發(fā)送攜帶Q值的Query命令,標(biāo)簽收到命令后將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中,便于后面運(yùn)用統(tǒng)一的算法和規(guī)則來識別標(biāo)簽。
建立單元202建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
在本實施例中,建立單元202通過建立時隙數(shù)N與Q值之間的對應(yīng)關(guān)系N=2Q建立閱讀器與標(biāo)簽之間的識別關(guān)系。
分組單元203將時隙分成M個時隙組;
在本實施例中,分組單元203將時隙分成M個時隙組,這樣分組,一方面,每組內(nèi)產(chǎn)生碰撞的幾率遠(yuǎn)小于原本在時隙整體內(nèi)發(fā)生碰撞的幾率;另一方面,分組識別,每組內(nèi)的時隙較少,不必進(jìn)行冗長繁瑣的運(yùn)轉(zhuǎn),從而節(jié)省運(yùn)算和記錄的時間,能提高射頻識別的識別吞吐率和準(zhǔn)確率。
第一識別單元204識別槽計數(shù)器中值為0的標(biāo)簽,其中,被識別的標(biāo)簽不再參與本識別周期,未被識別的標(biāo)簽自身的槽計數(shù)器的值減1,發(fā)生碰撞的標(biāo)簽自身的槽計數(shù)器的值從0變?yōu)?XFFFF;
在本實施例中,第一識別單元204識別槽計數(shù)器中值為0的標(biāo)簽,是建立一個識別標(biāo)準(zhǔn);被識別的標(biāo)簽不再參與本識別周期,能減少識別的次數(shù),同時避免重復(fù)識別浪費(fèi)時隙;未被識別的標(biāo)簽自身的槽計數(shù)器的值減1,建立識別規(guī)則;發(fā)生碰撞的標(biāo)簽自身的槽計數(shù)器的值從0變?yōu)?XFFFF,能保證每個標(biāo)簽都被識別。
當(dāng)完成第一個隙數(shù)組的識別后,第一記錄單元205記錄成功識別的時隙數(shù)C1,第二記錄單元206記錄發(fā)生碰撞的時隙數(shù)CK;
在本實施例中,第一記錄單元205記錄的成功識別的時隙數(shù)C1和第二記錄單元206記錄的發(fā)生碰撞的時隙數(shù)CK為計算標(biāo)簽數(shù)做準(zhǔn)備。
第一估算單元207根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
第一計算單元208根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
在本實施例中,第一估算單元207根據(jù)估算標(biāo)簽的公式估算出標(biāo)簽數(shù)n1,第一計算單元208再計算出第一最佳值Qbest1,第一最佳值Qbest1是指第一發(fā)送單元201向標(biāo)簽發(fā)送此值時能識別出最多的標(biāo)簽。
第一判斷單元209判斷Qbest1=Q是否為真,若是,則第二識別單元210繼續(xù)識別下一個時隙組;若否,則第二估算單元211根據(jù)估算剩余標(biāo)簽數(shù)n2,第二計算單元212再通過n2計算得出第二最佳Q值Qbest2;
在本實施例中,若Qbest1=Q,則表示原來取的Q值就是最佳值,即此時識別的標(biāo)簽數(shù)是最多的,第二識別單元210可以繼續(xù)識別下一個時隙組;若Qbest1≠Q(mào),則需第二計算單元212計算出第二最佳值Qbest2,進(jìn)而判斷“繼續(xù)識別剩余的標(biāo)簽數(shù)”和“全部重新識別所有標(biāo)簽數(shù)”哪種方法更適合而。
第二判斷單元213判斷Qbest2≤Q+1是否為真,若是,則第二發(fā)送單元214向所述標(biāo)簽發(fā)送QueryAdjust命令,其中QueryAdjust命令用于對Q值進(jìn)行微調(diào),并對剩余標(biāo)簽進(jìn)行識別;
若Qbest2≤Q+1為假,則第三判斷單元215判斷Temp=0是否為真,若是,則第三發(fā)送單元216發(fā)送攜帶Qbest1的Query命令,并返回步驟S2,其中Temp為初始標(biāo)記,當(dāng)再次發(fā)送Query命令后,Temp=1。
在本實施例中,當(dāng)Qbest2≤Q+1時,剩余標(biāo)簽微調(diào)(將Q值加或者減1)后繼續(xù)進(jìn)入識別周期;當(dāng)Qbest2>Q+1時,第三判斷單元215判斷若Temp=0,則則第三發(fā)送單元216發(fā)送攜帶Qbest1的Query命令,以Qbest1值全部重新識別所有標(biāo)簽。
本實施例中,第一發(fā)送單元201向標(biāo)簽發(fā)送攜帶Q值的Query命令,標(biāo)簽收到命令后將隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中,建立單元202建立時隙數(shù)N與Q值之間的對應(yīng)關(guān)系N=2Q構(gòu)造閱讀器與標(biāo)簽之間的識別關(guān)系,分組單元203將時隙分成M個時隙組,每組內(nèi)產(chǎn)生碰撞的幾率遠(yuǎn)小于原本在時隙整體內(nèi)發(fā)生碰撞的幾率;分組識別,每組內(nèi)的時隙較少,不必進(jìn)行冗長繁瑣的運(yùn)轉(zhuǎn),第一記錄單元205和第二記錄單元206易于記錄成功識別的時隙數(shù)C1和發(fā)生碰撞的時隙數(shù)CK,第一計算單元208和第二計算單元212便于計算第一最佳Q值Qbest1和二最佳Q值Qbest2等,從而節(jié)省運(yùn)算和記錄的時間,提高射頻識別的識別吞吐率和準(zhǔn)確率。
本發(fā)明中的一種閱讀器進(jìn)一步包括:
分組單元203包括:
第一分組子單元2031,用于根據(jù)第一分組規(guī)則進(jìn)行分組,所述第一分組規(guī)則為當(dāng)Q=0,1,2,3時,所述時隙組總數(shù)M=1,所述S=2Q;
第二分組子單元2032,用于根據(jù)第二分組規(guī)則進(jìn)行分組,所述第二分組規(guī)則為當(dāng)Q≥4時,所述時隙組總數(shù)M=2Q-2,所述S=4*group,其中g(shù)roup為當(dāng)前組數(shù)。
該閱讀器還包括:
第三記錄單元217,用于記錄空時隙數(shù)C0;
賦值單元218,用于對Q進(jìn)行賦值。
請參閱圖3,本發(fā)明還提供了一種標(biāo)簽實施例,包括:
接收單元301,用于接收所述攜帶Q值的Query命令;
載入單元302,用于隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器;
減值單元303,用于將槽計數(shù)器的值減1;
變值單元304,用于將槽計數(shù)器的值從0變?yōu)?XFFFF。
當(dāng)閱讀器向標(biāo)簽發(fā)送帶Q值的Query命令時,標(biāo)簽的接收單元301接收命令,載入單元302隨機(jī)的選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器中,將不規(guī)則的標(biāo)簽內(nèi)容轉(zhuǎn)化成數(shù)值供閱讀器識別。減值單元303將未被識別的標(biāo)簽在槽計數(shù)器中的數(shù)值減1參與后續(xù)識別。碰撞后,變值單元304將槽計數(shù)器的值從0變?yōu)?XFFFF繼續(xù)參與識別。
請參閱圖4,本發(fā)明還提供了一種射頻識別的防碰撞系統(tǒng),包括:
閱讀器400和標(biāo)簽501;
所述閱讀器400包括:
第一發(fā)送單元4011,用于向標(biāo)簽發(fā)送攜帶Q值的Query命令;
建立單元4012,用于建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
分組單元4013,用于將時隙分成M個時隙組;
第一識別單元4014,用于識別槽計數(shù)器中值為0的標(biāo)簽;
第一記錄單元4015,用于記錄成功識別的時隙數(shù)C1;
第二記錄單元4016,用于記錄發(fā)生碰撞的時隙數(shù)CK;
第一估算單元4017,用于根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
第一計算單元4018,用于根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
第一判斷單元4019,用于判斷Qbest1=Q是否為真;
第二識別單元4020,用于識別下一個時隙組;
第二估算單元4021,用于根據(jù)估算剩余標(biāo)簽數(shù)n2;
第二計算單元4022,用于計算第二最佳Q值Qbest2;
第二判斷單元4023,用于判斷Qbest2≤Q+1是否為真;
第二發(fā)送單元4024,用于向標(biāo)簽發(fā)送QueryAdjust命令;
第三判斷單元4025,用于判斷Temp=0是否為真,其中Temp為初始標(biāo)記,當(dāng)再次發(fā)送Query命令后,Temp=1;
第三發(fā)送單元4026,用于發(fā)送攜帶Qbest1的Query命令;
所述標(biāo)簽501包括:
接收單元5011,用于接收所述攜帶Q值的Query命令;
載入單元5012,用于隨機(jī)選取0~2Q-1中的一個數(shù)值載入到自身的槽計數(shù)器;
減值單元5013,用于將槽計數(shù)器的值減1;
變值單元5014,用于將槽計數(shù)器的值從0變?yōu)?XFFFF。
本實施例中,
當(dāng)開始識別標(biāo)簽時,第一發(fā)送單元4011向標(biāo)簽發(fā)送攜帶Q值的Query命令,其中Q為自然數(shù),標(biāo)簽的接收單元5011收到攜帶Q值的Query命令后,載入單元5012將隨機(jī)選取0~2Q-1中中的一個數(shù)值載入到自身的槽計數(shù)器中;
建立單元4012建立時隙數(shù)N與所述Q值的對應(yīng)關(guān)系,所述對應(yīng)關(guān)系為N=2Q;
分組單元4013將時隙分成M個時隙組;
第一識別單元4014識別槽計數(shù)器中值為0的標(biāo)簽,其中,被識別的標(biāo)簽不再參與本識別周期,減值單元5013將未被識別的標(biāo)簽自身的槽計數(shù)器的值減1,變值單元5014將發(fā)生碰撞的標(biāo)簽自身的槽計數(shù)器的值從0變?yōu)?XFFFF;
當(dāng)完成第一個隙數(shù)組的識別后,第一記錄單元4015記錄成功識別的時隙數(shù)C1和第二記錄單元4016發(fā)生碰撞的時隙數(shù)CK;
第一估算單元4017根據(jù)公式估算標(biāo)簽數(shù)n1,其中S為識別次數(shù);
第一計算單元4018根據(jù)時隙數(shù)接近標(biāo)簽數(shù)原則,通過所述n1計算第一最佳Q值Qbest1;
第一判斷單元4019判斷Qbest1=Q是否為真,若是,則第二識別單元4020繼續(xù)識別下一個時隙組;若否,則第二估算單元4021根據(jù)估算剩余標(biāo)簽數(shù)n2,第二計算單元4022再通過n2得出第二最佳Q值Qbest2;
第二判斷單元4023判斷Qbest2≤Q+1是否為真,若是,則第二發(fā)送單元4024向標(biāo)簽發(fā)送QueryAdjust命令,其中QueryAdjust命令用于對Q值進(jìn)行微調(diào),并對剩余標(biāo)簽進(jìn)行識別;
若Qbest2≤Q+1為假,則第三判斷單元4025判斷Temp=0是否為真,若是,則第三發(fā)送單元4026發(fā)送攜帶Qbest1的Query命令,并返回步驟S2;若否,則向所述標(biāo)簽發(fā)送QueryAdjust命令,其中Temp為初始標(biāo)記,當(dāng)再次發(fā)送Query命令后,Temp=1。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不處理。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。