KR101521262B1 - RFID tag, RFID tag reader, RFID tag identification system including thereof and providing method thererof - Google Patents
RFID tag, RFID tag reader, RFID tag identification system including thereof and providing method thererof Download PDFInfo
- Publication number
- KR101521262B1 KR101521262B1 KR1020140037612A KR20140037612A KR101521262B1 KR 101521262 B1 KR101521262 B1 KR 101521262B1 KR 1020140037612 A KR1020140037612 A KR 1020140037612A KR 20140037612 A KR20140037612 A KR 20140037612A KR 101521262 B1 KR101521262 B1 KR 101521262B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- collision
- string
- query
- response
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10019—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers.
- G06K7/10029—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot
- G06K7/10039—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot interrogator driven, i.e. synchronous
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
- H04W48/14—Access restriction or access information delivery, e.g. discovery data delivery using user query or user detection
Landscapes
- Engineering & Computer Science (AREA)
- Toxicology (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Near-Field Transmission Systems (AREA)
Abstract
Description
본 발명은 RFID 태그, RFID 태그 리더, 이들을 포함하는 RFID 태그 인식 시스템 및 그 제공방법에 관한 것으로, 보다 상세하게는 M차 질의 트리(M-ary query tree; M은 m2이며, m은 2 이상의 정수), 태그 ID의 충돌정보, 예측 기법 등을 이용하여 신속하게 RFID 태그를 인식할 수 있도록 하는 RFID 태그, RFID 태그 리더, 이들을 포함하는 RFID 태그 인식 시스템 및 그 제공방법에 관한 것이다.The present invention relates to an RFID tag, an RFID tag reader, and an RFID tag recognition system including the RFID tag, and more particularly, to an M-ary query tree (M is m 2 , m is 2 or more The present invention relates to an RFID tag, an RFID tag reader, a RFID tag recognition system including the RFID tag, and a method of providing the RFID tag.
본 발명은 2012년도 한국연구재단의 지원을 받아 수행된 기초연구사업의 일환으로 수행한 연구로부터 도출된 것이다[과제번호: 2012R1A1A1042703, 과제명: 인지 라디오 네트워크에서 QoS 보장을 제공하는 무상태 프레임워크에 관한 연구(Stateless Framework to Provide Guaranteed QoS in Cognitive Radio Networks)].
The present invention is derived from a research carried out as part of a basic research project supported by the Korea Research Foundation in 2012. [Task Number: 2012R1A1A1042703, Title: A stateless framework providing QoS guarantee in cognitive radio networks (Stateless Framework to Provide Guaranteed QoS in Cognitive Radio Networks).
RFID(Radio Frequency Identification)는 IC 칩에 내장된 정보를 무선 주파수를 이용하여 비 접촉방식으로 읽어내는 기술로서 대상을 자동으로 식별 할 수 있는 기술이다. 일반적으로 안테나와 칩으로 구성된 RFID태그에 정보를 저장하여 적용 대상에 부착한 후 판독기에 해당하는 RFID 리더를 통하여 정보를 인식한다. RFID 시스템은 바코드 시스템과는 달리 무선 다중 인식 기술을 제공하므로 짧은 시간 안에 다수의 태그를 인식하는 장점을 가진다.RFID (Radio Frequency Identification) is a technology that reads information embedded in an IC chip in a non-contact manner using radio frequency, and is a technology capable of automatically identifying an object. In general, information is stored in an RFID tag composed of an antenna and a chip, attached to an application object, and then recognized through an RFID reader corresponding to the reader. Unlike the barcode system, the RFID system provides wireless multi-recognition technology, so it has the advantage of recognizing multiple tags in a short time.
이러한 RFID 기술을 산업 전반에 적용하기 위해서는 태그의 저가격, 저전력, 초소형화 문제, 보안 문제 그리고 다중 태그 식별 문제 등의 난제들을 해결해야 한다. 그 중 충돌 문제란 리더가 여러 개의 태그정보를 읽기 위해 질의(query)를 전송했을 때 이 질의를 수신한 여러 태그들이 동시에 응답(response)하여 전파 사이에 충돌이 발생하게 되는 문제이다. 다중 태그 식별 시 발생할 수 있는 충돌 문제는 태그의 인식효율 및 속도에 큰 영향을 미치므로 다수의 태그를 식별할 때 발생할 수 있는 충돌 문제를 해결할 수 있는 효율적인 충돌방지(anti-collision) 알고리즘이 필수적으로 요구된다.In order to apply such RFID technology to the whole industry, it is necessary to solve problems such as low price, low power, miniaturization, security problem and multi tag identification problem of the tag. In the collision problem, when a reader transmits a query to read several pieces of tag information, a plurality of tags receiving the query simultaneously respond to each other, causing a collision between the waves. Since collision problems that can occur when multiple tags are identified have a great influence on the recognition efficiency and speed of tags, an efficient anti-collision algorithm that can solve the collision problems that may occur when identifying multiple tags is essential Is required.
일반적으로 리더가 태그를 인식하는 과정을 살펴보면 다음과 같다.Generally, a reader recognizes a tag as follows.
리더가 다수의 태그에게 질의할 때는 브로드캐스트(broadcast) 방식으로 전파를 전송하며, 이를 포워드 링크(forward link)라고 한다. 이 질의는 리더의 전파 범위 안에 있는 태그만 들을 수 있으며 리더의 전파 범위 안에 있는 태그만 응답을 하게 된다. 이것을 리턴 링크(return link)라고 한다. 이때 태그들은 리더의 질의에 응답하도록 설계되어 있으므로 동시에 응답을 하여 전파 간 충돌(collision)이 발생하는 문제가 생긴다. 이러한 충돌은 RFID 시스템의 인식률에 큰 영향을 미치므로, 효과적인 태그 충돌 조정 과정이 요구된다.When a reader queries a plurality of tags, it transmits a radio wave in a broadcast manner, which is called a forward link. This query can only listen to tags within the reader's propagation range, and only those tags within the reader's propagation range will respond. This is called a return link. At this time, since the tags are designed to respond to the inquiry of the reader, there arises a problem that a collision occurs between the radio waves due to the simultaneous response. Since such a collision greatly affects the recognition rate of the RFID system, effective tag collision adjustment process is required.
충돌 방지 알고리즘은 크게 알로하 기반과 트리 기반으로 나누어진다.The collision avoidance algorithm is largely divided into aloha based and tree based.
알로하 기반 기법은 시간을 슬롯(slot) 단위로 나누어 한 슬롯에 하나의 태그만 응답하게 만들어 태그 충돌이 없이 리더가 인식하게 만드는 알고리즘이다. 하지만 이 방식은 확률이라는 불확실성에 기초를 두고 있기 때문에 최악의 경우 리더가 식별 영역 내의 모든 태그를 인식하지 못할 경우도 있다.Aloha based method divides time into slots and responds to only one tag in one slot, making the reader recognize without any tag collision. However, since this approach is based on the uncertainty of probability, in the worst case, the reader may not be able to recognize all the tags in the identification area.
한편 트리 기반 기법은 RFID 태그의 특징인 고유한 태그 ID 를 이용하여 트리를 만들어 태그 인식 과정을 진행한다. 대표적인 트리 기반 기법으로 질의 트리 방식을 들 수 있다. 질의 트리 방식은 리더의 전송 범위 내에 존재하는 모든 태그를 인식하는 것을 보장한다.On the other hand, the tree-based method uses a unique tag ID, which is a feature of the RFID tag, to construct a tree and proceed with the tag recognition process. A typical tree-based method is the query tree method. The query tree method ensures that all tags within the transmission range of the reader are recognized.
질의 트리 방식에서, 리더는 비트 스트링(bit string)으로 이루어진 프리픽스(prefix)를 질의-큐(query-queue)에서 꺼내서 태그들에게 질의한다. 이 질의를 수신한 태그는 프리픽스가 자신의 태그 ID의 앞부분과 일치하면 자신의 ID를 가지고 리더에게 응답한다. 만약, 두 개 이상의 태그들이 응답하여 충돌이 발생하면, 리더는 질의한 프리픽스에 '0' 비트와 '1' 비트를 각각 추가하여 두 개의 질의를 생성하고, 이를 질의-큐에 넣는다. 리더는 다시 질의-큐에서 프리픽스를 꺼내어 질의-응답 과정을 반복한다. 이 과정은 질의-큐에 더 이상 프리픽스가 존재하지 않을 때까지 계속된다. 처음에 질의-큐는 널 스트링(null string; ε)으로 초기화되어 있고, ε을 수신한 태그들은 프리픽스 비교 없이 자신의 ID로 리더에게 응답한다.In the query tree approach, the reader retrieves the prefix of the bit string from the query-queue and queries the tags. The tag that received this query responds to the reader with its ID if the prefix matches the beginning of its tag ID. If two or more tags respond and a collision occurs, the reader adds '0' bit and '1' bit to the query prefix to generate two queries and places them in the query queue. The leader again retrieves the prefix from the query-queue and repeats the query-response process. This process continues until there is no more prefix in the query-queue. Initially, the query-queue is initialized with a null string (ε), and the tags that received ε respond to the reader by their ID without prefix comparison.
아래 표 1은 Tag1(태그 ID: 0010), Tag2(태그 ID: 1101), Tag3(태그 ID: 0011), Tag4(태그 ID: 0101), Tag5(태그 ID: 1010)을 식별하는 과정을 보여준다.Table 1 below shows the process of identifying Tag1 (Tag ID: 0010), Tag2 (Tag ID: 1101), Tag3 (Tag ID: 0011), Tag4 (Tag ID: 0101), Tag5 (Tag ID: 1010).
한편, 이러한 태그 식별 과정은 도 1에 도시된 바와 같은 질의 트리 형태로 표현될 수 있다. 이하에서, 도 1을 참조하여, 상기 [표 1]에 따른 태그 식별 과정을 설명하기로 한다. 도 1에서, 질의 트리를 구성하는 노드들은 각각 하나의 질의-응답 과정을 나타내며, 각 노드로 들어오는 에지 상에는 질의 스트링이 표시되어 있다. 각 노드는 질의-응답의 결과에 따라 충돌 노드(collision node), 확인 노드(identification node), 유휴 노드(idle node) 로 구분된다. 충돌 노드는 리더의 질의에 하나 이상의 태그들이 응답했을 때를 나타내고, 확인 노드는 오직 하나의 태그만 응답했을 때, 유휴 노드는 아무 태그도 응답하지 않을 경우를 나타낸다. 노드 안에 표시되어 있는 숫자는 질의-응답의 순서를 나타낸다. 만약, 리더의 전송 범위 내에 똑같은 태그들이 존재한다면 항상 태그 식별 과정은 같은 모양의 트리를 갖는다.The tag identification process can be expressed in the form of a query tree as shown in FIG. Hereinafter, the tag identification process according to Table 1 will be described with reference to FIG. In FIG. 1, each of the nodes constituting the query tree represents a query-response process, and a query string is displayed on an edge that enters each node. Each node is classified into a collision node, an identification node, and an idle node according to the result of a query-response. The collision node indicates when one or more tags have responded to the query of the reader, and the confirmation node indicates that when only one tag responds, the idle node does not respond to any tag. The numbers in the node represent the order of the query-response. If there are identical tags within the transmission range of the reader, the tag identification process always has the same shape tree.
상기 [표 1]에 나타난 바와 같이, 질의-큐는 널 스트링(ε)으로 초기화되어 있다. 첫 번째 질의-응답 단계에서, 리더는 질의-큐에서 비트 스트링(ε)을 추출하여 이를 주변 태그들로 전송(브로드캐스팅)한다. 그러면, 모든 태그(즉, Tag1 내지 Tag5)가 리더에게 응답하게 되므로 충돌이 발생한다. 그러면, 리더는 첫 번째 질의에 포함된 비트 스트링(ε)에 비트 '0' 및 비트 '1'을 추가하여 질의 스트링 '0' 및 질의 스트링 '1'을 생성하고 이를 질의 큐에 삽입한다. 따라서, 질의-큐의 상태는 {0, 1}이 된다.As shown in Table 1 above, the query-queue is initialized to a null string epsilon. In the first query-response phase, the leader extracts the bit-string (ε) from the query-queue and broadcasts it to the surrounding tags. Then, all the tags (i.e., Tag1 to Tag5) respond to the reader, so that a collision occurs. Then, the leader adds bit '0' and bit '1' to bit string epsilon included in the first query to generate query string '0' and query string '1' and inserts it into the query queue. Thus, the state of the query-queue is {0, 1}.
두 번째 질의-응답 단계에서, 리더는 질의-큐에서, 비트 스트링 '0'을 추출하고 주변 태그에게 질의한다. 그러면, 비트 '0'으로 시작하는 태그 ID를 가지는 Tag1(태그 ID: 0010), Tag3(태그 ID: 0011), Tag4(태그 ID: 0101)가 응답하므로 충돌이 발생한다. 그러면, 리더는 두 번째 질의에 포함된 비트 스트링('0')에 비트 '0' 및 비트 '1'을 추가하여 질의 스트링 '00' 및 질의 스트링 '01'을 생성하고 이를 질의 큐에 삽입한다. 따라서, 질의-큐의 상태는 {1, 00, 01}이 된다.In the second query-response phase, the leader extracts the bit string '0' from the query-queue and queries the surrounding tags. Then, a collision occurs because Tag1 (tag ID: 0 010), Tag3 (tag ID: 0 011), and Tag4 (tag ID: 0 101) having a tag ID starting with bit '0' are responded. Then, the leader adds bit '0' and bit '1' to the bit string ('0') included in the second query to generate query string '00' and query string '01' and inserts it into the query queue . Thus, the state of the query-queue is {1, 00, 01}.
세 번째 질의-응답 단계에서, 리더는 질의-큐에서, 비트 스트링 '1'을 추출하고 주변 태그에게 질의한다. 그러면, 비트 '1'으로 시작하는 태그 ID를 가지는 Tag2(태그 ID: 1101), Tag5(태그 ID: 1010)가 응답하므로 충돌이 발생한다. 그러면, 리더는 세 번째 질의에 포함된 비트 스트링('1')에 비트 '0' 및 비트 '1'을 추가하여 질의 스트링 '10' 및 질의 스트링 '11'을 생성하고 이를 질의 큐에 삽입한다. 따라서, 질의-큐의 상태는 {00, 01, 10, 11}이 된다.In the third query-response phase, the leader extracts the bit string '1' from the query-queue and queries the surrounding tags. Then, Tag2 having the tag ID beginning with bit "1" (tag ID: 1 101), Tag5 (tag ID: 1 010), so the response to a crash occurs. Then, the leader adds bit '0' and bit '1' to the bit string ('1') included in the third query to generate query string '10' and query string '11' and inserts it into the query queue . Thus, the state of the query-queue is {00, 01, 10, 11}.
네 번째 질의-응답 단계에서, 리더는 질의-큐에서, 비트 스트링 '00'을 추출하고 주변 태그에게 질의한다. 그러면, 비트 '00'으로 시작하는 태그 ID를 가지는 Tag1(태그 ID: 0010), Tag3(태그 ID: 0011)가 응답하므로 충돌이 발생한다. 그러면, 리더는 네 번째 질의에 포함된 비트 스트링('00')에 비트 '0' 및 비트 '1'을 추가하여 질의 스트링 '000' 및 질의 스트링 '001'을 생성하고 이를 질의 큐에 삽입한다. 따라서, 질의-큐의 상태는 {01, 10, 11, 000, 001}이 된다.In the fourth query-response phase, the leader extracts the bit string '00' from the query-queue and queries the surrounding tags. Then, Tag1 having the tag ID beginning with bit "00" (tag ID: 00 10), Tag3 (tag ID: 00 11), so the response to a crash occurs. Then, the leader adds bit '0' and bit '1' to the bit string ('00') included in the fourth query to generate query string '000' and query string '001' and inserts it into the query queue . Thus, the state of the query-queue is {01, 10, 11, 000, 001}.
다섯 번째 질의-응답 단계에서, 리더는 질의-큐에서, 비트 스트링 '01'을 추출하고 주변 태그에게 질의한다. 그러면, 비트 '01'으로 시작하는 태그 ID를 가지는 Tag4(태그 ID: 0101)만이 응답하므로 리더는 Tag4를 식별할 수 있다.In the fifth query-response phase, the leader extracts the bit string '01' from the query-queue and queries the surrounding tags. Then, only the tag 4 (tag ID: 0101) having the tag ID starting with the bit '01' responds, so that the reader can identify Tag4.
한편, 여덟 번째 질의-응답 단계에서, 리더는 질의 큐에서 질의 스트링 '000'을 추출하여 주변 태그에게 질의한다. 하지만, 질의 스트링 '000'으로 시작하는 태그ID를 가지는 태그가 존재하지 않으므로 이 질의-응답 단계는 유휴노드로 구분될 수 있다.On the other hand, in the eighth query-response step, the leader extracts the query string '000' from the query queue and queries the surrounding tags. However, since there is no tag having a tag ID starting with the query string '000', this query-response step can be classified as an idle node.
리더와 태그는 이러한 방식으로 질의-큐에 더 이상 질의 스트링이 존재하지 않을 때까지 질의-응답을 반복하게 된다.In this way, the reader and the tag will repeat the query-response until there is no more query string in the query-queue.
상술한 질의 트리 방식은 리더의 전송범위 내에 존재하는 모든 태그들의 식별을 보장하지만, 한 번에 하나의 비트만 식별할 수 있고, 응답 메시지가 충돌한 경우에 충돌한 태그들의 정보를 확인할 수 없기 때문에 불필요한 질의-응답 과정인 유휴 노드가 추가되며, 비슷한 태그 ID를 갖는 태그들이 많을 경우 충돌이 많이 발생하여 트리가 깊어지게 되므로 모든 태그를 식별하는데 까지 걸리는 시간이 길어지는 단점이 있다.Although the above-described query tree method ensures identification of all the tags existing in the transmission range of the reader, only one bit can be identified at a time, and when the response message collides, information of the collided tags can not be confirmed An idle node, which is an unnecessary query-response process, is added. When there are many tags having similar tag IDs, many collisions occur and the tree is deepened, so that it takes a long time to identify all the tags.
본 발명이 해결하고자 하는 기술적 과제는 유사한 태그 ID를 가진 태그가 모여 있는 환경에서 태그를 식별할 때 불필요한 질의-응답이 너무 많이 발생하여 비효율적으로 동작하는 종래의 트리 기반 방식의 인식 과정을 개선하기 위하여, 다중 비트 인식, 태그 ID 간의 충돌 정보, 예측 기법 등을 이용하여 신속하게 RFID 태그를 인식할 수 있도록 하는 RFID 태그, RFID 태그 리더, 이들을 포함하는 RFID 태그 인식 시스템을 제공하는 것이다.
SUMMARY OF THE INVENTION It is an object of the present invention to improve the recognition process of a conventional tree-based method in which unnecessary query-response is generated too much when tags are identified in an environment where tags having similar tag IDs are collected, An RFID tag reader, and an RFID tag recognition system including the multi-bit recognition, the collision information between the tag IDs, and the prediction method, so that the RFID tag can be recognized quickly.
본 발명의 일 측면에 따르면, M차 질의 트리(M-ary query tree; 여기서, M은 m2이며, m은 2 이상의 정수)를 이용하는 RFID 태그 인식 시스템으로서, RFID 태그 리더, 및 적어도 하나의 RFID 태그를 포함하며, 상기 RFID 태그는, 상기 RFID 태그 리더가 브로드캐스팅 하는 질의 비트 스트링을 수신하는 단계, 상기 질의 비트 스트링이 상기 RFID의 태그 ID의 프리픽스(prefix)와 일치하는 경우, 하기 [수식 1]에 의해 상기 RFID의 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 M 비트의 변환 코드로 변환하고, 변환된 상기 M 비트의 변환 코드, 및 상기 RFID의 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성하는 단계 및 생성된 상기 응답을 상기 RFID 태그 리더로 전송하는 단계를 수행하며, RFID 태그 리더는, (a) 비트 스트링을 저장할 수 있는 소정의 자료구조에 널(null) 비트 스트링을 추가하는 단계, (b) 상기 자료구조가 비어 있는 경우 태그 인식을 종료하는 단계, (c) 상기 자료구조가 비어 있지 않은 경우 상기 자료구조에서 하나의 비트 스트링을 추출하고, 추출된 비트 스트링을 질의 비트 스트링으로 설정하는 단계, (d) 설정된 상기 질의 비트 스트링을 브로드캐스팅하는 단계, (e) 상기 질의 비트 스트링을 수신한 상기 적어도 하나의 RFID 태그 중 적어도 일부로부터 전송되는 응답을 수신하는 단계, (f) 상기 응답에서 발생한 충돌 비트를 판단하는 단계, (g) 상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하는 단계, (h) 상기 응답에서 충돌 비트가 발생한 경우, 충돌처리단계를 수행하는 단계 및 (i) 상기 (b) 단계 내지 상기 (h) 단계를 반복 수행하는 단계를 수행하되, 상기 충돌처리단계는, (h-1) 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 하기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 하기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계 및 (h-2) 상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않는 경우, 상기 M비트의 변환 코드를 하기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환하고, 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계를 포함하는 충돌처리단계를 수행하는 단계를 포함하는 RFID 태그 인식 시스템이 제공된다.According to an aspect of the present invention, there is provided an RFID tag recognition system using an M-ary query tree (where M is m 2 and m is an integer of 2 or more) Wherein the RFID tag comprises: receiving a query bit string broadcasted by the RFID tag reader; when the query bit string matches a prefix of a tag ID of the RFID, ] Transforms the subsequent m-bit string of the prefix among the tag IDs of the RFID into an M-bit conversion code, converts the converted M-bit conversion code, and the tag ID of the RFID and the subsequent m Generating a response including bits other than the bit string, and transmitting the generated response to the RFID tag reader, wherein the RFID tag reader comprises: (a) Adding a null bit string to a predetermined data structure capable of storing a string, (b) ending tag recognition if the data structure is empty, (c) if the data structure is not empty, (A) extracting a bit string from the data structure and setting the extracted bit string as a query bit string, (b) broadcasting the set query bit string, (e) Receiving a response transmitted from at least a portion of one RFID tag; (f) determining a collision bit occurring in the response; (g) if the collision bit is not generated in the response, (H) performing a collision processing step when a collision bit is generated in the response, and (i) (H-1) if the collision bit is present in the M-bit conversion code among the bit strings included in the response, performing the collision processing step (h) An M-bit collision code corresponding to each collision bit in the M-bit conversion code is calculated by the following equation (2), and each of the calculated M-bit collision codes is represented by the following equation (H-2) adding the generated query bit string to the data structure; and (h-2) adding the generated query bit string to the data structure by combining the query bit string and the collision string of each m- If the bit does not exist in the M-bit conversion code, the M-bit conversion code is inversely transformed into an m-bit inverse transformed string by the following equation (1) And generating a subsequent query bit string including the converted m-bit inverted string and adding the generated subsequent query bit string to the data structure. / RTI >
[수식 1]
[Equation 1]
(여기서, S는 m 비트 스트링, C는 S에 상응하는 M 비트의 변환 코드(여기서, M=2m), dec(S)는 S를 십진수로 변환한 값임)(Where S is an m bit string, C is an M-bit conversion code (where M = 2 m ), and dec (S) is a value obtained by converting S into a decimal number)
[수식 2]
[Equation 2]
(여기서, b는 충돌 비트, P는 M 비트의 변환 코드, pos(P, b)는 M 비트의 변환 코드 P 내에서의 충돌 비트 b의 위치, C는 충돌 비트 b에 상응하는 M 비트의 충돌 코드임)Where b is the collision bit, P is the transform code of M bits, pos (P, b) is the position of the collision bit b in the transform code P of M bits, C is the collision bit of M bits corresponding to the collision bit b, Code)
일 실시예에서, 상기 (h-2) 단계는, 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k개(여기서, k는 1 이상의 정수) 이상이고, m×(k+1)-1개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링, 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합하여 후속 질의 비트 스트링을 생성하는 단계를 포함할 수 있다.In one embodiment, the step (h-2) may further comprise the step of, when the number of bits from immediately next bit of the M-bit conversion code to immediately before the first collision bit among the bit strings included in the response is mxk ( Where k is an integer equal to or greater than 1 and equal to or less than m x (k + 1) -1, the query bit string, the inverse transformed m-bit inverse transformed string, Lt; RTI ID = 0.0 > mxk < / RTI >
일 실시예에서, 상기 (h-2) 단계는, 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k+1개(여기서, k는 0 이상의 정수) 이상이고, m×(k+1)개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링과, 상기 응답에 포함된 비트 스트링 중 M+m×k+1 번째부터 M+m×(k+1) 번째까지의 비트로 구성되는 부가 스트링에서 상기 부가 스트링에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입하여 구성되는 비트 스트링을 각각 결합하여 후속 질의 비트 스트링을 생성하는 단계를 포함할 수 있다.In one embodiment, the step (h-2) may further include a step of, when the number of bits from immediately next bit of the M-bit conversion code to immediately before the first collision bit among the bit strings included in the response is mxk + 1 (K + 1) or less of the bit string included in the response and the inverse transformed string of the inverse m transformed bit string, (M + k) th bit to (m + m) th (k + 1) th bit among the bit strings included in the response, And combining the bit strings constituted by substituting bits '0' and bit '1' into the respective collision bits included in the additional string in the additional string, respectively, to generate a subsequent query bit string.
일 실시예에서, 상기 충돌처리단계는, 상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각에 상응하는 m 비트의 충돌 스트링을 상기 [수식 1]에 의해 산출하고, 상기 질의 비트 스트링과 산출된 각각의 m 비트의 충돌 스트링을 결합하여 상기 응답을 전송한 각각의 RFID 태그의 태그 ID를 산출하고, 산출된 태그 ID를 통해 상기 응답을 전송한 각각의 RFID 태그를 인식하는 단계를 더 포함하되, 상기 RFID 태그 리더는, 상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우에는 상기 (h-1) 및 상기 (h-2) 단계를 수행하지 않을 수 있다.In one embodiment, the collision processing step may be configured so that, when the length of the bit string included in the response is M or less, an M-bit collision code corresponding to each collision bit in the M- And calculates a collision string of m bits corresponding to each of the calculated collision codes of M bits according to the
본 발명의 다른 일 측면에 따르면, M차 질의 트리(여기서, M은 m2이며, m은 2 이상의 정수)를 이용하는 RFID 태그로서, 상기 RFID 태그 리더가 브로드캐스팅 하는 질의 비트 스트링을 수신하는 질의수신모듈, 상기 질의 비트 스트링이 상기 RFID의 태그 ID의 프리픽스와 일치하는 경우, 상기 [수식 1]에 의해 상기 RFID의 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 M 비트의 변환 코드로 변환하고, 변환된 상기 M 비트의 변환 코드, 및 상기 RFID의 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성하는 응답생성모듈 및 생성된 상기 응답을 상기 RFID 태그 리더로 전송하는 응답전송모듈을 포함하는 RFID 태그가 제공된다.According to another aspect of the present invention, there is provided an RFID tag using an M-th order query tree (where M is m 2 and m is an integer of 2 or more), wherein the RFID tag includes a query reception Module converts a subsequent m-bit string of the RFID tag ID of the RFID into an M-bit conversion code when the query bit string matches the prefix of the tag ID of the RFID, A response generation module for generating a response including the M-bit conversion code and the remaining m-bit string of the RFID tag ID and the subsequent m-bit string of the prefix, and a response generation module for generating the response to the RFID tag reader And a response transmission module for transmitting the RFID tag.
본 발명의 다른 일 측면에 따르면, M차 질의 트리(여기서, 여기서, M은 m2이며, m은 2 이상의 정수)를 이용하는 RFID 태그 리더로서, 비트 스트링을 저장할 수 있는 소정의 자료구조에 널 비트 스트링을 추가하는 초기화모듈, 상기 자료구조가 비어 있는 경우 태그 인식을 종료하는 종료단계를 수행하는 종료모듈, 상기 자료구조가 비어 있지 않은 경우 상기 자료구조에서 하나의 비트 스트링을 추출하고, 추출된 비트 스트링을 질의 비트 스트링으로 설정하는 설정단계를 수행하는 설정모듈, 설정된 상기 질의 비트 스트링을 브로드캐스팅하는 질의전송단계를 수행하는 질의전송모듈, 상기 질의 비트 스트링을 수신한 상기 적어도 하나의 RFID 태그 중 적어도 일부로부터 전송되는 응답을 수신하는 응답수신단계를 수행하는 응답수신모듈, 상기 응답에서 발생한 충돌 비트를 판단하는 충돌비트판단단계를 수행하는 충돌비트판단모듈, 상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하는 인식모듈, 상기 응답에서 충돌 비트가 발생한 경우, 충돌처리단계를 수행하는 충돌처리모듈 및 상기 종료모듈, 상기 설정모듈, 상기 질의전송모듈, 상기 응답수신모듈, 상기 충돌비트판단모듈, 상기 인식모듈 및 상기 충돌처리모듈이, 각각 상기 종료단계, 상기 설정단계, 상기 질의전송단계, 상기 응답수신단계, 상기 충돌비트판단단계, 상기 인식단계 및 상기 충돌처리단계를 반복 수행하도록 제어하는 제어모듈을 포함하되, 상기 충돌처리모듈은, 상기 충돌처리단계를 수행하기 위하여, 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 상기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 제1후속질의생성모듈 및 상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않는 경우, 상기 M비트의 변환 코드를 상기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환하고, 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 제2후속질의생성모듈 포함하는 RFID 태그 리더가 제공된다.According to another aspect of the present invention, there is provided an RFID tag reader using an M-th order query tree (where M is m 2 and m is an integer of 2 or more) An end module for performing an end step of ending tag recognition when the data structure is empty; a bit string extracting part for extracting a bit string from the data structure when the data structure is not empty; A setting module for setting a string as a query bit string, a query transmission module for performing a query transmission step of broadcasting the set query bit string set therein, and at least one of the at least one RFID tag receiving the query bit string A response reception module for performing a response reception step of receiving a response transmitted from the part, A collision bit determination module for performing a collision bit determination step of determining a collision bit, a recognition module for recognizing an RFID tag that transmitted the response based on the response when a collision bit is not generated in the response, A collision processing module for performing a collision processing step when the collision bit occurs, and a collision processing module for colliding the end module, the setting module, the inquiry transmission module, the response reception module, the collision bit determination module, And a control module for controlling to repeatedly execute the end step, the setting step, the query transmission step, the response reception step, the collision bit determination step, the recognition step, and the collision processing step, , And in order to perform the collision processing step, the collision bit is included in the M-bit transform code of the bit string included in the response If there is an M-bit collision code corresponding to each collision bit in the M-bit conversion code by the above-mentioned [Expression 2], and calculates each of the calculated M-bit collision codes by m A first subsequent query to combine the query bit string and each of the m-bit collision strings inverted to produce a subsequent query bit string, and to add the generated subsequent query bit string to the data structure And if the collision bit does not exist in the M-bit conversion code, inversely transforms the M-bit conversion code into an m-bit inverse transformed string according to [Expression 1], and outputs the query bit string and the inverse- generating a subsequent query bit string including an m-bit inverted string, and adding the generated subsequent query bit string to the data structure 2 is the RFID tag reader is provided comprising a subsequent query generation module.
일 실시예에서, 상기 제2후속질의생성모듈은, 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k개(여기서, k는 1 이상의 정수) 이상이고, m×(k+1)-1개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링, 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합하여 후속 질의 비트 스트링을 생성할 수 있다.In one embodiment, the second succeeding query generation module may be configured so that the number of bits from immediately next bit of the M-bit conversion code to immediately before the first collision bit among the bit strings included in the response is mxk ( Where k is an integer equal to or greater than 1 and equal to or less than m x (k + 1) -1, the query bit string, the inverse transformed m-bit inverse transformed string, Lt; RTI ID = 0.0 > mxk < / RTI >
일 실시예에서, 상기 제2후속질의생성모듈은, 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k+1개(여기서, k는 0 이상의 정수) 이상이고, m×(k+1)개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링과, 상기 응답에 포함된 비트 스트링 중 M+m×k+1 번째부터 M+m×(k+1) 번째까지의 비트로 구성되는 부가 스트링에서 상기 부가 스트링에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입하여 구성되는 비트 스트링을 각각 결합하여 후속 질의 비트 스트링을 생성할 수 있다.In one embodiment, the second subsequent query generation module may be configured such that the number of bits from the immediately following bit of the M-bit conversion code to the immediately preceding impulse bit among the bit strings included in the response is mxk + 1 (K + 1) or less of the bit string included in the response and the inverse transformed string of the inverse m transformed bit string, (M + k) th bit to (m + m) th (k + 1) th bit among the bit strings included in the response, It is possible to combine the bit strings constituted by substituting bits '0' and bit '1' into the respective collision bits included in the additional string in the additional string to generate a subsequent query bit string.
일 실시예에서, 상기 충돌처리모듈은, 상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각에 상응하는 m 비트의 충돌 스트링을 상기 [수식 1]에 의해 산출하고, 상기 질의 비트 스트링과 산출된 각각의 m 비트의 충돌 스트링을 결합하여 상기 응답을 전송한 각각의 RFID 태그의 태그 ID를 산출하고, 산출된 n 개의 태그 ID를 통해 상기 응답을 전송한 각각의 RFID 태그를 인식하는 예측모듈을 더 포함할 수 있다.In one embodiment, the collision processing module may set the M-bit collision code corresponding to each collision bit in the M-bit conversion code to the [Equation 2] if the length of the bit string included in the response is M or less And calculates a collision string of m bits corresponding to each of the calculated collision codes of M bits according to the
본 발명의 다른 일 측면에 따르면, M차 질의 트리(여기서, M은 m2이며, m은 2 이상의 정수)를 이용하는 RFID 태그 제공방법으로서, 상기 RFID 태그가, 소정의 RFID 태그 리더로부터 브로드캐스팅되는 질의 비트 스트링을 수신하는 단계, 상기 RFID 태그가, 상기 질의 비트 스트링이 상기 RFID의 태그 ID의 프리픽스와 일치하는 경우, 상기 [수식 1]에 의해 상기 RFID의 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 M 비트의 변환 코드로 변환하고, 변환된 상기 M 비트의 변환 코드, 및 상기 RFID의 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성하는 단계 및 상기 RFID 태그가, 생성된 상기 응답을 상기 RFID 태그 리더로 전송하는 단계를 포함하는 RFID 태그 제공방법이 제공된다.According to another aspect of the present invention, there is provided an RFID tag providing method using an M-th order query tree (where M is m 2 and m is an integer of 2 or more), wherein the RFID tag is broadcasted from a predetermined RFID tag reader The method comprising: receiving a query bit string; if the query bit string matches a prefix of a tag ID of the RFID, receiving a subsequent m bit string of the prefix among the tag ID of the RFID by the [Equation 1] Generating a response including the converted M-bit conversion code and the remaining ones of the tag IDs of the RFID except for the prefix and the subsequent m-bit string of the prefix; and And transmitting the generated response to the RFID tag reader.
본 발명의 다른 일 측면에 따르면, M차 질의 트리(여기서, M은 m2이며, m은 2 이상의 정수)를 이용하는 RFID 태그 리더 제공방법으로서, (a) 상기 RFID 태그 리더가, 비트 스트링을 저장할 수 있는 소정의 자료구조에 널 비트 스트링을 추가하는 단계, (b) 상기 RFID 태그 리더가, 상기 자료구조가 비어 있는 경우 태그 인식을 종료하는 단계, (c) 상기 RFID 태그 리더가, 상기 자료구조가 비어 있지 않은 경우 상기 자료구조에서 하나의 비트 스트링을 추출하고, 추출된 비트 스트링을 질의 비트 스트링으로 설정하는 단계, (d) 상기 RFID 태그 리더가, 설정된 상기 질의 비트 스트링을 브로드캐스팅하는 단계, (e) 상기 질의 비트 스트링을 수신한 상기 적어도 하나의 RFID 태그 중 적어도 일부로부터 전송되는 응답을 수신하는 단계, (f) 상기 응답에서 발생한 충돌 비트를 판단하는 단계, (g) 상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하는 단계, (h) 상기 응답에서 충돌 비트가 발생한 경우, 충돌처리단계를 수행하는 단계 및 (i) 상기 RFID 태그 리더가, 상기 (b) 단계 내지 상기 (h) 단계를 반복 수행하는 단계를 포함하되, 상기 충돌처리단계는, (h-1) 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 상기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 n 개의 후속 질의 비트 스트링을 생성하고, 생성된 n 개의 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계 및 (h-2) 상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않는 경우, 상기 M비트의 변환 코드를 상기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환하고, 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계를 포함하는 RFID 태그 리더 제공방법이 제공된다.According to another aspect of the present invention, there is provided a method of providing an RFID tag reader using an M-th order query tree (where M is m 2 and m is an integer of 2 or more), the method comprising the steps of: (a) (B) terminating the tag recognition if the data structure is empty, (c) ending the tag identification if the data structure is empty, (c) Extracting one bit string from the data structure and setting the extracted bit string as a query bit string, broadcasting the query bit string set by the RFID tag reader, (e) receiving a response sent from at least a portion of the at least one RFID tag that received the query bit string; (f) (H) recognizing the RFID tag that transmitted the response based on the response if the collision bit is not generated in the response, (h) if a collision bit has occurred in the response, (I) the RFID tag reader repeatedly performing the steps (b) to (h), wherein the collision processing step comprises: (h-1) The M-bit collision code corresponding to each collision bit in the M-bit conversion code is calculated by the above-mentioned [Expression 2], and if the calculated M-bit collision code is included in the M- In accordance with Equation (1), combines the query bit string with the collision string of each m bit reversed in order to generate n subsequent query bit strings, And (h-2) if the collision bit is not present in the M-bit conversion code, converting the M-bit conversion code into the [1] To an inverse transformed string of m bits and generating a subsequent query bit string including the query bit string and the inverse transformed m inverse transformed string, and adding the generated subsequent query bit string to the data structure A method of providing an RFID tag reader including the RFID tag reader is provided.
본 발명의 다른 일 측면에 따르면, 상술한 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체가 제공된다.
According to another aspect of the present invention, there is provided a computer-readable recording medium on which a program for performing the above-described method is recorded.
본 발명의 일 실시예에 따르면, 다중 비트 인식, 태그 ID 간의 충돌 정보, 예측 기법 등을 이용함으로써, 유사한 태그 ID를 가진 태그가 모여 있는 환경에서 태그를 식별할 때 불필요한 질의-응답이 너무 많이 발생하여 비효율적으로 동작하는 종래의 트리 기반 방식에 비하여 신속하게 RFID 태그를 인식할 수 있는 효과가 있다.
According to an embodiment of the present invention, by using multi-bit recognition, collision information between tag IDs, prediction techniques, etc., unnecessary query-responses are generated too much when identifying tags in an environment where tags having similar tag IDs are gathered The RFID tag can be recognized quickly as compared with the conventional tree-based method which operates inefficiently.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 질의 트리 방식에 의해 RFID 태그를 식별하는 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 RFID 태그 인식 시스템의 대략적인 구성을 설명하기 위한 블록도이다.
도 3a는 본 발명의 일 실시예에 따른 RFID 태그 인식 시스템에서 이용하는 m비트-M비트 변환 테이블을 나타내는 도면이며, 도 3b는 2비트-4비트 변환 테이블을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 RFID 태그에서 수행되는 과정을 설명하기 위한 흐름도이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 RFID 태그 리더에서 수행되는 과정을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 RFID 태그의 구성을 나타내는 도면이다.
도 7a 내지 도 7b는 본 발명의 일 실시예에 따른 RFID 태그 리더의 구성을 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 RFID 태그 리더가 여러 개의 주변 태그를 인식하는 일련의 과정을 설명하기 위한 도면이다.BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a diagram for explaining a method of identifying an RFID tag by a conventional query tree method.
2 is a block diagram illustrating a schematic configuration of an RFID tag recognition system according to an embodiment of the present invention.
FIG. 3A is a diagram illustrating an m-bit-M bit conversion table used in an RFID tag recognition system according to an embodiment of the present invention, and FIG. 3B is a diagram illustrating a 2-bit-4 bit conversion table.
4 is a flowchart illustrating a process performed in an RFID tag according to an embodiment of the present invention.
5A to 5C are flowcharts illustrating a process performed by an RFID tag reader according to an exemplary embodiment of the present invention.
6 is a diagram illustrating the configuration of an RFID tag according to an embodiment of the present invention.
FIGS. 7A and 7B are views showing the configuration of an RFID tag reader according to an embodiment of the present invention.
FIG. 8 is a diagram for explaining a series of processes in which an RFID tag reader recognizes a plurality of peripheral tags according to an embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.Also, in this specification, when any one element 'transmits' data to another element, the element may transmit the data directly to the other element, or may be transmitted through at least one other element And may transmit the data to the other component. Conversely, when one element 'directly transmits' data to another element, it means that the data is transmitted to the other element without passing through another element in the element.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail with reference to the embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.
도 2는 본 발명의 일 실시예에 따른 M차 질의 트리(M-ary query tree; 여기서, M은 m2이며, m은 2 이상의 정수)를 이용하는 RFID 태그 인식 시스템(이하, '태그 인식 시스템' 이라고 함)의 대략적인 구성을 설명하기 위한 블록도이다.2 is a block diagram of an RFID tag recognition system (hereinafter referred to as a " tag recognition system ") using an M-ary query tree (where M is m 2 and m is an integer of 2 or more) according to an embodiment of the present invention. (Hereinafter, referred to as " a ").
도 2를 참조하면, 상기 태그 인식 시스템(10)은 RFID 리더(100; 이하, '리더'라고 함) 및 적어도 하나의 RFID 태그(200-1 내지 200-n; 이하, '태그'라고 함)를 포함할 수 있다. 각각의 태그(200-1 내지 200-n)에는 고유한 태그 ID가 부여되어 있을 수 있으며, 각 태그 ID는 특정한 길이의 비트 스트링의 형태일 수 있다.2, the
상기 리더(100)는 주변의 태그에게 질의를 전송할 수 있다. 상기 리더(100)는 브로드캐스팅 방식의 전파를 통해 질의를 전송할 수 있다. 한편, 상기 리더(100)가 전송하는 질의에는 소정의 비트 스트링(질의 비트 스트링)이 포함될 수 있다.The
상기 태그(200-1 내지 200-n)는 상기 리더(100)의 전파의 범위 내에 위치한 경우, 수신한 질의에 상응하는 응답을 상기 리더(100)로 전송할 수 있다. 한편, 리더(100)로부터 질의를 수신한 모든 태그가 상기 리더(100)에게 응답하는 것은 아니며, 수신한 질의 내에 포함되어 있는 질의 비트 스트링과 자신의 태그 ID를 비교하여, 자신의 태그 ID의 앞 부분과 상기 질의 스트링이 일치하는 경우에 응답을 전송할 수 있다.When the tags 200-1 to 200-n are located within the range of the radio wave of the
한편, 상기 각 태그(200-1 내지 200-1) 및 리더(100)는 본 발명의 기술적 사상에 따른 M차 질의 트리(M-ary query tree; 여기서, M은 m2이며, m은 2 이상의 정수)를 이용하는 RFID 태그 인식 방법을 수행할 수 있다.Each of the tags 200-1 to 200-1 and the
본 발명의 기술적 사상에 따른 M차 질의 트리를 이용하는 RFID 태그 인식 방법에서는 m 비트의 스트링(S)를 그에 상응하는 M 비트의 변환 코드(C)로 변환하는 소정의 변환 함수가 이용될 수 있다. 상기 변환 함수는 하기 [수식 1]과 같은 형태일 수 있다.In the RFID tag recognition method using an M-th order query tree according to the technical idea of the present invention, a predetermined conversion function for converting an m-bit string S into an M-bit conversion code C corresponding thereto can be used. The transform function may be of the form [Equation 1].
[수식 1]
[Equation 1]
(S는 m 비트 스트링, C는 S에 상응하는 M 비트의 변환 코드, dec(S)는 S를 십진수로 변환한 값임)(S is an m-bit string, C is an M-bit conversion code corresponding to S, and dec (S) is a value obtained by converting S to decimal)
상기 [수식 1]에 의한 변환 관계는 소정의 변환 테이블로 나타낼 수 있다.The conversion relation according to the above [Expression 1] can be represented by a predetermined conversion table.
도 3a는 일반화된 변환 테이블을 나타내며, 도 3b는 m이 2인 경우의 변환 테이블을 나타낸다. 도 3a 및 도 3b에 도시된 바와 같이, 상기 [수식 1]을 통하여 m 비트의 스트링 S를 M 비트의 변환코드 C로 변환하는 경우, S의 값(dec(S))+1에 해당하는 C 상의 위치의 비트만이 '1'이며, C의 나머지 비트는 모두 '0'이 된다.Fig. 3A shows a generalized conversion table, and Fig. 3B shows a conversion table when m is 2. 3A and 3B, when converting the string S of m bits into the conversion code C of M bits through the above-mentioned [Expression 1], C (dec (S)) + And the remaining bits of C are all " 0 ".
한편, 상기 [수식 1]에 의해 M 비트의 변환 코드를 그에 상응하는 m 비트의 비트 스트링으로 역변환할 수도 있음을 본 발명의 속하는 분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다.On the other hand, it will be easily understood by those skilled in the art that the M-bit transform code can be inversely transformed into the m-bit bit string corresponding to Equation (1).
도 4는 태그(200-1 내지 200-n)에서 수행되는 과정을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating a process performed by the tags 200-1 through 200-n.
도 4를 참조하면, 상기 태그(200)는 리더(100)가 브로드캐스팅하는 질의의 수신을 대기할 수 있으며(S100), 리더가 질의를 브로드캐스팅하는 경우, 상기 질의에 포함된 비트 스트링을 수신할 수 있다(S110).Referring to FIG. 4, the
상기 태그(200)는 수신한 질의 비트 스트링이 자신의 태그 ID의 프리픽스(즉, 태그 ID의 앞 부분)와 일치하는지 여부를 판단하고(S120), 일치하지 않는 경우, 다시 수신 대기 상태로 진입할 수 있다.The
만약 수신한 질의 비트 스트링이 자신의 태그 ID의 프리픽스와 일치하는 경우, 상기 태그(200)는 자신의 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 상기 [수식 1]에 의하여 M 비트의 변환 코드로 변환할 수 있다(S130). 예를 들어, m이 2이고, 상기 태그(200)의 태그 ID가 '00 10 01 11'이고, 질의 비트 스트링이 '00'인 경우, 상기 태그(200)는 프리픽스인 '00'의 후속 2비트인 ' 10 '을 변환코드 '0100'으로 변환할 수 있다.If the received query bit string matches the prefix of its tag ID, the
또한, 상기 태그(200)는 변환된 M 비트의 변환 코드, 및 상기 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성할 수 있다(S140). 위의 예에서, 변환된 M 비트의 변환 코드는 '0100'이며, 상기 태그 ID('00 10 01 11') 중 상기 프리픽스('00')와 상기 프리픽스의 후속 m 비트 스트링(' 10 ')을 제외한 나머지 비트는 '01 10'이므로 상기 태그가 생성하는 응답에는 비트 스트링 '0100 01 10'이 포함될 수 있다.In addition, the
상기 태그(200)는 생성된 응답을 상기 리더(100)로 전송할 수 있다(S150).The
도 5a 내지 도 5c는 리더(100)에서 수행되는 과정을 설명하기 위한 흐름도이다.FIGS. 5A through 5C are flowcharts for explaining a process performed by the
먼저 도 5a를 참조하면, 상기 리더(100)가 태그 인식을 시작하면, 상기 태그(100)는 비트 스트링을 저장할 수 있는 소정의 자료구조에 널 스트링(ε)을 추가할 수 있다(S200, S210).Referring to FIG. 5A, when the
상기 자료구조는 예를 들어, 스택(stack)이나 큐(queue)일 수 있다. 이하에서는 상기 자료구조가 큐로 구현된 예에 대하여 설명하지만, 후술하는 내용이 공지된 다양한 자료구조에 동일하게 적용될 수 있음은 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다.The data structure may be, for example, a stack or a queue. Hereinafter, an example in which the data structure is implemented as a queue will be described, but it will be easily understood by those skilled in the art that the following description can be applied to various known data structures in the same way .
한편, 상기 리더(100)는 질의-큐(Q)가 비어 있는지 여부를 판단할 수 있다(S220). 만약, 질의-큐(Q)가 비어 있다면, 상기 리더(100)는 태그 인식 과정을 종료할 수 있다(S230).Meanwhile, the
만약 질의-큐(Q)가 비어 있지 않은 상태라면, 상기 리더(100)는 질의-큐(Q)에서 비트 스트링을 하나 추출하고, 이를 질의 비트 스트링(S)로 설정할 수 있다(S240). 질의-큐에서 비트 스트링 하나가 추출되는 경우 추출된 상기 비트 스트링은 상기 질의-큐에서 제거되며, 이는 다른 자료구조의 경우에서도 마찬가지일 수 있다.If the query-queue Q is not empty, the
한편, 상기 리더(100)는 질의 비트 스트링(S)를 브로드캐스팅할 수 있으며(S250), 상기 질의 비트 스트링(S)을 수신한 주변의 태그(예를 들어, 200-1 내지 200-n) 중 적어도 일부로부터 전송되는 응답을 수신할 수 있다(S260). 도 4를 참조하여 상술한 바와 같이, 상기 질의 비트 스트링(S)이 자신의 태그 ID의 프리픽스와 일치하는 태그만이 질의에 응답할 수 있다.Meanwhile, the
상기 리더(100)는 수신한 응답에서 발생한 충돌 비트를 판단할 수 있다(S270).The
상기 리더(100)의 질의에 2 이상의 태그가 응답한 경우, 각 태그의 태그 ID는 모두 고유한 값을 가지므로 각 응답에 포함된 비트 스트링 중 특정 위치의 비트 스트링은 0 또는 1의 값을 가질 수 있는데, 이 경우, 상기 특정 위치의 비트가 충돌 비트일 수 있다. 달리 표현하면, 상기 리더(100)의 질의에 대한 각 태그의 응답에 포함된 비트 스트링에서 특정 위치의 비트가 모두 '0' 비트 또는 '1' 비트가 아닌 경우, 해당 위치의 비트는 충돌 비트일 수 있다.When two or more tags respond to the query of the
예를 들어, 상기 리더(100)의 질의에 대하여, 3 개의 태그가 '001010', '010010', '001011'로 응답한 경우, 2번 비트, 3번 비트, 및 6번 비트에서 충돌이 발생한다. 만약 충돌 비트를 ?로 표시하기로 한다면, 위의 예에서, 상기 리더(100)는 각 태그의 응답으로부터 충돌 비트가 포함된 응답정보인 '0??01?'을 판단할 수 있다.For example, when three tags respond to the query of the
한편, 질의에 대해 응답한 태그가 하나인 경우에는 충돌 비트가 발생하지 않게 되므로, 상기 리더(100)는 상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하고(S290), S220 단계부터 상술한 과정을 반복 수행할 수 있다.On the other hand, if there is only one tag that responds to the inquiry, the collision bit is not generated. Therefore, if the collision bit is not generated in the response, the
만약, 상기 응답에서 충돌 비트가 발생한 경우, 상기 리더(100)는 후술하는 바와 같은 충돌처리단계를 수행할 수 있으며(S300), 이후 S220 단계부터 상술한 과정을 반복 수행할 수 있다.If a collision bit is generated in the response, the
도 5b는 본 발명의 일 실시예에 따른 충돌처리단계(S300)를 나타내는 흐름도이다.5B is a flowchart illustrating a conflict processing step S300 according to an embodiment of the present invention.
일 실시예에서, 상기 리더(100)는 질의에 대한 태그의 응답에 포함된 비트 스트링의 길이가 M이하인지 여부를 판단하고(S310), M 이하인 경우, 후술하는 예측기법을 수행할 수 있다(S400).In one embodiment, the
만약 질의에 대한 태그의 응답에 포함된 비트 스트링의 길이가 M 보다 큰 경우, 상기 리더(100)는 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는지 여부를 판단할 수 있다(S320).If the length of the bit string included in the response of the tag to the query is greater than M, the
일 실시예에서, 상기 M 비트의 변환 코드는 각 태그의 응답에 포함된 비트 스트링 중 최초의 M 비트일 수 있으며, 이 경우, 상기 리더(100)는 충돌 비트가 각 응답에 포함된 비트 스트링 중 최초의 M 비트 내에 포함되는지 여부에 의해, 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는지 여부를 판단할 수 있다.In one embodiment, the M-bit transform code may be the first M bits of the bit string included in the response of each tag, and in this case, the
만약, 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 리더(100)는 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 산출할 수 있다(S330). 상기 리더(100)는 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 산출하기 위하여, 하기 [수식 2]를 이용할 수 있다.If the collision bit is present in the M-bit conversion code among the bit strings included in the response, the
[수식 2]
[Equation 2]
(b는 충돌 비트, P는 M 비트의 변환 코드, pos(P, b)는 M 비트의 변환 코드 P 내에서의 충돌 비트 b의 위치, C는 충돌 비트 b에 상응하는 M 비트의 충돌 코드임)(b is a collision bit, P is a conversion code of M bits, pos (P, b) is a position of collision bit b in M-bit conversion code P, and C is a collision code of M bits corresponding to collision bit b )
예를 들어, m이 2이고(따라서, M=22=4), 상기 리더(100)가 각 태그의 응답으로부터 충돌 비트가 포함된 응답정보인 '0??01?'을 판단한 경우, M비트 변환 코드(즉, 최초의 4비트) 내에 충돌 비트가 포함되어 있으므로 상기 리더는 상기 리더(100)는 M비트 변환 코드 내의 첫 번째 충돌 비트에 상응하는 충돌 코드로 '0100'을 산출하고, M비트 변환 코드 내의 두 번째 충돌 비트에 상응하는 충돌 코드로 '0010'을 산출할 수 있다.For example, if m is 2 (and thus M = 2 2 = 4) and the
이후 상기 리더(100)는 산출된 M 비트의 충돌 코드 각각을 상술한 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환할 수 있다. 위의 예에서는, 충돌 코드 '0010'에 상응하는 m 비트의 충돌 스트링은 '01'이 되며, 충돌 코드 '0100'에 상응하는 m 비트의 충돌 스트링은 '10'이 된다.Then, the
이후 상기 리더(100)는 상기 질의 비트 스트링(S)과 역변환된 m 비트의 충돌 스트링 각각을 결합하여, 각각의 충돌 스트링에 상응하는 후속 질의 비트 스트링을 생성하고(S350), 생성된 후속 질의 비트 스트링을 상기 질의-큐(Q)에 추가할 수 있다(S360). 위의 예에서, 만약 질의 스트링이 '00'이었다면, 상기 리더(100)는 질의 스트링 '00'에 m 비트의 충돌 스트링 '01'을 결합하여 충돌 스트링 '01'에 상응하는 후속 질의 비트 스트링 '0001'을 생성하고 이를 질의-큐(Q)에 추가할 수 있으며, 또한 질의 스트링 '00'에 m 비트의 충돌 스트링 '10'을 결합하여 충돌 스트링 '10'에 상응하는 후속 질의 비트 스트링 '0010'을 생성하고 이를 질의-큐(Q)에 추가할 수 있다. 이와 같이, 질의-큐(Q)에 추가되는 후속 질의 비트 스트링은 M비트 변환 코드 내에 충돌 비트의 개수와 같을 수 있다.Then, the
한편, 상기 S320 단계에서, 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하지 않는다고 판단한 경우, 상기 리더(100)는 상기 M비트의 변환 코드를 상기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환할 수 있다(S370).On the other hand, if it is determined in step S320 that the collision bit does not exist in the M-bit conversion code among the bit strings included in the response, the
이후, 상기 리더(100)는 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고(S380), 생성된 후속 질의 비트 스트링을 상기 질의-큐(Q)에 추가하 수 있다(S390).The
한편, S380 단계에서, 후속 질의 비트 스트링을 생성하는 방법은 다양할 수 있다.On the other hand, in step S380, the method of generating the subsequent query bit string may vary.
일 실시예에서, 상기 리더(100)는 상기 질의 비트 스트링과 상기 m 비트의 역변환 스트링을 연결하여 하나의 후속 질의 비트 스트링을 생성할 수도 있지만, 질의-응답의 개수를 줄이기 위하여, 맨체스터 코딩이라고 알려진 기법을 이용할 수 있다.In one embodiment, the
맨체스터 코딩 기법을 적용한 일 실시예 따르면, 상기 리더(100)는 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k개(여기서, k는 1 이상의 정수) 이상이고, m×(k+1)-1개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링, 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합하여 후속 질의 비트 스트링을 생성할 수 있다.According to one embodiment of applying the Manchester coding scheme, the
예를 들어, m이 2(따라서, M=22=4)이고, 질의 비트 스트링 '11'에 대한 각 태그의 응답으로부터 상기 리더(100)가 '00100100?1'을 응답정보로 판단한 경우, 충돌 비트는 M 비트의 변환 코드(즉, 가장 앞에 위치한 '0010')내에 존재하지 않으며 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트('0100')의 개수가 m×2개(즉, k=2)이므로, 상기 리더(100)는 질의 비트 스트링 '11', m 비트의 역변환 스트링 '01', 및 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트('0100')를 결합하여, '11010100'을 후속 질의 비트 스트링으로 생성할 수 있다.For example, if m is 2 (and thus M = 2 2 = 4) and the
맨체스터 코딩 기법을 적용한 다른 일 실시예 따르면, 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k+1개(여기서, k는 0 이상의 정수) 이상이고, m×(k+1)개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링과, 상기 응답에 포함된 비트 스트링 중 M+m×k+1 번째부터 M+m×(k+1) 번째까지의 비트로 구성되는 부가 스트링에서 상기 부가 스트링에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입하여 구성되는 비트 스트링을 각각 결합하여 후속 질의 비트 스트링을 생성할 수 있다.According to another embodiment of applying the Manchester coding scheme, the number of bits from the immediately following bit of the M-bit conversion code to the immediately before the first collision bit among the bit strings included in the response is m x k + 1 , k is an integer equal to or greater than 0, and m (k + 1) or less, the inverse transformed string of the m bits and the bit string included in the response, (K + 1) th to M + m x (k + 1) -th bits among the bit strings included in the response, and an additional string consisting of m + And a bit string formed by substituting bits '0' and bit '1' into each collision bit included in the additional string, respectively, to generate a subsequent query bit string.
예를 들어, m이 2(따라서, M=22=4)이고, 질의 비트 스트링 '01'에 대한 각 태그의 응답으로부터 상기 리더(100)가 '01001?'을 응답정보로 판단한 경우, 충돌 비트는 M 비트의 변환 코드(즉, 가장 앞에 위치한 '0100')내에 존재하지 않으며 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트('1')의 개수가 1개(즉, k=0)이므로, 상기 리더(100)는 질의 비트 스트링 '01', m 비트의 역변환 스트링 '10', 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링('')을 결합한 비트 스트링('0110')과 상기 응답에 포함된 비트 스트링 중 M+m×k+1번째(4+1=5번째)부터 M+m×(k+1) 번째(4+2=6)까지의 비트로 구성되는 부가 스트링('1?')에서 상기 부가 스트링('1?')에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입한 비트 스트링 '10' 및 '11'을 각각 결합하여, 두 개의 후속 질의 비트 스트링 '011010' 및 '011011'을 생성할 수 있다.For example, m is 2 (thus, M = 2 2 = 4), and that the
한편, 상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우, 상술한 바와 같이, 상기 리더(100)는 예측기법을 수행할 수 있는데(S400), 이하에서 도 5c를 참조하여 예측 기법에 대하여 설명하기로 한다.Meanwhile, if the length of the bit string included in the response is equal to or smaller than M, the
도 5c를 참조하면, 상기 리더(100)는 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출할 수 있다(S410). 예를 들어, 질의 비트 스트링 '1100'에 대한 각 태그의 응답으로부터 상기 리더(100)가 '?00?'을 응답 정보로 판단한 경우, 상기 리더(100)는 M 비트의 변환 코드 내의 첫 번째 충돌 비트에 상응하는 충돌 코드인 '1000' 및 는 M 비트의 변환 코드 내의 두 번째 충돌 비트에 상응하는 충돌 코드인 '0001'을 산출할 수 있다.Referring to FIG. 5C, the
이후, 상기 리더(100)는 산출된 M 비트의 충돌 코드 각각에 상응하는 m 비트의 충돌 스트링을 상기 [수식 1]에 의해 산출할 수 있다(S420). 위의 예에서, 상기 리더(100)는 충돌 코드 '0001'에 상응하는 m 비트의 충돌 스트링인 '00'과 충돌 코드 '1000'에 상응하는 m 비트의 충돌 스트링인 '10'을 산출할 수 있다.Thereafter, the
상기 질의 비트 스트링과 산출된 각각의 m 비트의 충돌 스트링을 결합하여 상기 응답을 전송한 각각의 태그의 태그 ID를 산출할 수 있다(S430). 위의 예에서, 상기 리더(100)는 질의 비트 스트링 '1100'과 충돌 스트링 '00'을 결합하여 태그 ID '110000'을 산출할 수 있으며, 질의 비트 스트링 '1100'과 충돌 스트링 '11'을 결합하여 태그 ID '110011'을 산출할 수 있다.The tag ID of each tag that transmitted the response may be calculated by combining the query bit string and the calculated collision string of m bits (S430). In the above example, the
산출된 태그 ID를 통해 상기 응답을 전송한 각각의 RFID 태그를 인식할 수 있다(S440). 위의 예에서, 상기 리더(100)는 산출한 두 개의 태그 ID '110000' 및 '110011'을 통해 응답을 전송한 두 개의 태그를 인식할 수 있다.Each RFID tag that transmitted the response can be recognized through the calculated tag ID (S440). In the above example, the
상술한 바와 같은 예측 기법을 이용함으로써, 상기 리더(100)는 여러 태그에 의한 응답의 충돌이 발생한 경우에도 추가적인 질의-응답 없이 각 태그를 인식할 수 있다.By using the above-described prediction technique, the
도 6은 본 발명의 일 실시예에 따른 태그(200)의 구성을 나타내는 도면이며, 도 7a 내지 도 7b는 본 발명의 일 실시예에 따른 리더(100)의 구성을 나타내는 도면이다.FIG. 6 is a diagram illustrating a configuration of a
도 6에 도시된 바와 같이, 상기 태그(200)는 질의수신모듈(210), 응답생성모듈(220) 및 응답전송모듈(230)을 포함할 수 있다. 도 7a에 도시된 바와 같이, 상기 리더(100)는 초기화모듈(110), 종료모듈(120), 설정모듈(130), 질의전송모듈(140), 응답수신모듈(140), 충돌비트판단모듈(160), 인식모듈(170), 충돌처리모듈(180), 제어모듈(190)을 포함할 수 있다. 한편, 도 7b에 도시된 바와 같이, 상기 충돌처리모듈(180)은 제1후속질의생성모듈(181), 제2후속질의생성모듈(182), 예측모듈(183)을 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시 예에 따라 상기 태그(200) 또는 리더(100)는 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다.As shown in FIG. 6, the
상기 태그(200) 또는 리더(100)는 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있다.The
구현 예에 따라서는 상기 초기화모듈(110), 종료모듈(120), 설정모듈(130), 질의전송모듈(140), 응답수신모듈(140), 충돌비트판단모듈(160), 인식모듈(170), 충돌처리모듈(180), 제어모듈(190) 등 각각의 모듈은 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 모듈들이 수행하는 기능을 실현할 수도 있다.According to an embodiment of the present invention, the
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In this specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and it does not necessarily mean a physically connected code or a kind of hardware. Can be easily deduced to the average expert in the field of < / RTI >
먼저 도 6을 참조하면, 상기 질의수신모듈(210)은 상기 리더(100)가 브로드캐스팅 하는 질의 비트 스트링을 수신할 수 있다.Referring to FIG. 6, the
상기 응답생성모듈(210)은 상기 질의 비트 스트링이 상기 태그(100)의 태그 ID의 프리픽스와 일치하는 경우, 상기 [수식 1]에 의해 상기 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 M 비트의 변환 코드로 변환하고, 변환된 상기 M 비트의 변환 코드, 및 상기 RFID의 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성할 수 있다.When the query bit string matches the prefix of the tag ID of the
상기 응답전송모듈(220)은 생성된 상기 응답을 상기 리더(100)로 전송할 수 있다.The
도 7a를 참조하면, 상기 초기화모듈(110)은 비트 스트링을 저장할 수 있는 소정의 자료구조에 널 비트 스트링을 추가할 수 있다.Referring to FIG. 7A, the
상기 종료모듈(120)은 상기 자료구조가 비어 있는 경우 태그 인식을 종료하는 종료단계를 수행할 수 있다.The
상기 설정모듈(130)은 상기 자료구조가 비어 있지 않은 경우 상기 자료구조에서 하나의 비트 스트링을 추출하고, 추출된 비트 스트링을 질의 비트 스트링으로 설정하는 설정단계를 수행할 수 있다.If the data structure is not empty, the
상기 질의전송모듈(140)은 설정된 상기 질의 비트 스트링을 브로드캐스팅하는 질의전송단계를 수행할 수 있다.The
상기 응답수신모듈(150)은 상기 질의 비트 스트링을 수신한 상기 적어도 하나의 RFID 태그 중 적어도 일부로부터 전송되는 응답을 수신하는 응답수신단계를 수행할 수 있다.The
상기 충돌비트판단모듈(160)은 상기 응답에서 발생한 충돌 비트를 판단하는 충돌비트판단단계를 수행할 수 있다.The collision
상기 인식모듈(170)은 상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하는 인식단계를 수행할 수 있다.If the collision bit is not generated in the response, the
상기 충돌처리모듈(180)은 상기 응답에서 충돌 비트가 발생한 경우, 충돌처리단계를 수행할 수 있다.The
상기 제어모듈(190)은 상기 종료모듈(120), 상기 설정모듈(130), 상기 질의전송모듈(140), 상기 응답수신모듈(150), 상기 충돌비트판단모듈(160), 상기 인식모듈(170) 및 상기 충돌처리모듈(180)이, 각각 상기 종료단계, 상기 설정단계, 상기 질의전송단계, 상기 응답수신단계, 상기 충돌비트판단단계, 상기 인식단계 및 상기 충돌처리단계를 반복 수행하도록 제어할 수 있다.The
도 7b를 참조하면, 상기 제1후속질의생성모듈(181)은 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 상기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가할 수 있다.Referring to FIG. 7B, when the collision bit is present in the M-bit conversion code among the bit strings included in the response, the first subsequent
상기 제2후속질의생성모듈(182)은 상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않는 경우, 상기 M비트의 변환 코드를 상기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환하고, 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가할 수 있다.If the collision bit is not present in the M-bit conversion code, the second subsequent
일 실시예에서, 상기 제2후속질의생성모듈(182)은 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k개(여기서, k는 1 이상의 정수) 이상이고, m×(k+1)-1개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링, 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합하여 후속 질의 비트 스트링을 생성할 수 있다.In one embodiment, the second subsequent
다른 일 실시예에서, 상기 제2후속질의생성모듈(182)은 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k+1개(여기서, k는 0 이상의 정수) 이상이고, m×(k+1)개 이하인 경우, 상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링과, 상기 응답에 포함된 비트 스트링 중 M+m×k+1 번째부터 M+m×(k+1) 번째까지의 비트로 구성되는 부가 스트링에서 상기 부가 스트링에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입하여 구성되는 비트 스트링을 각각 결합하여 후속 질의 비트 스트링을 생성할 수 있다.In another embodiment, the second subsequent
한편, 상기 예측모듈(183)은 상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각에 상응하는 m 비트의 충돌 스트링을 상기 [수식 1]에 의해 산출하고, 상기 질의 비트 스트링과 산출된 각각의 m 비트의 충돌 스트링을 결합하여 상기 응답을 전송한 각각의 RFID 태그의 태그 ID를 산출하고, 산출된 n 개의 태그 ID를 통해 상기 응답을 전송한 각각의 RFID 태그를 인식할 수 있다.Meanwhile, if the length of the bit string included in the response is equal to or less than M, the
이하에서 도 8을 참조하여, 본 발명의 일 실시예에 따른 리더(100)가 여러 개의 주변 태그를 인식하는 일련의 과정을 설명하기로 한다. 도 8의 예에서, m은 2이며, 리더의 주변에 Tag1(태그 ID: 00 01 01), Tag2(태그 ID: 00 10 11), Tag3(태그 ID: 01 10 10), Tag4(태그 ID: 01 10 11), Tag5(태그 ID: 11 00 00), Tag6(태그 ID: 11 00 11)가 존재하는 것으로 가정한다.Hereinafter, a series of processes in which the
아래 표 2는 리더(100)의 주변에는 존재하는 각 태그를 식별하는 과정을 나타낸다.Table 2 below shows the process of identifying each tag existing in the vicinity of the
한편, 이러한 태그 식별 과정은 도8에 도시된 바와 같은 질의 트리 형태로 표현될 수 있다.The tag identification process may be expressed in the form of a query tree as shown in FIG.
상기 리더(100)는 태그 인식이 시작되면, 질의-큐에 널 스트링(ε)을 추가할 수 있으므로(S210), 상기 [표 2]에 나타난 바와 같이 질의-큐는 널 스트링(ε)으로 초기화되어 있다.Since the
첫 번째 질의-응답 단계에서, 리더는 질의-큐에서 비트 스트링(ε)을 추출하고 이를 질의 비트 스트링으로 설정하여(S240), 이를 주변 태그들로 브로드캐스팅할 수 있다(S250). 그러면, 모든 태그(즉, Tag1 내지 Tag6)가 리더에게 응답하게 된다. 상술한 바와 같이 각 태그는 자신의 태그 ID 중 질의 비트 스트링과 일치하는 프리픽스의 후속 m비트 스트링을 M 비트의 변환 코드로 변환하고(S130), M 비트의 변환 코드 및 태그 ID 중 프리픽스와 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트로 구성되는 비트 스트링을 응답할 수 있다(S140, S150). 따라서, 각 태그의 응답에 포함된 비트 스트링 중 최초 M비트는 M 비트의 변환 코드일 수 있다. 각 태그가 전송하는 응답은 아래 [표 3]와 같다.In the first query-response step, the reader extracts a bit string? From the query-queue and sets it as a query bit string S240 and broadcasts it to surrounding tags S250. Then, all the tags (i.e., Tag1 to Tag6) respond to the reader. As described above, each tag converts the subsequent m-bit string of the prefix matching the query bit string of its tag ID into an M-bit conversion code (S130), and converts the prefix and the prefix It is possible to respond to a bit string composed of bits other than the following m bit strings (S140, S150). Therefore, the first M bits among the bit strings included in the response of each tag may be M-bit conversion codes. The response of each tag is shown in [Table 3] below.
한편, 상기 리더(100)는 각 태그의 응답에서 발생한 충돌 비트를 판단할 수 있으며(S270), 상기 리더(100)가 판단한 충돌 비트가 포함된 응답 정보는 ' ?0?? ?? ??'이 된다.Meanwhile, the
응답에서 충돌이 발생하였으므로 상기 리더(100)는 충돌처리단계를 수행하게 된다(S280, S300).Since the collision has occurred in the response, the
한편, 충돌 비트가 M 비트의 변환 코드 내에 존재하므로 상기 리더(100)는 상기 M 비트의 변환 코드 내에 존재하는 각 충돌 비트에 상응하는 M 비트의 충돌 코드 '0001', '0010' 및 '1000'을 산출할 수 있다(S330). 이후 상기 리더(100)는 충돌 코드 '0001'에 상응하는 충돌 스트링 '00', 충돌 코드 '0010'에 상응하는 충돌 스트링 '01', 충돌 코드 '1000'에 상응하는 충돌 스트링 '11'을 생성하고(S340), 상기 질의 비트 스트링(ε)과 생성된 충돌 스트링 각각을 결합하여 후속 질의 비트 스트링 '00', 01', '11'을 생성하고(S350), 이를 질의-큐에 추가할 수 있다(S360). 따라서, 질의-큐의 상태는 [표 2]에 나타난 바와 같이 {00, 01, 11}이 된다.Since the collision bit exists in the M-bit conversion code, the
두 번째 질의-응답 단계에서, 리더는 질의-큐에서 비트 스트링 '00'을 추출하고 이를 질의 비트 스트링으로 설정하여(S240), 이를 주변 태그들로 브로드캐스팅할 수 있다(S250).In the second query-response step, the reader extracts a bit string '00' from the query-queue and sets it as a query bit string (S240) and broadcast it to peripheral tags (S250).
그러면, 태그 ID가 질의 비트 스트링 '00'으로 시작하는 태그인 Tag1(태그 ID: 00 01 01), Tag2(태그 ID: 00 10 11)가 각각 ' 0010 01' 및 ' 0100 11'을 응답하게 된다.Then, the tag ID of a tag starts with a query bit string "00" Tag1 (tag ID: 00 01 01), Tag2 ( tag ID: 00 10 11) are the respective responses of '0010 01' and '0100 11' .
한편, 상기 리더(100)는 각 태그의 응답에서 발생한 충돌 비트를 판단할 수 있으며(S270), 상기 리더(100)가 판단한 충돌 비트가 포함된 응답 정보는 ' 0??0 ?1'이 된다.Meanwhile, the
응답에서 충돌이 발생하였으므로 상기 리더(100)는 충돌처리단계를 수행하게 된다(S280, S300).Since the collision has occurred in the response, the
한편, 충돌 비트가 M 비트의 변환 코드 내에 존재하므로 상기 리더(100)는 상기 M 비트의 변환 코드 내에 존재하는 각 충돌 비트에 상응하는 M 비트의 충돌 코드 '0010' 및 '0100'을 산출할 수 있다(S330). 이후 상기 리더(100)는 충돌 코드 '0010'에 상응하는 충돌 스트링 '01', 충돌 코드 '0100'에 상응하는 충돌 스트링 '10' 을 생성하고(S340), 상기 질의 비트 스트링('00')과 생성된 충돌 스트링 각각을 결합하여 후속 질의 비트 스트링 '0001', 0010'을 생성하고(S350), 이를 질의-큐에 추가할 수 있다(S360). 따라서, 질의-큐의 상태는 [표 2]에 나타난 바와 같이 {01, 11, 0001, 0010}이 된다.On the other hand, since the collision bit exists in the M-bit conversion code, the
세 번째 질의-응답 단계에서, 리더는 질의-큐에서 비트 스트링 '01'을 추출하고 이를 질의 비트 스트링으로 설정하여(S240), 이를 주변 태그들로 브로드캐스팅할 수 있다(S250).In a third query-response step, the leader extracts a bit string '01' from the query-queue and sets it as a query bit string (S240) and broadcast it to surrounding tags (S250).
그러면, 태그 ID가 질의 비트 스트링 '01'로 시작하는 태그인 Tag3(태그 ID: 01 10 10) 및 Tag4(태그 ID: 01 10 11)가 각각 ' 0100 10' 및 ' 0100 11'을 응답하게 된다.Then, the tag ID of the tag starting with a query bit string "01" Tag3 (tag ID: 01 10 10) and Tag4 (tag ID: 01 10 11) are the respective responses of '0100 10' and '0100 11' .
한편, 상기 리더(100)는 각 태그의 응답에서 발생한 충돌 비트를 판단할 수 있으며(S270), 상기 리더(100)가 판단한 충돌 비트가 포함된 응답 정보는 ' 0010 1?'이 된다.Meanwhile, the
응답에서 충돌이 발생하였으므로 상기 리더(100)는 충돌처리단계를 수행하게 된다(S280, S300).Since the collision has occurred in the response, the
한편, 상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않으므로 상기 리더(100)는 상기 M비트의 변환 코드 ' 0100 '를 m 비트의 역변환 스트링 ' 10 '로 역변환할 수 있다(S370).Since the collision bit is not present in the M-bit conversion code, the
이후 상기 리더(100)는 상기 질의 비트 스트링 '01' 및 역변환된 상기 m 비트의 역변환 스트링 ' 10 '을 포함하는 후속 질의 비트 스트링을 생성할 수 있다(S380). 한편, 후속 질의 비트 스트링을 생성하는 과정에서 상술한 맨체스터 코딩 기법이 적용될 수 있다. 즉, 상기 응답 정보 ' 0010 1?'에서 알 수 있듯이, 상기 M비트의 변환 코드 ' 0100 '의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트('1')의 개수가 1(즉, k=0)이므로, 상기 리더(100)는 질의 비트 스트링 '01', m 비트의 역변환 스트링 '10', 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링('')을 결합한 비트 스트링('0110')과 상기 응답에 포함된 비트 스트링 중 M+m×k+1번째(4+1=5번째)부터 M+m×(k+1) 번째(4+2=6)까지의 비트로 구성되는 부가 스트링('1?')에서 상기 부가 스트링('1?')에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입한 비트 스트링 '10' 및 '11'을 각각 결합하여, 두 개의 후속 질의 비트 스트링 '011010' 및 '011011'을 생성할 수 있다.The
상기 리더(100)는 생성된 후속 질의 비트 스트링 '011010' 및 '011011'을 질의-큐에 추가할 수 있으며(S360), 질의-큐의 상태는 [표 2]에 나타난 바와 같이 {11, 0001, 0010, 011010, 011011}이 된다.The
한편, 네 번째 질의-응답 단계가 위와 같은 방식으로 진행될 수 있으며, 네 번째 질의-응답 단계가 진행된 후 질의-큐의 상태는 {0001, 0010, 011010, 011011, 1100}이 된다.The fourth query-response step may proceed in the same manner as described above. After the fourth query-response step, the state of the query-queue is {0001, 0010, 011010, 011011, 1100}.
한편, 다섯 번째 질의-응답 단계에서, 상기 리더(100)는 리더는 질의-큐에서 비트 스트링 '0001'을 추출하고 이를 질의 비트 스트링으로 설정하여(S240), 이를 주변 태그들로 브로드캐스팅할 수 있다(S250).On the other hand, in the fifth inquiry-response step, the
그러면, 태그 ID가 질의 비트 스트링 '0001'로 시작하는 태그인 Tag1(태그 ID: 00 01 01)만이 응답하게 된다. 따라서, 충돌은 발생하지 않으며, 상기 리더(100)는 응답을 전송한 Tag1을 인식할 수 있다(S270 내지 S290). 한편, 다섯 번째 질의-응답 단계에서는 후속 질의 비트 스트링이 추가되지 않으므로 질의-큐의 상태는 [표 2]에 나타난 바와 같이 {0010, 011010, 011011, 1100}이 된다.Then, only Tag1 (tag ID: 00 01 01), which is a tag whose tag ID starts with the query bit string '0001', responds. Therefore, the collision does not occur, and the
여섯 번째 질의-응답 단계에서는 위와 같은 방식으로 '0010'으로 시작하는 Tag2(태그 ID: 00 10 11)이 식별될 수 있다.In the sixth query-response step, Tag2 (tag ID: 001011) starting with '0010' can be identified in the same manner.
일곱 번째 질의-응답 단계에서는 위와 같은 방식으로 '011010'으로 시작하는 Tag3(태그 ID: 01 10 10)이 식별될 수 있다.In the seventh inquiry-response step, Tag3 (tag ID: 011010) starting with '011010' can be identified in the same manner.
여덟 번째 질의-응답 단계에서는 위와 같은 방식으로 '011011'으로 시작하는 Tag4(태그 ID: 01 10 11)이 식별될 수 있다. 이 때 질의-큐의 상태는 [표 2]에 나타난 바와 같이, {1100}이 된다.In the eighth inquiry-response step, Tag4 (tag ID: 011011) starting with '011011' can be identified in the above manner. At this time, the state of the query-queue is {1100} as shown in [Table 2].
한편, 아홉 번째 질의-응답 단계에서, 리더(100)는 질의-큐에서 비트 스트링 '1100'을 추출하고 이를 질의 비트 스트링으로 설정하여(S240), 이를 주변 태그들로 브로드캐스팅할 수 있다(S250).In the ninth query-response step, the
그러면, 태그 ID가 질의 비트 스트링 '1100'로 시작하는 태그인 Tag5(태그 ID: 11 00 00 ), Tag6(태그 ID: 11 00 11 )가 각각 ' 0001 ' 및 ' 1000 '을 응답하게 된다.Then, Tag 5 (Tag ID: 11 00 00 ) and Tag 6 (Tag ID: 11 00 11 ), which are tags whose tag ID starts with the query bit string '1100', respond to ' 0001 ' and ' 1000 ', respectively.
한편, 상기 리더(100)는 각 태그의 응답에서 발생한 충돌 비트를 판단할 수 있으며(S270), 상기 리더(100)가 판단한 충돌 비트가 포함된 응답 정보는 ' ?00? '이 된다.Meanwhile, the
응답에서 충돌이 발생하였으므로 상기 리더(100)는 충돌처리단계를 수행하게 된다(S280, S300).Since the collision has occurred in the response, the
그런데, 응답에 포함된 비트 스트링의 길이가 M이므로 상기 리더(100)는 예측 기법을 수행할 수 있다(S400).However, since the length of the bit string included in the response is M, the
따라서, 상기 리더(100)는 상기 M 비트의 변환 코드 내에 존재하는 두 개의 충돌 비트 각각에 상응하는 두 개의 M 비트의 충돌 코드 '0001' 및 '1000'을 산출할 수 있다(S410).Accordingly, the
이후, 상기 리더(100)는 산출된 M 비트의 충돌 코드 '0001' 및 '1000' 각각을 그에 상응하는 m 비트의 충돌 스트링 '00' 및 '11'으로 역변환할 수 있다(S420).Thereafter, the
또한, 상기 리더(100)는 상기 질의 비트 스트링 '1100'에 산출된 m 비트의 충돌 스트링 '00' 및 '11' 각각을 결합하여 상기 응답을 전송한 각각의 RFID 태그의 태그 ID '110000' 및 '110011'을 산출하고(S430), 산출된 태그 ID를 통해 상기 응답을 전송한 Tag5(태그 ID: 11 00 00), Tag6(태그 ID: 11 00 11)을 인식할 수 있다(S440).In addition, the
한편, 아홉 번째 질의-응답 단계가 진행된 후 질의-큐는 비게 되므로 상기 리더(100)는 태그 인식을 완료할 수 있다(S220, S230).On the other hand, after the ninth inquiry-response step is performed, the query-queue is empty, so that the
한편, 본 발명의 실시예에 따른 태그 제공방법, 및 태그 리더 제공방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the tag providing method and the tag reader providing method according to the embodiment of the present invention can be implemented in the form of program instructions readable by a computer and stored in a computer readable recording medium. According to an embodiment of the present invention, The control program and the target program can also be stored in a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of software.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical media such as CD-ROM and DVD, a floptical disk, And hardware devices that are specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. The above-mentioned medium may also be a transmission medium such as a light or metal wire, wave guide, etc., including a carrier wave for transmitting a signal designating a program command, a data structure and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Examples of program instructions include machine language code such as those produced by a compiler, as well as devices for processing information electronically using an interpreter or the like, for example, a high-level language code that can be executed by a computer.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .
Claims (12)
RFID 태그가, 상기 RFID 태그 리더가 브로드캐스팅 하는 질의 비트 스트링을 수신하는 단계;
상기 RFID 태그가, 상기 질의 비트 스트링이 상기 RFID 태그의 태그 ID의 프리픽스(prefix)와 일치하는 경우, 하기 [수식 1]에 의해 상기 RFID의 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 M 비트의 변환 코드로 변환하고, 변환된 상기 M 비트의 변환 코드, 및 상기 RFID의 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성하는 단계;
상기 RFID 태그가, 생성된 상기 응답을 상기 RFID 태그 리더로 전송하는 단계;
(a) RFID 태그 리더가, 비트 스트링을 저장할 수 있는 소정의 자료구조에 널(null) 비트 스트링을 추가하는 단계;
(b) 상기 RFID 태그 리더가, 상기 자료구조가 비어 있는 경우 태그 인식을 종료하는 단계;
(c) 상기 RFID 태그 리더가, 상기 자료구조가 비어 있지 않은 경우 상기 자료구조에서 하나의 비트 스트링을 추출하고, 추출된 비트 스트링을 질의 비트 스트링으로 설정하는 단계;
(d) 상기 RFID 태그 리더가, 설정된 상기 질의 비트 스트링을 브로드캐스팅하는 단계;
(e) 상기 RFID 태그 리더가, 상기 질의 비트 스트링을 수신한 상기 적어도 하나의 RFID 태그 중 적어도 일부로부터 전송되는 응답을 수신하는 단계;
(f) 상기 RFID 태그 리더가, 상기 응답에서 발생한 충돌 비트를 판단하는 단계;
(g) 상기 RFID 태그 리더가, 상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하는 단계;
(h) 상기 RFID 태그 리더가, 상기 응답에서 충돌 비트가 발생한 경우, 충돌처리단계를 수행하는 단계; 및
(i) 상기 RFID 태그 리더가, 상기 (b) 단계 내지 상기 (h) 단계를 반복 수행하는 단계를 포함하되,
상기 충돌처리단계는,
(h-1) 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 하기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 하기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계; 및
(h-2) 상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않는 경우, 상기 M비트의 변환 코드를 하기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환하고, 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계를 포함하는 충돌처리단계를 수행하는 단계를 포함하는 RFID 태그 인식 방법.
[수식 1]
(여기서, S는 m 비트 스트링, C는 S에 상응하는 M 비트의 변환 코드(여기서, M=2m), dec(S)는 S를 십진수로 변환한 값임)
[수식 2]
(여기서, b는 충돌 비트, P는 M 비트의 변환 코드, pos(P, b)는 M 비트의 변환 코드 P 내에서의 충돌 비트 b의 위치, C는 충돌 비트 b에 상응하는 M 비트의 충돌 코드임)
An RFID tag recognition method using an M-ary query tree (where M is m 2 and m is an integer of 2 or more)
The RFID tag receiving a query bit string broadcasted by the RFID tag reader;
When the query bit string of the RFID tag coincides with the prefix of the tag ID of the RFID tag, the subsequent m bit string of the prefix among the tag ID of the RFID is defined as M bits Generating a response including the converted M-bit conversion code, and a remaining one of the tag IDs of the RFID, excluding the m-bit string of the prefix and the subsequent m-bit string of the prefix;
Transmitting, by the RFID tag, the generated response to the RFID tag reader;
(a) adding a null bit string to a predetermined data structure in which an RFID tag reader can store a bit string;
(b) terminating the RFID tag reader when the data structure is empty;
(c) if the data structure is not empty, the RFID tag reader extracts one bit string from the data structure and sets the extracted bit string as a query bit string;
(d) broadcasting the query bit string set by the RFID tag reader;
(e) receiving, by the RFID tag reader, a response transmitted from at least a part of the at least one RFID tag that has received the query bit string;
(f) determining, by the RFID tag reader, a collision bit generated in the response;
(g) if the RFID tag reader does not generate a collision bit in the response, recognizing the RFID tag that transmitted the response based on the response;
(h) performing the collision processing step when the RFID tag reader generates a collision bit in the response; And
(i) repeating the steps (b) to (h) by the RFID tag reader,
The conflict processing step includes:
(h-1) If the collision bit is present in the M-bit conversion code among the bit strings included in the response, the M-bit collision code corresponding to each of the collision bits in the M-bit conversion code is expressed by Equation 2 ], And inversely transforming each of the calculated M-bit collision codes into an m-bit collision string by [Equation 1], combining the query string with the collision string of each m-bit inversely transformed to generate a subsequent query Generating a bit string and adding the generated subsequent query bit string to the data structure; And
(h-2) If the collision bit is not present in the M-bit conversion code, the M-bit conversion code is inversely transformed into an m-bit inverse transformed string by the following equation (1) Generating a subsequent query bit string comprising the m-bit inverted string, and adding the generated subsequent query bit string to the data structure.
[Equation 1]
(Where S is an m bit string, C is an M-bit conversion code (where M = 2 m ), and dec (S) is a value obtained by converting S into a decimal number)
[Equation 2]
Where b is the collision bit, P is the transform code of M bits, pos (P, b) is the position of the collision bit b in the transform code P of M bits, C is the collision bit of M bits corresponding to the collision bit b, Code)
상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k개(여기서, k는 1 이상의 정수) 이상이고, m×(k+1)-1개 이하인 경우,
상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링, 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합하여 후속 질의 비트 스트링을 생성하는 단계를 포함하는 RFID 태그 인식 방법.
The method of claim 1, wherein the step (h-2)
Wherein the number of bits from the immediately following bit of the M-bit conversion code to the immediately preceding impulse bit among the bit strings included in the response is mxk (where k is an integer equal to or greater than 1) k + 1) -1 or less,
Combining the query bit string, the inverse transformed m-bit inverse transformed string, and m x k bits immediately after the M-bit transform code among the bit strings included in the response to generate a subsequent query bit string The RFID tag comprising:
상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k+1개(여기서, k는 0 이상의 정수) 이상이고, m×(k+1)개 이하인 경우,
상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링과, 상기 응답에 포함된 비트 스트링 중 M+m×k+1 번째부터 M+m×(k+1) 번째까지의 비트로 구성되는 부가 스트링에서 상기 부가 스트링에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입하여 구성되는 비트 스트링을 각각 결합하여 후속 질의 비트 스트링을 생성하는 단계를 포함하는 RFID 태그 인식 방법.
The method of claim 1, wherein the step (h-2)
Wherein the number of bits from the immediately following bit of the M-bit conversion code to the immediately preceding impulse bit among the bit strings included in the response is m x k + 1 (where k is an integer of 0 or more) (K + 1) or less,
A bit string formed by combining the query bit string, the inverse transformed m-bit inverse transformed string, and mxk bits immediately after the M-bit transform code among the bit strings included in the response, and a bit string Bits '0' and bit '1' are added to each collision bit included in the additional string in an additional string composed of bits from M + m × k + 1 to M + m × (k + 1) And generating a subsequent query bit string by combining the bit strings constituted by substitution.
상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우,
상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 상기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 상기 응답을 전송한 각각의 RFID 태그의 태그 ID를 산출하고, 산출된 태그 ID를 통해 상기 응답을 전송한 각각의 RFID 태그를 인식하는 단계를 더 포함하되,
상기 RFID 태그 리더는,
상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우에는 상기 (h-1) 및 상기 (h-2) 단계를 수행하지 않는 RFID 태그 인식 방법.
2. The method according to claim 1,
If the length of the bit string included in the response is M or less,
The M-bit collision code corresponding to each collision bit in the M-bit conversion code is calculated by the above-mentioned [Expression 2], and each of the calculated M-bit collision codes is multiplied by the m- , Combines the query bit string and each of the m-bit collision strings reversed to calculate the tag ID of each RFID tag that transmitted the response, and transmits each response transmitted through the calculated tag ID Further comprising the step of recognizing the RFID tag,
The RFID tag reader includes:
Wherein the step (h-1) and the step (h-2) are not performed when the length of the bit string included in the response is M or less.
상기 RFID 태그 리더가 브로드캐스팅 하는 질의 비트 스트링을 수신하는 질의수신모듈;
상기 질의 비트 스트링이 상기 RFID 태그의 태그 ID의 프리픽스와 일치하는 경우, 히기 [수식 1]에 의해 상기 RFID의 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 M 비트의 변환 코드로 변환하고, 변환된 상기 M 비트의 변환 코드, 및 상기 RFID의 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성하는 응답생성모듈; 및
생성된 상기 응답을 상기 RFID 태그 리더로 전송하는 응답전송모듈을 포함하는 RFID 태그.
[수식 1]
(여기서, S는 m 비트 스트링, C는 S에 상응하는 M 비트의 변환 코드(여기서, M=2m), dec(S)는 S를 십진수로 변환한 값임)
An M-th order query tree (where M is m 2 and m is an integer of 2 or more)
A query receiving module for receiving a query bit string broadcasted by the RFID tag reader;
When the query bit string matches the prefix of the tag ID of the RFID tag, the subsequent m bit string of the prefix among the tag IDs of the RFID is converted into an M bit conversion code by the equation [1] A response generation module for generating a response including the M-bit conversion code and remaining bits of the tag ID of the RFID, excluding the m-bit string of the prefix and the subsequent m-bit string of the prefix; And
And a response transmission module for transmitting the generated response to the RFID tag reader.
[Equation 1]
(Where S is an m bit string, C is an M-bit conversion code (where M = 2 m ), and dec (S) is a value obtained by converting S into a decimal number)
비트 스트링을 저장할 수 있는 소정의 자료구조에 널 비트 스트링을 추가하는 초기화모듈;
상기 자료구조가 비어 있는 경우 태그 인식을 종료하는 종료단계를 수행하는 종료모듈;
상기 자료구조가 비어 있지 않은 경우 상기 자료구조에서 하나의 비트 스트링을 추출하고, 추출된 비트 스트링을 질의 비트 스트링으로 설정하는 설정단계를 수행하는 설정모듈;
설정된 상기 질의 비트 스트링을 브로드캐스팅하는 질의전송단계를 수행하는 질의전송모듈;
상기 질의 비트 스트링을 수신한 적어도 하나의 RFID 태그 중 적어도 일부로부터 전송되는 응답을 수신하는 응답수신단계를 수행하는 응답수신모듈;
상기 응답에서 발생한 충돌 비트를 판단하는 충돌비트판단단계를 수행하는 충돌비트판단모듈;
상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하는 인식단계를 수행하는 인식모듈;
상기 응답에서 충돌 비트가 발생한 경우, 충돌처리단계를 수행하는 충돌처리모듈; 및
상기 종료모듈, 상기 설정모듈, 상기 질의전송모듈, 상기 응답수신모듈, 상기 충돌비트판단모듈, 상기 인식모듈 및 상기 충돌처리모듈이, 각각 상기 종료단계, 상기 설정단계, 상기 질의전송단계, 상기 응답수신단계, 상기 충돌비트판단단계, 상기 인식단계 및 상기 충돌처리단계를 반복 수행하도록 제어하는 제어모듈을 포함하되,
상기 충돌처리모듈은, 상기 충돌처리단계를 수행하기 위하여,
상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 하기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 하기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 제1후속질의생성모듈; 및
상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않는 경우, 상기 M비트의 변환 코드를 하기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환하고, 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 제2후속질의생성모듈 포함하는 RFID 태그 리더.
[수식 1]
(여기서, S는 m 비트 스트링, C는 S에 상응하는 M 비트의 변환 코드(여기서, M=2m), dec(S)는 S를 십진수로 변환한 값임)
[수식 2]
(여기서, b는 충돌 비트, P는 M 비트의 변환 코드, pos(P, b)는 M 비트의 변환 코드 P 내에서의 충돌 비트 b의 위치, C는 충돌 비트 b에 상응하는 M 비트의 충돌 코드임)
An RFID tag reader using an M-th order query tree (where M is m 2 and m is an integer of 2 or more)
An initialization module for adding a null bit string to a predetermined data structure capable of storing a bit string;
An end module for performing an end step of ending tag recognition when the data structure is empty;
A setting module for extracting one bit string from the data structure and setting the extracted bit string as a query bit string when the data structure is not empty;
A query transmission module for performing a query transmission step of broadcasting the set query bit string;
A response receiving module for receiving a response transmitted from at least one of at least one RFID tag that has received the query bit string;
A collision bit determination module for determining a collision bit generated in the response;
A recognition module for recognizing the RFID tag that transmitted the response based on the response when the collision bit is not generated in the response;
A conflict processing module for performing a conflict processing step when a collision bit is generated in the response; And
Wherein the end module, the setting module, the query transmission module, the response reception module, the collision bit determination module, the recognition module, and the collision processing module each include the end step, the setting step, the query transmission step, A collision bit determination step, a recognition step, and the collision processing step,
Wherein the collision processing module includes:
When the collision bit is present in the M-bit conversion code among the bit strings included in the response, an M-bit collision code corresponding to each collision bit in the M-bit conversion code is calculated by the following equation , Inverse transforms each of the calculated M-bit collision codes into an m-bit collision string by Equation 1, combines the collision strings of each of the inverse-transformed m-bit bits with the query bit string to generate a subsequent query bit string A first subsequent query generation module for adding the generated subsequent query bit string to the data structure; And
If the collision bit does not exist in the M-bit conversion code, inversely transforms the M-bit conversion code into an m-bit inverse transformed string by the following equation (1) A second subsequent query generation module for generating a subsequent query bit string including an inverse transform string and adding the generated subsequent query bit string to the data structure.
[Equation 1]
(Where S is an m bit string, C is an M-bit conversion code (where M = 2 m ), and dec (S) is a value obtained by converting S into a decimal number)
[Equation 2]
Where b is the collision bit, P is the transform code of M bits, pos (P, b) is the position of the collision bit b in the transform code P of M bits, C is the collision bit of M bits corresponding to the collision bit b, Code)
상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k개(여기서, k는 1 이상의 정수) 이상이고, m×(k+1)-1개 이하인 경우,
상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링, 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합하여 후속 질의 비트 스트링을 생성하는 RFID 태그 리더.
7. The method of claim 6, wherein the second subsequent query generation module comprises:
Wherein the number of bits from the immediately following bit of the M-bit conversion code to the immediately preceding impulse bit among the bit strings included in the response is mxk (where k is an integer equal to or greater than 1) k + 1) -1 or less,
An inverse transformed string of the inverse transformed m bits, and m x k bits immediately after the M-bit transform code among the bit strings included in the response to generate a subsequent query bit string, Tag Reader.
상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음 비트로부터 최초의 충돌 비트 바로 이전까지의 비트의 개수가 m×k+1개(여기서, k는 0 이상의 정수) 이상이고, m×(k+1)개 이하인 경우,
상기 질의 비트 스트링, 역변환된 상기 m 비트의 역변환 스트링 및 상기 응답에 포함된 비트 스트링 중 상기 M비트의 변환 코드의 바로 다음에 위치한 m×k 개의 비트를 결합한 비트 스트링과, 상기 응답에 포함된 비트 스트링 중 M+m×k+1 번째부터 M+m×(k+1) 번째까지의 비트로 구성되는 부가 스트링에서 상기 부가 스트링에 포함된 각 충돌 비트에 비트 '0'과 비트 '1'를 각각 대입하여 구성되는 비트 스트링을 각각 결합하여 후속 질의 비트 스트링을 생성하는 RFID 태그 리더.
7. The method of claim 6, wherein the second subsequent query generation module comprises:
Wherein the number of bits from the immediately following bit of the M-bit conversion code to the immediately preceding impulse bit among the bit strings included in the response is m x k + 1 (where k is an integer of 0 or more) (K + 1) or less,
A bit string formed by combining the query bit string, the inverse transformed m-bit inverse transformed string, and mxk bits immediately after the M-bit transform code among the bit strings included in the response, and a bit string Bits '0' and bit '1' are added to each collision bit included in the additional string in an additional string composed of bits from M + m × k + 1 to M + m × (k + 1) And combines bit strings constituted by substitution to generate a subsequent query bit string.
상기 충돌처리모듈은,
상기 응답에 포함된 비트 스트링의 길이가 M 이하인 경우,
상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 상기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 상기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 상기 응답을 전송한 각각의 RFID 태그의 태그 ID를 산출하고, 산출된 n 개의 태그 ID를 통해 상기 응답을 전송한 각각의 RFID 태그를 인식하는 예측모듈을 더 포함하는 RFID 태그 리더.
The method according to claim 6,
The conflict processing module includes:
If the length of the bit string included in the response is M or less,
The M-bit collision code corresponding to each collision bit in the M-bit conversion code is calculated by the above-mentioned [Expression 2], and each of the calculated M-bit collision codes is m- , Combines the query bit string and the collision string of each m bits reversely transformed to calculate the tag ID of each RFID tag that transmitted the response, and transmits the response through the calculated n tag IDs And a prediction module for recognizing each RFID tag.
상기 RFID 태그가, 소정의 RFID 태그 리더로부터 브로드캐스팅되는 질의 비트 스트링을 수신하는 단계;
상기 RFID 태그가, 상기 질의 비트 스트링이 상기 RFID 태그의 태그 ID의 프리픽스와 일치하는 경우, 하기[수식 1]에 의해 상기 RFID의 태그 ID 중 상기 프리픽스의 후속 m 비트 스트링을 M 비트의 변환 코드로 변환하고, 변환된 상기 M 비트의 변환 코드, 및 상기 RFID의 태그 ID 중 상기 프리픽스와 상기 프리픽스의 후속 m 비트 스트링을 제외한 나머지 비트를 포함하는 응답을 생성하는 단계; 및
상기 RFID 태그가, 생성된 상기 응답을 상기 RFID 태그 리더로 전송하는 단계를 포함하는 RFID 태그 인식 방법.
[수식 1]
(여기서, S는 m 비트 스트링, C는 S에 상응하는 M 비트의 변환 코드(여기서, M=2m), dec(S)는 S를 십진수로 변환한 값임)
1. An RFID tag recognition method carried out in an RFID tag and using an M-th order query tree (where M is m 2 and m is an integer of 2 or more)
The RFID tag receiving a query bit string broadcast from a predetermined RFID tag reader;
When the query bit string matches the prefix of the tag ID of the RFID tag, the following m bit string of the prefix among the tag ID of the RFID is converted into an M bit conversion code Generating a response including the transformed code of the M bits converted and the remaining bits of the tag ID of the RFID except for the prefix and the subsequent m bit string of the prefix; And
And the RFID tag transmits the generated response to the RFID tag reader.
[Equation 1]
(Where S is an m bit string, C is an M-bit conversion code (where M = 2 m ), and dec (S) is a value obtained by converting S into a decimal number)
(a) 상기 RFID 태그 리더가, 비트 스트링을 저장할 수 있는 소정의 자료구조에 널 비트 스트링을 추가하는 단계;
(b) 상기 RFID 태그 리더가, 상기 자료구조가 비어 있는 경우 태그 인식을 종료하는 단계;
(c) 상기 RFID 태그 리더가, 상기 자료구조가 비어 있지 않은 경우 상기 자료구조에서 하나의 비트 스트링을 추출하고, 추출된 비트 스트링을 질의 비트 스트링으로 설정하는 단계;
(d) 상기 RFID 태그 리더가, 설정된 상기 질의 비트 스트링을 브로드캐스팅하는 단계;
(e) 상기 질의 비트 스트링을 수신한 적어도 하나의 RFID 태그 중 적어도 일부로부터 전송되는 응답을 수신하는 단계;
(f) 상기 응답에서 발생한 충돌 비트를 판단하는 단계;
(g) 상기 응답에서 충돌 비트가 발생하지 않은 경우, 상기 응답에 기초하여 상기 응답을 전송한 RFID 태그를 인식하는 단계;
(h) 상기 응답에서 충돌 비트가 발생한 경우, 충돌처리단계를 수행하는 단계; 및
(i) 상기 RFID 태그 리더가, 상기 (b) 단계 내지 상기 (h) 단계를 반복 수행하는 단계를 포함하되,
상기 충돌처리단계는,
(h-1) 상기 충돌 비트가 상기 응답에 포함된 비트 스트링 중 M비트의 변환 코드 내에 존재하는 경우, 상기 M 비트의 변환 코드 내의 각 충돌 비트에 상응하는 M 비트의 충돌 코드를 하기 [수식 2]에 의해 산출하고, 산출된 M 비트의 충돌 코드 각각을 하기 [수식 1]에 의해 m 비트의 충돌 스트링으로 역변환하고, 상기 질의 비트 스트링과 역변환된 각각의 m 비트의 충돌 스트링을 결합하여 n 개의 후속 질의 비트 스트링을 생성하고, 생성된 n 개의 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계; 및
(h-2) 상기 충돌 비트가 상기 M비트의 변환 코드 내에 존재하지 않는 경우, 상기 M비트의 변환 코드를 하기 [수식 1]에 의해 m 비트의 역변환 스트링으로 역변환하고, 상기 질의 비트 스트링 및 역변환된 상기 m 비트의 역변환 스트링을 포함하는 후속 질의 비트 스트링을 생성하고, 생성된 후속 질의 비트 스트링을 상기 자료구조에 추가하는 단계를 포함하는 RFID 태그 인식 방법.
[수식 1]
(여기서, S는 m 비트 스트링, C는 S에 상응하는 M 비트의 변환 코드(여기서, M=2m), dec(S)는 S를 십진수로 변환한 값임)
[수식 2]
(여기서, b는 충돌 비트, P는 M 비트의 변환 코드, pos(P, b)는 M 비트의 변환 코드 P 내에서의 충돌 비트 b의 위치, C는 충돌 비트 b에 상응하는 M 비트의 충돌 코드임)
An RFID tag recognition method performed in an RFID tag reader using an M-th order query tree (where M is m 2 and m is an integer of 2 or more)
(a) adding a null bit string to a predetermined data structure in which the RFID tag reader can store a bit string;
(b) terminating the RFID tag reader when the data structure is empty;
(c) if the data structure is not empty, the RFID tag reader extracts one bit string from the data structure and sets the extracted bit string as a query bit string;
(d) broadcasting the query bit string set by the RFID tag reader;
(e) receiving a response sent from at least one of the at least one RFID tag that received the query bit string;
(f) determining a collision bit occurring in the response;
(g) if the collision bit is not generated in the response, recognizing the RFID tag that transmitted the response based on the response;
(h) performing a collision processing step when a collision bit occurs in the response; And
(i) repeating the steps (b) to (h) by the RFID tag reader,
The conflict processing step includes:
(h-1) If the collision bit is present in the M-bit conversion code among the bit strings included in the response, the M-bit collision code corresponding to each of the collision bits in the M-bit conversion code is expressed by Equation 2 ], And inversely transforms each of the calculated M-bit collision codes into an m-bit collision string by the following equation (1), combines the collision string of each m-bit reversed with the query bit string to obtain n Generating a subsequent query bit string, and adding the generated n subsequent query bit strings to the data structure; And
(h-2) If the collision bit is not present in the M-bit conversion code, the M-bit conversion code is inversely transformed into an m-bit inverse transformed string by the following equation (1) Generating a subsequent query bit string comprising the m-bit inverted string and adding the generated subsequent query bit string to the data structure.
[Equation 1]
(Where S is an m bit string, C is an M-bit conversion code (where M = 2 m ), and dec (S) is a value obtained by converting S into a decimal number)
[Equation 2]
Where b is the collision bit, P is the transform code of M bits, pos (P, b) is the position of the collision bit b in the transform code P of M bits, C is the collision bit of M bits corresponding to the collision bit b, Code)
12. A computer-readable recording medium having recorded thereon a program for performing the method according to claim 10 or claim 11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140037612A KR101521262B1 (en) | 2014-03-31 | 2014-03-31 | RFID tag, RFID tag reader, RFID tag identification system including thereof and providing method thererof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140037612A KR101521262B1 (en) | 2014-03-31 | 2014-03-31 | RFID tag, RFID tag reader, RFID tag identification system including thereof and providing method thererof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101521262B1 true KR101521262B1 (en) | 2015-06-01 |
Family
ID=53490657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140037612A KR101521262B1 (en) | 2014-03-31 | 2014-03-31 | RFID tag, RFID tag reader, RFID tag identification system including thereof and providing method thererof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101521262B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186571A (en) * | 2021-11-08 | 2022-03-15 | 南京信息工程大学 | Query tree multi-label concurrent identification method and system based on feature group |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090075365A (en) * | 2008-01-04 | 2009-07-08 | 중앙대학교 산학협력단 | Method for identification of tags and anti-collision, and rfid tag using the same |
KR20100102428A (en) * | 2009-03-11 | 2010-09-24 | 중앙대학교 산학협력단 | Anti-collision method of rfid tag and rfid reader therefor |
JP5094979B2 (en) * | 2008-03-12 | 2012-12-12 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | RFID reader device for retransmitting command according to collision situation and control method thereof |
-
2014
- 2014-03-31 KR KR1020140037612A patent/KR101521262B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090075365A (en) * | 2008-01-04 | 2009-07-08 | 중앙대학교 산학협력단 | Method for identification of tags and anti-collision, and rfid tag using the same |
JP5094979B2 (en) * | 2008-03-12 | 2012-12-12 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | RFID reader device for retransmitting command according to collision situation and control method thereof |
KR20100102428A (en) * | 2009-03-11 | 2010-09-24 | 중앙대학교 산학협력단 | Anti-collision method of rfid tag and rfid reader therefor |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186571A (en) * | 2021-11-08 | 2022-03-15 | 南京信息工程大学 | Query tree multi-label concurrent identification method and system based on feature group |
CN114186571B (en) * | 2021-11-08 | 2023-06-09 | 南京信息工程大学 | Query tree multi-label concurrent identification method and system based on feature set |
US11966807B2 (en) | 2021-11-08 | 2024-04-23 | Nanjing University Of Information Science And Technology | Multi-tag concurrent identification method and system for query tree based on feature groups |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Myung et al. | Tag-splitting: adaptive collision arbitration protocols for RFID tag identification | |
Choi et al. | Query tree-based reservation for efficient RFID tag anti-collision | |
Zhu et al. | A critical survey and analysis of RFID anti-collision mechanisms | |
Choi et al. | Bi-slotted tree based anti-collision protocols for fast tag identification in RFID systems | |
Zhang et al. | Assigned tree slotted aloha RFID tag anti-collision protocols | |
KR20060115694A (en) | Query tree based tag identification method in rfid systems | |
JP2009510590A (en) | Multiple tag identification method using adaptive binary tree partitioning technique in RFID system and RFID system therefor | |
CN101840489A (en) | Multi-tag identification anti-collision method based on collision tree | |
CN107153802A (en) | Label collision solution for the posterior probability of RFID system | |
Zhang et al. | An adaptive anti-collision protocol for large-scale RFID tag identification | |
CN105046181B (en) | A kind of certainty anti-collision algorithm of many prefix matchings based on inquiry tree method | |
CN110414286A (en) | A kind of RFID label tag collision-proof method | |
Choi et al. | Enhanced binary search with time-divided responses for efficient rfid tag anti-collision | |
KR101521262B1 (en) | RFID tag, RFID tag reader, RFID tag identification system including thereof and providing method thererof | |
Wijayasekara et al. | A collision resolution algorithm for RFID using modified dynamic tree with Bayesian tag estimation | |
CN111079459B (en) | Method for rapidly identifying RFID mobile tag by double readers based on frame time slot | |
Choi et al. | Scanning-Based Pre-Processing for En hanced Tag Anti-Collision Protocols | |
KR100805034B1 (en) | System and method for rfid tags identification using the grouping | |
US20060082443A1 (en) | Tag conflict avoidance method and apparatus | |
CN103679096A (en) | Optimized RFID anti-collision method | |
CN102663332A (en) | Multi-label anti-collision guiding identification method for RFID system | |
KR20150114051A (en) | RFID tag, RFID tag reader, RFID tag identification system including thereof and providing method thererof | |
Kalache et al. | Performances comparison of RFID anti-collision algorithms | |
CN112446448B (en) | Method for identifying RFID (radio frequency identification) label by single reader combining DFSA (distributed feedback system) and binary algorithm | |
Wang et al. | Anti-collision algorithm for RFID tag identification using fast query tree |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190503 Year of fee payment: 5 |