Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
#02 Учебное пособие СДО МТИ(ВТУ).doc
Скачиваний:
34
Добавлен:
01.07.2025
Размер:
3.62 Mб
Скачать

Синтез автомата-распознавателя последовательности

Дано: кодовая последовательность 0-1-3-2 двоичного двухразрядного сигнала (в десятичном коде).

Требуется получить ПФ, описывающие соответствующий конечный автомат-распознаватель последовательности (рис. 75).

Рис. 75. Распознаватель последовательности на входах a, b

Последовательность поступает на входы a, b конечного автомата (КА):

Это правильная последовательность изменения входов а, b в соответствии с заданием.

Возможны и неправильные последовательности из алфавита А = {0, 1, 2, 3}. Ограничим возможные неправильные коды изменением только одного двоичного разряда.

Рассмотрим соответствующий квадрат соседних чисел (рис. 76, так как всего два входа).

Рис. 76. Иллюстрация изменения входов

Направление изменения входных кодов показано стрелками. Видно, что вначале из 00 (0) имеем переход в 01 (1), если последовательность правильная. Если последовательность неправильная, тогда возможен лишь один вариант (рис. 77).

Рис. 77. Иллюстрация возможного нарушения последовательности: из 00(0) в 10(2)

На втором шаге правильно: 01 (1) в 11 (3), а неправильно (рис. 78), т. е. возможен возврат в 00.

Рис. 78. Иллюстрация возможного нарушения последовательности: из 01(1) в 00(0)

Аналогично на третьем шаге неправильным будет переход из 11 (3) в 01 (1) (рис. 79).

Рис. 79. Иллюстрация возможного нарушения последовательности: из 11(3) в 01(1)

Таким образом, можно построить граф возможных последовательностей (рис. 80).

Рис. 80. Граф последовательностей распознавателя 0-1-3-2

Таким образом, имеем всего 4 последовательности:

Строим первичную таблицу переходов (ПТП) соответствующего конечного автомата-распознавателя последовательности 0-1-3-2 (табл. 63).

Таблица 63

Первичная таблица переходов-выходов распознавателя 0-1-3-2

Здесь (см. табл. 63) кружком обведены устойчивые такты работы автомата-распознавателя. Переход от одного устойчивого такта в соответствующей строке таблицы переходов-выходов к другому осуществляется через неустойчивый такт. В каждой строке ПТП только один устойчивый такт, номер которого соответствует номеру строки.

Цит. по: Дискретная математика и математическая логика: учебник / Ю.А. Аляев, С.Ф. Тюрин. — М.: Финансы и статистика, 2006. — С. 157–189.

Тема 4. Элементы теории кодирования

В кибернетике особое место занимает проблема надежности передачи информации. Это связано с тем, что разнообразные дискретные устройства, реализующие алгоритмы, имеют многочисленные каналы передачи информации. В этих каналах происходит искажение сигналов. Кодирование позволяет надежно передать требуемое сообщение, несмотря на наличие помех в канале.

Проблема кодирования сообщений

Пусть по информационному каналу требуется передавать слова в некотором алфавите А . При этом на входе канала передается слово a A *, на выходе канала принимается искаженное помехами слово сА* . Требуется по слову с восстановить слово а . Основная идея решения этой задачи заключается в следующем. Вместо слова а по каналу передается другое слово b = K (а ), которое называется кодом слова а . Код должен быть таким, чтобы по принятому искаженному слову можно было, как минимум, обнаружить ошибку или, как максимум, исправить ошибку. В связи с этим коды делятся на два класса:

1)   коды с обнаружением ошибок;

2)   коды с исправлением ошибок.

Далее после коррекции принятого слова предполагается его декодирование а = К –1 ( b ). Тем самым по каналу с помехами будет передано требуемое сообщение.

Пример 13 .1 . Рассмотрим простой код с обнаружением одиночной ошибки в сообщении а = а 1 ... am длины т над алфавитом В = {0,1}:

К (а ) = b = b 1 ... bm bm +1 ,

где bi = а i , i = 1, ..., т .

Последний символ кода bm +1 — контрольная сумма всех предыдущих символов по mod 2. Про символы bi , i = 1, ..., m , говорят, что они информационные, а про bm +1 , что он контрольный. Теперь принятое сообщение легко проверить на ошибку. Надо найти контрольную сумму всех символов принятого сообщения, кроме последнего символа, и сравнить ее с этим пришедшим последним символом. Если нет совпадения, то — ошибка. В каком именно из т   +   1 символов принятого сообщения будет ошибка, неясно. Заметим, что в случае наличия ошибок в четном числе символов этот код их не обнаружит.