
Описание Лаб 2 СРЧИ
.docФедеральное агентство связи
Ордена Трудового Красного Знамени
Федеральное государственное бюджетное образовательное
учреждение высшего образования
Московский технический университет связи и информатики
Кафедра радиотехнических систем
Лабораторная работа № 2 СРЧИ
«Алгоритмы антиколлизионной защиты двоичной
информации в системах радиочастотной идентификации»
по дисциплине «Системы радиочастотной идентификации»
Москва 2017
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
Ордена Трудового Красного Знамени
Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Московский технический университет связи и информатики
Кафедра радиотехнических систем
«Утверждено на Совете
факультета радио и телевидения»
Декан А.В. Пестряков
Протокол № от « » марта 201 г.
Лабораторная работа № 2 СРЧИ
«Алгоритмы антиколлизионной защиты двоичной
информации в системах радиочастотной идентификации»
по дисциплине «Системы радиочастотной идентификации»
«Утверждено на заседании кафедры
радиотехнических систем
Зав. кафедрой Ю.С. Шинаков
Протокол № от « » 2017 г.
Москва 2017
УДК 6820.3.042.5 : 6220.39 План подготовки УМД 2017/2018 уч. года
Лабораторная работа № 2 СРЧИ
«Алгоритмы антиколлизионной защиты двоичной
информации в системах радиочастотной идентификации»
по дисциплине «Системы радиочастотной идентификации»
Предлагаемое издание является учебным пособием для лабораторного практикума по курсу «Системы радиочастотной идентификации». Издание содержит описание лабораторной работы и исходные данные для её выполнения. Издание предназначено для студентов радиотехнических и телекоммуникационных специальностей.
Составители: В.Э. Русанов, к.т.н., доцент,
Ю.Е. Гаврилов, студент МТУСИ
Рецензент: В.С. Сперанский, к.т.н., профессор
Издание утверждено Советом факультета радио и телевидения.
Протокол № от 201 г.
Лабораторная работа №2 СРЧИ
«Алгоритмы антиколлизионной защиты двоичной
информации в системах радиочастотной идентификации»
по дисциплине «Системы радиочастотной идентификации»
Цель работы:
Изучение алгоритмов временного и кодового разделения радиометок в системах радиочастотной идентификации.
Порядок выполнения работы
Запустить программу RTS_Lab_2.exe на лабораторном компьютере. При запуске программы пользователя будет приветствовать окно с названием «РТС СРЧИ Лаб Антиколлизия» (рис. 1). Данное окно предназначено для идентификации пользователя программой. Исходные данные для выполнения работы приведены в таблице заданий, где указываются номера разделяемых меток. Эти данные вводятся пользователем в компьютер в процессе выполнения работы. Номер варианта задания определяется как номер студента в списке группы.
Таблица заданий
Вариант |
№ мет. 1 |
№ мет. 2 |
№ мет. 3 |
№ мет. 4 |
№ мет. 5 |
1 |
01001011 |
00110011 |
10011010 |
00101110 |
01100101 |
2 |
11011000 |
10100101 |
00110011 |
10011101 |
11101001 |
3 |
10101100 |
11011000 |
10100101 |
01001110 |
11010010 |
4 |
10011101 |
11101001 |
11010010 |
10011010 |
01100101 |
5 |
01001110 |
10101110 |
01110011 |
00110011 |
11101001 |
6 |
10011010 |
10010111 |
11010001 |
10100101 |
10101110 |
7 |
00110011 |
00111010 |
01001011 |
11010010 |
10010111 |
8 |
10100101 |
10101100 |
11011000 |
01110011 |
00111010 |
9 |
00110011 |
01100111 |
10101100 |
11010001 |
10101100 |
10 |
10011101 |
10011010 |
11011101 |
01001011 |
01100111 |
11 |
01010011 |
11010001 |
10010111 |
11011000 |
10011010 |
12 |
11100010 |
01010011 |
01100101 |
10101100 |
11010001 |
13 |
01100101 |
11100010 |
11101001 |
10011101 |
01001110 |
14 |
01110011 |
10111001 |
10101110 |
01001110 |
10011010 |
15 |
11010001 |
01110011 |
10010111 |
11011000 |
00110011 |
16 |
01001011 |
11010001 |
00111010 |
10101100 |
10100101 |
17 |
11011000 |
01001011 |
10101100 |
10011101 |
10101110 |
18 |
10101100 |
11011000 |
01100111 |
01001110 |
10010111 |
19 |
10011101 |
10101100 |
10011010 |
10011010 |
00111010 |
20 |
01001110 |
11011101 |
11010001 |
00110011 |
10101100 |
21 |
10011010 |
01110011 |
01010011 |
11010010 |
10101110 |
22 |
00110011 |
11010001 |
11100010 |
01100101 |
10010111 |
23 |
10100101 |
01001011 |
01100101 |
11101001 |
00111010 |
24 |
11010010 |
11011000 |
00110011 |
10101110 |
10101100 |
25 |
11010001 |
00110011 |
10101100 |
10111001 |
10101110 |
26 |
01001011 |
10101100 |
11011000 |
01110011 |
00111010 |
Рис. 1. Окно приветствия программы-лабораторного стенда.
Рис. 2. Окно распределения транспондеров по временным слотам.
Первая часть работы – метод антиколлизионного разделения меток по времени Алоха-с. В окне «распределение транспондеров» (рис. 2). Пользователю в данном окне предписывается распределить произвольным образом транспондеры из списка «Исходный список» по всем трём временным слотам («Тайм-слот №*») с помощью перетаскивания элементов списка (drag-and-drop). Для этого пользователь наводит курсор мыши на номер метки, и зажав левую кнопку перемещает его в окно одного из трёх слотов. При завершении первичного распределения транспондеров необходимо нажать кнопку «Готово!», после чего пользователя программа переносит в окно «Тестирование по ALOHA-S» (рис. 3).
Рис. 3. Окно тестирования по Алоха-с.
Сразу после входа в окно тестирования считается, что команда REQUEST (смотри ниже) уже выполнена – поэтому её не нужно нажимать, пользователю необходимо с помощью кнопок из раздела «Графика» отобразить принятый во всех временных слотах отклик от транспондеров. Затем пользователю необходимо в разделе «Проверка» отметить все неискаженные принятые отклики (без коллизий) (используется манчестерское кодирование) путём нажатия на соответствующие кнопки (становятся зелеными при выборе и могут менять своё состояние на обратное). Далее, если был обнаружен хотя бы 1 временной слот без искажений, то пользователю необходимо выполнить команду SELECT по нажатию на соответствующую кнопку и ввести соответствующую кодовую последовательность. Независимо от наличия или отсутствия тайм-слотов без коллизий, далее выполняется команда REQUEST и все операции, кроме ручного распределения транспондера, выполняются по вышеописанной схеме. Вывод о наличии коллизии в данной лабораторной работе можно сделать только на основании временного графика.
Вторая часть работы состоит в изучении метода кодового антиколлизионного разделения номеров меток, называемого «побитовый арбитраж». Исходные данные для выполнения работы приведены в таблице заданий, где указываются номера разделяемых меток. Эти данные вводятся пользователем в компьютер в процессе выполнения работы. Номер варианта задания определяется как номер студента в списке группы.
№ вар |
Номера Транспондеров |
||||
1 |
2 |
3 |
4 |
5 |
|
1 |
11010101 |
10011000 |
10010101 |
10010110 |
11011100 |
2 |
11000101 |
11011001 |
10010101 |
10010100 |
11010100 |
3 |
11010111 |
11101000 |
10010101 |
10010100 |
11010100 |
4 |
11011101 |
11111001 |
10010101 |
10010100 |
11011100 |
5 |
10010101 |
11101001 |
10010101 |
10010100 |
11010100 |
6 |
11010100 |
11010101 |
11001000 |
01100100 |
11010110 |
7 |
10010100 |
11010101 |
10101001 |
01010100 |
11010100 |
8 |
11010100 |
11010101 |
11101001 |
01110100 |
11010100 |
9 |
11011100 |
11010101 |
10011001 |
01001100 |
11010100 |
10 |
11110100 |
11010101 |
11011010 |
01101100 |
11010100 |
11 |
11010110 |
11010101 |
10010101 |
01110100 |
10010100 |
12 |
11010000 |
11010101 |
10010101 |
01111100 |
10010100 |
13 |
11000100 |
11010101 |
10010101 |
01100100 |
10010100 |
14 |
11001100 |
11010101 |
10010101 |
01010100 |
10010100 |
15 |
11011110 |
11010101 |
10010101 |
01110100 |
10010100 |
16 |
11010101 |
10010100 |
10010101 |
01010100 |
11010111 |
17 |
11010101 |
10010100 |
10010101 |
01110100 |
10010101 |
18 |
11010101 |
10010100 |
10010101 |
01001100 |
10011101 |
19 |
11010101 |
10010100 |
10010101 |
11011100 |
10010101 |
20 |
11010101 |
10010100 |
10010101 |
01110100 |
10010101 |
21 |
10011010 |
01110011 |
01010011 |
11010010 |
10101110 |
22 |
00110011 |
11010001 |
11100010 |
01100101 |
10010111 |
23 |
10100101 |
01001011 |
01100101 |
11101001 |
00111010 |
24 |
11010010 |
11011000 |
00110011 |
10101110 |
10101100 |
25 |
11010001 |
00110011 |
10101100 |
10111001 |
10101110 |
26 |
01001011 |
10101100 |
11011000 |
01110011 |
00111010 |
Рис. 3. Окно тестирования по побитовому арбитражу.
В окне «Побитовый арбитраж» (рис. 3) пользователю необходимо идентифицировать все 5 транспондеров с помощью последовательности команд REQUEST -> CONTINUE(0/1) -> SELECT; номера оставшихся меток в этом окне не отображаются (только найденные могут отображаться). С помощью команд REQUEST и CONTINUE необходимо полностью идентифицировать произвольную метку и лишь затем, с помощью команды SELECT исключить полностью идентифицированную метку (рекомендуется записывать последовательность действий); данная процедура повторяется до идентификации всех меток. В данной работе принято, что максимальная длина номеров меток равна 8 битам.
Описание видов антиколлизионного разделения меток
Антиколлизионная процедура ALOHA-S
Процедура основана на временном разделении откликов меток. Пусть в поле обзора считывателя доступны 5 меток. Выделение номеров меток осуществляется процедурой, составленной из команд, необходимых для синхронизации и управления транспондерами:
REQUEST Это команда синхронизирует все тронспондеры в зоне опроса считывателя и предлагает тронспондером сообщить свои серийные номера считывателю а одном из последующих временных слотов. В нашем примере всегда доступны три временных слота
SELECT(SNR) Отправляет транспондеру в качестве параметра заранее определенный порядковый номер SNR Тем самым тронспондеру с этим порядковым номером предлагается выполнить команды считывания и записи. Транспондеры с другими серийными номерами продолжают реагировать только на команду REQUEST
READ_DATA. Выбранный транспондер отправляет считывателю хранимые данные. (В реальной системе используются также команды для выполнения записи, аутентификации и т.п.)
Выполнение антиколлизионной процедуры рассмотрим на следующем примере. Считыватель передает транспондерам через циклические промежутки времени команду опроса REQUEST (Запрос). Как только транспондеры приняли команду REQUEST, каждый из них выбирает с помощью собственного генератора случайных чисел одни из трех доступных временных слотов для того, чтобы отправить считывателю свой серийный номер (номера в примере восьмибитовые).
Считыватель |
REQUEST |
Слот 1 |
Слот 2 |
Слот 3 |
SELECT 11010100 |
Транспондер1 |
v--- |
10000100 |
|
|
^ |
Транспондер2 |
v--- |
---- |
10010100 |
|
^ |
Транспондер3 |
v--- |
---- |
10010101 |
|
^ |
Транспондер4 |
v --- |
---- |
|
11010100 |
^ |
Транспондер5 |
v---- |
11010101 |
|
|
^ |
К считывателю |
|
Коллизия |
Коллизия |
11010100-> |
----^ |
В рассматриваемом примере в результате произвольного выбора транспондерами слотов возникают коллизии между транспортерами в слотах I и 2. Только в слоте 3 серийный номер транспондера 4 может быть передан без коллизий.
Если порядковый номер транспондера принят считывателем без ошибок, тогда этот транспондер может быть выбран считывателем с помощью команды SELECT (Выбрать), и затем считыватель проводит с ним необходимые операции считывания или записи без коллизий с другими транспондерами. После команды SELECT (11010100) транспондер с выделенным номером не будет откликаться на команду REQUEST. Если при первой попытке ни один порядковый номер транспондера не выявлен, считыватель снова повторяет команду опроса REQUEST в циклическом режиме.
После обработки выбранного транспондера считыватель переходит к поиску остальных транспондеров в зоне опроса с помощью новой команды опроса REQUEST.
Блокировку команды REQUEST можно снять, если транспондер удалить из зоны обзора считывателя и затем поместить его обратно в эту зону.
Антиколлизионная процедура «Побитовый арбитраж»
В начале арбитражного процесса все неидентнфицнрованные транспондеры, находящиеся в зоне опроса считывателя, относят к активным устройствам. Активные транспондеры будут участвовать в арбитражном процессе. Транспондеры, вновь входящие в зону опроса во время проведения арбитражного процесса, не включаются в этот процесс. Сам арбитражный процесс состоит из последовательности шагов побитового арбитража, которые повторяются до тех пор, пока не будет полностью идентифицирован один из транспондеров.
Шаг побитового арбитража идентифицирует один бит идентификационного кода (серийного номера) одного транспондера.
Побитовый арбитраж происходит следующим образом. Получив запрос от считывателя, все активные транспондеры посылают значение фиксированного двоичного разряда своего идентификационного кода. Логические 0 или 1 ответов транспондеров помещаются в два различных временных слотах (например, если 1-й разряд номера «0», то он помещается в 1-й слот, а если это «1», то – во второй слот).
Соответственно считыватель может распознать, имеются ли транспондеры, отвечающие логическим 0, и транспондеры, отвечающие логической 1. Теперь считыватель может выбрать одну из этих двух групп транспондеров. отправляя кадр команды CONTINUE (Продолжить), в которой он указывает контрольное значение бита. В результате транспондеры. выдавшие ответ, совпадающий с контрольным значением бита, получают команду о переходе к следующему шагу арбитража (см. рисунок):
Рис. 2. Шаг арбитража для одного бита
Транспортеры, чье битовое значение идентификационного кода не соответствует контрольному значению, указанному в команде считывателя, немедленно покидают арбитражный процесс и, оставаясь в активной группе, ждут новой команды. Остальные активные транспондеры переходят к выполнению следующего шага побитового арбитража, чтобы идентифицировать очередной бит своего идентификационного кода.
Шаги побитового арбитража повторяются до тех пор, пока не будут распознаны все биты идентификационного кода одного транспондера (см. рисунок):
Рис.3. Арбитражный процесс, состоящий из 32 шагов побитового арбитража
Время идентификации алгоритмом, основанным на побитовом арбитраже, линейно зависит от длины идентификационного кода и не зависит от числа транспондеров в электромагнитном поле.
При реализации данной антиколлизионной процедуры на частоте 125 кГц за одну секунду могут быть идентифицированы 7 транспондеров при скорости передачи данных 2 Кбит/с. При частоте 13.56 МГц и скорости передачи данных 64 Кбит/с за одну секунду могут быть идентифицированы 220 транспондеров. Эта процедура позволяет реализовать относительно дешевые считыватели, обладающие антиколлизионными свойствами.
Антиколлизионную процедуру «Побитовый арбитраж» поясняет следующий пример. Пусть серийные идентификационные номера транспондеров указанны в таблице:
Вар № |
Транспондеры |
||||
1 |
2 |
3 |
4 |
5 |
|
П |
1000100 |
01010100 |
10011101 |
01110101 |
11010100 |
1 этап. По команде REQUEST для всех транспондеров в первом временном интервале (слоте) передаются отклики транспондеров 2 и 4 (с нулевыми первыми битами) а во втором слоте отклики транспондеров 1, 3 и 5.
2 этап. Передаётся команда REQUEST для транспондеров 2 и 4 (с нулевыми битами вначале), чтобы они передали отклик в первом слоте, если 2-ой бит номера – «0» и во втором слоте если 2-ой бит номера – «1». Оба транспондера передали отклики во втором слоте, а первый слот остался свободным.
3 этап. Передаётся команда REQUEST для транспондеров с битами «01» вначале (это транспондеры 2 и 4), чтобы они передали отклик в первом слоте, если 3-ий бит номера – «0» и во втором слоте если 3-ий бит номера – «1». 2-ой транспондер передал отклик в первом слоте, а 4-ый - во втором.
4 этап. Передаётся команда вызова REQUEST для транспондеров с битами «011» (это транспондер 4) для передачи отклика о 4-м бите. Транспондер 4 передал отклик во втором слоте, а первый слот остался свободным.
5 этап. Передаётся команда вызова для транспондеров с битами «0111» вначале сообщить о 5-м бите. Получили отклик в первом слоте (от 4-го транспондера).
6 этап. Передаётся команда вызова для транспондеров с битами «01110» вначале сообщить о 6-м бите. Получили отклик во втором слоте (от 4-го транспондера).
7 этап. Передаётся команда вызова для транспондеров с битами «011101» вначале сообщить о 7-м бите. Получили отклик в первом слоте (от 4-го транспондера).
8 этап. Передаётся команда вызова для транспондеров с битами «0111010» вначале сообщить о 8-м бите. Получили отклик во втором слоте (от 4-го транспондера). Выделили 4 транспондер и установили его серийный номер: 01110101.
9 этап. Командой SELECT(01110101) отключили от вызовов найденный транспондер.Теперь он не реагирует на команду REQUEST.
Процедуру продолжим аналогичным образом для выделения оставшихся транспондеров.
Программное обеспечение позволяет выполнять отдельно любую из двух частей работы . Для этого нужно с помощью специальной кнопки возвратиться к главному окну и там уже менять под конкретный тип антиколлизии исходные данные
Контрольные вопросы для защиты
Какие методы разделения сигналов используются в антиколлизионной защите?
Как обнаруживается наложение двух сигналов в манчестерском коде?
Что такое слоты, где и для чего они применяются?
Что такое коллизия?
Почему при разделении транспондеров не применяют прямой перебор их номеров?
Какие функции выполняет транспондер после подачи команды REQUEST в случае разделения меток по методу ALOHA-S?
Какие функции выполняет транспондер после подачи команды REQUEST в случае разделения меток по методу Какие функции выполняет транспондер после подачи команды REQUEST в случае разделения меток по методу побитового арбитража?