導航:首頁 > 源碼編譯 > rfid演算法實現

rfid演算法實現

發布時間:2025-03-02 17:17:37

Ⅰ rfid技術標准採用了哪些crc檢驗演算法

一般用CRC16的C語言演算法:
#define PRESET_VALUE 0xFFFF
#define POLYNOMIAL 0x8408
unsigned int uiCrc16Cal(unsigned char const * pucY, unsigned char ucX)
{
unsignedchar ucI,ucJ;
unsignedshort int uiCrcValue = PRESET_VALUE;
for(ucI = 0; ucI < ucX; ucI++)
{
uiCrcValue = uiCrcValue ^ *(pucY + ucI);
for(ucJ = 0; ucJ < 8; ucJ++)
{
if(uiCrcValue& 0x0001)
{
uiCrcValue= (uiCrcValue >> 1) ^ POLYNOMIAL;
}
else
{
uiCrcValue= (uiCrcValue >> 1);
}
}
}
return uiCrcValue;
}
pucY是要計算CRC16的字元數組的入口,ucX是字元數組中字元個數。
上位機收到數據的時候,只要把收到的數據按以上演算法進行計算CRC16,結果為0x0000表明數據正確。像UR6258 UR5002等超高頻讀寫器都是用這樣的演算法的

Ⅱ 關於RFID防碰撞演算法中的Q值演算法

Q=S/G,CN=1/Q,so C=G/(S*N)

Ⅲ 求解釋RFID的防碰撞演算法中的查詢樹QT演算法麻煩詳細說一下演算法原理,如何防碰撞的謝謝~

查詢樹QT(QueryTree)是一種典型的樹結構演算法,其演算法原理:讀寫器發送長度為k的prefix(前置代碼,一般為置於一組號碼前的數字或字母,表示所屬區域等);標簽ID中前kbit與prefix匹配的tag反饋第(k+1)bit至最後1bit。如果讀寫器收到的標簽ID碰撞,再分別將prefix加「1」和「0」,作為新的prefix發送出去。如果沒有碰撞,就表明一個標簽被識別了。


舉例:設有三個標簽ID分別為「010」,「011」,「100」,讀寫器的查詢序列首先置為「0」、「1」,讀寫器先發送序列「0」進行查詢,發生碰撞,此時將序列置為「00」、「01」,再次分別發送,序列「00」沒有響應,序列「01」發生碰撞,將序列置為「010」、「011」,成功識別。回溯到序列「1」,只有標簽「100」響應,成功識別。如圖所示

閱讀全文

與rfid演算法實現相關的資料

熱點內容
程序員放棄後會怎樣 瀏覽:188
河北模具編程 瀏覽:190
adb查找命令 瀏覽:324
安卓手機視頻文件夾怎麼打開 瀏覽:314
平板加密手機後怎麼關閉 瀏覽:572
流媒體伺服器應該注意什麼 瀏覽:539
d8命令編譯 瀏覽:969
壓縮包解壓需要多少空間 瀏覽:152
如何查找app屬性 瀏覽:392
android人臉識別技術 瀏覽:327
pc104編程 瀏覽:338
二維碼反編譯破解推廣 瀏覽:687
修改伺服器的mac地址 瀏覽:531
好玩的編程軟體 瀏覽:903
編程語言創始人有錢嗎 瀏覽:809
短視頻app怎麼獲客 瀏覽:18
查看雲伺服器的應用 瀏覽:441
javadump工具 瀏覽:569
程序員16g 瀏覽:449
程序員沒有辦法成為top怎麼辦 瀏覽:224