- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ
- •2.2. Структуры оптимальных приемников различения двух сигналов (оптимальность по В.А. Котельникову)
- •2.3. Анализ помехоустойчивости оптимальных приемников различения двух сигналов
- •3. ОБЩИЕ ПРИНЦИПЫ ОБНАРУЖЕНИЯ И ИСПРАВЛЕНИЯ ОШИБОК ИЗБЫТОЧНЫМИ КОДАМИ
- •3.1. Мера избыточности кода
- •3.2. Оценка помехоустойчивости при передаче дискретных сообщений
- •4. ПРИНЦИПЫ ПОСТРОЕНИЯ И РЕАЛИЗАЦИЯ КОМБИНАТОРНЫХ КОДОВ
- •4.2. Избыточные комбинаторные коды
- •4.2.1. Код на некоторые сочетания (четные или нечетные)
- •4.3.2. Проектирование многоступенных комбинаторных узлов
- •4.4. Проектирование декомбинаторных устройств
- •4.4.1. Проектирование одноступенных матричных декомбинаторных узлов
- •5. ПРИМЕНЕНИЕ ГРУППОВЫХ КОДОВ В КАНАЛАХ И ТРАКТАХ СИСТЕМ ПЕРЕДАЧИ ДАННЫХ
- •6.1.6. Матричный способ представления циклического кода
- •6.1.7. Циклические систематические коды
- •6.2.1. Кодирование при помощи порождающего полинома £(дс)
- •6.2.1.1. Общие принципы кодирования
- •6.2.1.2. Кодирующие устройства БЧХ-кодов, построенные при помощи порождающего полинома g(x)
- •7.3.2. Кодирование циклических кодов исправляющих пакеты ошибок
- •7.З.2.1. Независимое декодирование перемежаемых (л, /я)-кодов
- •7.3.3.2. Декодирование циклических кодов Файра
- •8.1. Краткая характеристика методов повышения помехоустойчивости
- •8.4. Использование обратной связи в системах передачи на базе протокола HDLC
- •8.4.1. Основные возможности протокола HDLC
- •8.4.4. Кодонезависимость и синхронизация HDLC
- •8.4.5. Управляющее поле HDLC
- •9.2. Арифметические коды, использующие контроль по модулю простого числа
- •9.2.1. Контроль арифметических операций
- •9.2.2. Контроль логических операций
- •9.5.2. Арифметические систематические (n,m,dА)-коды, обнаруживающие и исправляющие ошибки
в арифметических кодах, в отличие от алгебраических, ошибки в различ ных разрядах не являются независимыми.
Пример 9.19. Пусть Nx = 31, N2 = 32. Их двоичные представления N\ = 3 1 = 0 1 1 1 1 1, N2= 1 0 0 0 0 0 . Расстояние Хемминга между этими последовательностями d (Nx, N2) = 6. Пусть возникла арифметическая
ошибка +2°, т.е. Nx + |
2° = |
N2 , или в обычном случае |
Nx+ Е |
= N2 |
|
и Е = N 2 - TV,. Если |
бы |
исследовалась |
метрика |
Хемминга, |
то |
W{E) = W{N2 Ф N\) = 6, |
что |
соответствует |
шестикратной ошибке. |
При |
арифметической метрике W(E) = W(N2 - N 1) = Щ32 - 31) = Щ \) = 1, что равносильно однократной арифметической ошибке.
Обобщим изложенное в примере 9.19. Если в процессе передачи или вычислений целое число N в результате ошибок переходит в число N' и расстояние */A(TV,JV') = W§N - N'\)между N и N' равно tA, то будем гово рить, что произошла ошибка веса (кратности) tA, т. е. N' = N + £ Л, где ЕА -
вектор (код) ошибки и ЩЕА) - вес ошибки, называемый |
кратностью |
ошибки. |
|
Для арифметических (л, т, */А) и ЛУУ-кодов, рассматриваемых в дан |
|
ном параграфе, справедливы следующие соотношения [21]: |
|
dA > га + 1; |
|
dA > 2 ^ + 1 ; |
(9.26) |
dA >sA + rA+ 1, |
|
где га и sA - соответственно кратность обнаруживаемых и исправляемых арифметических ошибок; dA - арифметическое расстояние между любыми кодовыми числами арифметического кода, необходимое и достаточное для обнаружения, либо исправления ошибок соответствующей кратности.
9.5.2. Арифметические систематические (n,m,dА)-коды, обнаруживающие и исправляющие ошибки
Множество всех двоичных последовательностей длины л, у которых т позиций - информационные, а содержимое к = л - т проверочных пози ций представляет собой остаток от деления информационной последова тельности длины т на нечетное число р > 1 и является арифметическим кодом, обнаруживающим ошибки [20].
Пример 9.20. Пусть N1 = 8; N2 = 6; р = 3. Тогда число информацион ных символов т = 4, число избыточных символов к = log р = 2 и двоичные векторы (л, л1, 2)-арифметического кода, соответствующие числам N x и N2y имеют вид Vx = 100010 и V2 = 011000; т + к = п = 4 + 2 = 6 . dA(Vx, V2) =
= » а(|И|-К2|)= 100010-011000 = 001010 = 2.
Очевидно, что (и, т, </А)-коды являются дальнейшим развитием кодов с числовым контролем по модулю, рассмотренных выше.
Считается, что арифметический систематический код порождается мо дулем (группой модулей), а выбранный модуль называется порождающим.
Рассмотрим (и, т, */А)-коды с исправлением одиночных ошибок. Не существует арифметического систематического кода с исправлением одиночных ошибок, порожденного одним модулем.
Указанные коды имеют две группы проверочных позиций, содержи мое которых представляет собой остатки от деления информационных по следовательностей на простые числа р х и р2. Длину кода с исправлением одиночной ошибки можно определить, решая систему сравнений [20].
2 т ± ls0 (m o d p ,);
2 т ±1 = 0(шоdp2);
т в системе (9.27) представляют собой показатели |
и 62, которым при |
|
надлежит 2 по модулю р\ и р2: |
|
|
2 8 ' s l ( m o d p , ) ; |
(9.28) |
|
28* = l(mod р 2)- |
||
|
||
Для того чтобы сравнения (9.27) имели место при минимальном т, |
||
необходимо, чтобы при суммировании (+): |
|
|
/и ^ Н О К ^ б з ), |
(9.29) |
|
а в случае вычитания (-) |
|
|
/я = ^НО К(6„52). |
(9.30) |
Пример 9.21. Пусть р { = 3; р 2 - 7. Тогда 25' =1 (mod 3); 5j = 2;
25>ее1 (mod 7); б2 = 3 ; т = НОК (2,3) = 6; *, = log /?, = 2; к2 = log р 2 = 3. Общая длина кода п = т + к\ + к2 = 11.
Таким образом, |
р, |
и р 2 порождают арифметический (11, 6, |
3)-код. |
Если У, = 3; N2 = 2, |
то |
V] = 000011.00.011 и V2 = 000010.10.010. |
Тогда |
d(Vh V2)= Щ\У]-У 2\) = 000001.01.001 =3.
Существуют таблицы арифметических кодов с минимальной избы точностью, исправляющих одиночные ошибки. Построение кодов, исправляющих арифметические ошибки, кратность которых sA > \, связа но с более сложными процедурами.
9.5.3. Арифметические разделимые и неразделимые AN-коды, обнаруживающие и исправляющие ошибки
Арифметический AN-код представляет собой отображение целых чи сел 0, 1,2, ..., N0 в целые числа 0, А • 1, А • 2,..., A - N 0, где А - некоторое фиксированное для каждого кода целое положительное число, называемое порождающим числом. Числа 0, А • 1, А • 2, А • N 0 называют кодовыми числами, а их представления в системе счисления по основанию р - кодо выми словами. Мы рассматриваем двоичные ЛУ-коды, т. е. р = 2.
Сумма кодовых чисел также является кодовым числом, т. е. для лю бых чисел N\ и N2 A{N\ + N2) = ANX+ AN2. Следовательно, если N\ + N2 < < No, то число A(N\+ N2) = AN\ + AN2 также является одним из кодовых чисел. Поэтому если закодированные числа сложить в двоичном суммато ре, то полученная сумма будет кодовым числом суммы исходных чисел. Благодаря этому ЛМ-коды могут обнаруживать и исправлять ошибки, воз никающие в сумматорах. Указанное свойство напоминает нам о свойстве кодов СОК, связанном с необратимостью пребывания всех правильных чи сел в рабочем диапазоне и основанном на этом обнаружении и исправле нии ошибок [20,21,26].
Показано, что А и р - взаимно простые числа. В случае р = 2А долж но быть нечетным. В табличных ЛУ-кодах А - простое число.
Пример 9.22. AN-код с параметрами А = 13, N0 = 4, q = 2. Четыре не нулевые комбинации кода представлены в табл. 9.1.
N |
ш |
Таблица 9.1 |
Кодовые слова |
||
1 |
13 |
001101 |
2 |
26 |
011010 |
3 |
39 |
100111 |
4 |
52 |
110100 |
Сумме 1 + 2 = 3 соответствует следующая сумма кодовых чисел и кодовых слов этого кода: 13 + 26 = 39 (свойство замкнутости относи тельно суммирования) и 001101 +011010= 100111. Пусть ошибка «гасит» сигнал переноса из 23 в 24, тогда результатом вычисления будет число (010111)2 = (23)ю- Данное число не принадлежит разрешенному множеству чисел, т.к. 23 s 10 (mod 13). Следовательно, ошибка обнаружена. Как бу дет показано ниже, эта ошибка может быть исправлена.
Оценим избыточность и длину неразделимых ЛДО-кодов: 2Г Х< ANo < Т
Таким образом, п = [log2^A'0 +1], где [х] - наибольшее целое число, не превосходящее х\ т = [logTVo + 1] - число информационных символов; к = п - т - число избыточных символов.
log2/i - 1 < к < log2Л + 1.
Пример 9.23. Оценим число избыточных символов и длину кода 13N
иЗ N. |
|
|
13N из примера 9.22: |
|
|
т = [log4 + 1] = 3; |
п = [log213 - 4+1] = 6; |
£ = 6 - 3 = 3, что не проти |
воречит неравенству 2,8 |
< к < 4,8. |
|
Оценим избыточность ЗМ-кода, если N0= 10: |
||
п = [log230 + 1] = 5; т —[loglO + 1] = 4; |
к - 1, что не противоречит |
|
граничному сообщению |
0,6 < к < 2,6. |
|
Введем некоторую величину М(А, d)> которая определяется как наи меньшее положительное целое число, вес произведения которого на А не меньше, чем d.
AN-код ciV0 = M(A,d) - 1 имеет минимальное расстояние, по мень шей мере, равное d. Таким образом, для построения AN-кодов с заданной корректирующей способностью важно вычислить величину M(A,d). К со жалению, эта задача решена в общем виде только для d = 2 n d = 3 .
Доказывается, что если А > 1 - нечетное число, то А/(А,2) - любое натуральное число. Таким образом, для любого нечетного А > 1 AN-код с произвольной длиной п способен обнаруживать все одиночные арифме тические ошибки. Очевидно, что код с А = 3 является кодом с минималь ной избыточностью и требует два проверочных избыточных разряда при произвольном количестве информационных разрядов. Ограничимся рас смотрением конструкции неразделимого Л#-кода, исправляющего одиноч ные ошибки.
Доказывается, что если А - нечетное простое число, не равное 1, то
|
А - \ |
|
|
2 2 +1 , |
если 2 - примитивныйэлемент; |
М (/4,3) = |
А |
(9.31) |
Л-1 |
||
|
2 2 -1 , |
если (-2) - примитивный элемент. |
В работах [20,21] приведены значения М (А, 3) и параметры соответ ствующих кодов с исправлением одиночных ошибок для простых А, удов летворяющих условиям (9.30). Приведем в качестве примера фрагмент этой таблицы с параметрами арифметических кодов (табл. 9.2).
|
|
|
Таблица 9.2 |
А |
М(А,3) |
п |
т |
л |
3 |
5 |
1 |
13 |
5 |
6 |
2 |
19 |
27 |
9 |
4 |
23 |
89 |
11 |
6 |
29 |
565 |
14 |
9 |
37 |
7085 |
18 |
12 |
Применение неразделимых AN-кодов создает трудности при их ко дировании и декодировании в процессе выполнения операций деления и умножения. Действительно, при умножении двух закодированных чисел произведение имеет вид, отличный от принятого кодового представления:
AN x AN2 = А 2 N, N 2, и в таком виде его нельзя использовать для дальнейших вычислений. Аналогичная ситуация возникает при делении
AN, N,
------ = ---- , когда частное не может быть использовано в дальнейших вы-
A N 2 N 2
числениях.
Для того чтобы результаты указанных операций сохраняли принятое кодовое представление, необходимо один из операндов перед выполнени ем операции разделить на А. Кроме того, использование неразделимых ЛУ-кодов наталкивается на непреодолимые трудности в случае, когда воз никает необходимость помимо числовой информации контролировать ко мандную информацию в ЦВМ, которая подвергается различным преобра зованиям арифметического характера. Все указанные сложности снимают ся при переходе к разделимым AN-кодам.
У разделимых ЛУ-кодов на первых /я-старших позициях расположе ны информационные символы, а на ^-младших позициях (справа) - избы точные (проверочные) символы. Рассмотрим код, в котором проверочный
символ С (N) для числа N равен вычету |
числа |
-2mN по модулю А, где |
|
А - нечетное число, не равное 1, и А < 2к - |
1 (к - |
количество двоичных раз |
|
рядов, необходимое для записи чисел, не превосходящих А): |
|||
-2 mN = C(N) |
(mod А \ |
(9.32) |
|
или |
|
|
|
2mN = A -C (N ) |
(modА). |
|
Таким образом, кодовая последовательность разделимого кода для некоторого числа N имеет вид
2mN + A - {2wW(mod А)}. |
(9.33) |
Корректирующая способность разделимых кодов, по меньшей мере, не хуже корректирующей способности неразделимых ЛЛГ-кодов. При этом практически они существенно удобнее по ряду причин:
-информационные позиции сохраняют естественный порядок некодированного числа;
-их реализация связана с действиями над вычетами, причем вычет суммы или произведения равен сумме или произведению вычетов операн дов операции сложения или умножения соответственно.
Тем самым устраняется недостаток неразделимых AN-кодов, связан ный с отсутствием инвариантности последних относительно операций ум ножения и деления.
Следует отметить, что, в отличие от числового контроля по модулю, разделимые ЛМ-коды способны не только обнаруживать, но и исправлять арифметические коды.
Было показано, что для неразделимых ЛЛ^-кодов, исправляющих од нократную ошибку,
2п +1
Щ А , 3) = ^ - f ± , (9.34)
А
где п - длина кода и диапазон кодирующих чисел ограничен величиной
No = М(А,3) - 1. |
(9.35) |
При этом для разделимых /1А/-кодов, исправляющих однократную |
|
ошибку, справедливо |
|
Ms(A,3) = M(A,3) + 2 |
(9.36) |
и |
|
No = MS(A,3)- 1 =М(А,3)+ 1. |
(9.37) |
Пример 9.24. Пусть А = 13, k = [log^4] = [logl3] = 4. |
|
Из табл. 9.2 найдем М( 13,3) = 5; тогда из (9.37) следует N0 |
= 5+1 = 6 |
и т = [log N0] = |
[log 6] = 3. Таким образом, длина разделимого AN-кода |
п = т + к = 3 + 4 |
= 7, т. е. это (7,3,3)-код. |
Обозначим разделимый AN-код как (^AOs-код. Вид вектора в (13A/)s |
|
коде: 23N + 13 - |
{% N(modA)}. |
Пусть N = 5, тогда (AN)S= 23-5 + 13 - |
1 = 23*5 + 12. (AN)S в двоичной |
системе счисления имеет вид |
|
101 1100, N = 1, тогда (AN)s = 23-\ + 13 - 8 = 23 1 + 5 -> 001 0101. |
|
т к |
т к |
Контроль операции сложения: 101 1100 + 001 0101.
Складываем отдельно информационную часть: 101 +001 = 110, на
ходим для нее (N = 6) избыточную часть: 13 - {2 т • 6(mod 13)} = 13 - 9 = = 4 -> (4)2 = 0100. Теперь независимо складываем избыточные части сла гаемых: 1100+0101 = 10001 -►(17)I0; (17)10 =4(mod 13); (4)2 = 0100.
Таким образом, при отсутствии арифметических ошибок избыточ ные части совпадают. При несовпадении образуется синдром, отличный от нуля, однозначно определяющий величину и место ошибки.
Синдром определяется как вычет искаженного кодового числа А по модулю А.
Пусть |
|
А = AN + Е\ А = c(mod А), |
|
А =AN + Е ; Е s e(mod А). |
(9.38) |
с - е . |
|
(AN)s -код и (AN)-KOR исправляют все ошибки из множества S тогда
итолько тогда, когда гл{Е\) ф гл(Е2) для любых двух различных ошибок Е\
иЕ2, таких, что
\EI - E 2 \< AN 0,
где га(Е) - вычет искаженного вектора по mod А, называемый синдромом.
Впроцессе декодирования ЛМ-кодов после вычисления синдрома для определения номера искаженной позиции и величины ошибки необхо димо использовать таблицу, связывающую синдромы и соответствующие им ошибки. Согласно определению арифметической ошибки исправление заключается в алгебраическом сложении полученного искаженного ре зультата с кодом ошибки.
Взаключение следует отметить, что кроме рассмотренных видов арифметических кодов существуют и другие - циклические, композицион ные и пр. Для всех разновидностей рассмотренных выше арифметических кодов определены граничные оценки и разработаны процедуры декодиро
вания в условиях действия симметричных и несимметричных независимых и пакетирующихся арифметических ошибок.
Контрольные вопросы к главе 9
1.Построить полную систему классов вычетов и выделить идеал по mod 3 и mod 5.
2.Дать определение термина «свертка числа» и привести примеры сверток по mod 5 и mod 7.
3.Какой показатель (или показатели) устройств обработки инфор мации улучшает (ухудшает) введение встроенного функционального кон троля на основе числового контроля по модулю простого числа - надеж ность, отказоустойчивость, достоверность.
4.Устройство обработки данных реализует операции сложения, вы читания и умножения. В устройстве реализован контроль по модулю про стых чисел 5 и 7 и соответствующие алгоритмы для указанных операций. Выполнить следующие задания:
4.1.Привести числовой пример для исходных операндов А = 11, В = 4 реализации упомянутых выше алгоритмов контроля двухместных опера ций сложения, вычитания и умножения.
4.2.Разработать общую структуру (модель) устройства контроля (аналогичную приведенной на рис. 9.1), реализующего алгоритмы контро ля по модулям 5 и 7 для данных и операций из п. 4.1.
5.Для исходных операндов и модулей контроля из п. 4 выполнить задания, аналогичные приведенным в п. 4.1 и 4.2, для числового контроля операции деления.
6.Для исходных операндов и модулей контроля из п. 4 (А = 10112,
В= 01002) выполнить задания, аналогичные приведенным в п. 4.1 и 4.2, для числового контроля по модулям 5 и 7 операции логического сложения.
7.Для исходных операндов и модулей контроля из п. 4 (А = 10112,
В= 01002) выполнить задания, аналогичные приведенным в п. 4.1 и 4.2, для числового контроля по модулям 5 и 7 операции логического умножения.
8.Для исходных операндов и модулей контроля из п. 4 (А = 10112,
В= 01002) выполнить задания, аналогичные приведенным в п. 4.1 и 4.2, для числового контроля по модулям 5 и 7 операции суммирования по модулю 2.
9.Для исходных операндов и модулей контроля из п. 4 (А = 10112,
В= 01002) выполнить задания, аналогичные приведенным в п. 4.1 и 4.2, для числового контроля по модулям 5 и 7 операции инвертирования.
10.Оценить количественно эффективность метода числового кон троля по модулю простых чисел 2, 3, 5, 7, 11.
И.Объяснить разницу между метрикой Хэмминга и арифметиче ской метрикой. Определить расстояние по Хэммингу и арифметическое расстояние между двоичным представлением следующих чисел: N\ - 12(0
и# 2 = 9,0; N\ = 13,о и N2 = 10,0.
12.Какие числа в СОК являются правильными? Представить число
А = 73,о в СОК по основаниям Р, = 3; Р2 = 5; Ръ= 7. Является ли это число правильным?
13.Дать определение веса и кодового расстояния числе в СОК. Ус тановить связь между количеством избыточных модулей и кодовым рас стоянием.
14.Построить избыточный код в СОК, обнаруживающий однократ
ные арифметические ошибки для рабочего диапазона не больше 230 (максимально приближенному снизу к этому числу). Привести число вой пример обнаружения ошибки, используя ортогональные базисы из примера 9.11 и любой алгоритм, описанный в разделе 9.3.2.
15. Указать возможные области применения арифметических кодов. Привести известные арифметические коды, обнаруживающие и исп равляющие арифметические ошибки.
Список использованной литературы
1.Кон Е.Л. Передача данных в информационно-управляющих сис темах. Теоретические основы помехоустойчивой передачи и обработки цифровой информации: учеб, пособие / Е.Л. Кон Перм. гос. техн. ун-т. - Пермь, 2000. - 158 с.
2.Пропускная способность канала с пакетами ошибок // Кибернети ческий сборник / Э.Н. Гилберт. - М : Мир, 1964. - Вып. 9. - С. 109-122.
3.Блох Э.Я. Модели источника ошибок в каналах передачи инфор мации / Э.Я. Блох, О.В. Попов, В.Я. Турин. - М.: Связь, 1971.
4.Эллиот Р. Модель коммутируемой телефонной линии для переда чи данных // Статистика ошибок при передаче цифровой информации. - М.: Мир, 1966.-С . 90-112.
5.Пуртов Л.П. Элементы теории передачи дискретной информации / Л.П. Пуртов. - М.: Связь, 1972.
6.Советов Б.Я. Теория информации / Б.Я. Советов. - Л.: Изд-во Ле нинград. гос. ун-та, 1987.
7.Заездный Н.М. Основы теории разделения и кодирования сигна лов: учеб, пособие в 2 частях / Н.М. Заездный, Е.И. Плоткин. - Л.: Изд-во ЛЭИС, 1968.
8.Гойхман Э.Ш. Передача информации в АСУ / Э.Ш. Гойхман, Ю.И. Лосев. - М.: Связь, 1976.
9.Юргенсон Р.И. Помехоустойчивость цифровых систем передачи телемеханической информации / Р.И. Юргенсон. - Л.: Энергия, 1971.
10.Касами Т. Теория кодирования / Т. Касами, Н. Токура, Е. Ивадари, Я. Инагаки. - М.: Мир, 1978.
11. Кон Е.Л. Избыточное кодирование в системах телемеханики и передачи данных: учеб, пособие / Е.Л. Кон, С.Н. Лицын, О.И. Шеховцов; Перм. политехи, ин-т. - Пермь, 1986.
12.Кларк Дж. Кодирование с исправлением ошибок в системах циф ровой связи / Дж. Кларк, Дж. Кейн. - М.: Радио и связь, 1987.
13.Житков М.Ю., Лицын С.Н. Применение алгебраических кодов в СТМ: учеб, пособие / М.Ю. Житков, С.Н. Лицын; Перм. политехи, ин-т. - Пермь, 1988.
14.Питерсон У., Уэлдон Э. Коды, исправляющие ошибки / У Пи терсон, Э. Уэлдон. - М.: Мир, 1976.
15.Скляр Б. Цифровая связь. Теоретические основы и практическое
применение. - изд. 2-е, испр. : пер. с англ. / Б. Скляр. - М.: Вильямс, 2003.
-1104 с .: ил.
16.Кон Е.Л. Защита данных на гибких магнитных дисках с помо щью алгебраических кодов // Информационно-управляющие системы / Е.Л. Кон, С.В. Торопицын; Перм. гос. техн. ун-т. - Пермь, 1997. - С. 23-27.
17. Блэк Ю. Сети ЭВМ: протоколы, стандарты, интерфейсы /
Ю.Блэк. - М.: Мир, 1990.
18.Мартин Дж. Вычислительные сети и распределенная обработка данных: программное обеспечение, методы и архитектура / Дж. Мартин. - М.: Финансы и статистика, 1986
19.Палмер М. Проектирование и внедрение компьютерных сетей: учебный курс. 2-е издание / М. Палмер, Р.Б. Синклер. - СПб.: БХВПетербург, 2004. - 740 с.
20.Акушский И.Я. Машинная арифметика в остаточных классах / И.Я. Акушский, Д.И. Юдицкий. - М.: Сов. радио, 1968.
21 . Дадаев Ю.Г. Арифметические коды, исправляющие ошибки Ю.Г. Дадаев. - М.: Сов. радио, 1969.
22.Журавлев Ю.П. Надежность и контроль ЭВМ / Ю.П. Журавлев, Л.А. Котелюк, Н.И. Циклинский. - М.: Сов. радио, 1978.
23.Путинцев Н.Д. Аппаратный контроль управляющих цифровых вычислительных машин / Н.Д. Путинцев. - М.: Сов. радио, 1966.
24.Сидоров А.М. Методы контроля электронных цифровых машин / А.М. Сидоров. - М.: Сов. радио, 1966.
25.Ушакова Г.Н. Аппаратный контроль и надежность специализи рованных ЭВМ / Г.Н. Ушакова. - М.: Сов. радио, 1969.
26.Обнаружение и исправление ошибок в дискретных устройствах / под ред. В.С. Толстякова. - М.: Сов. радио, 1972.
ПРИЛОЖЕНИЕ
Реализация модели кодирующих и декодирующих устройств комбинаторных кодов в среде моделирования MATLAB Simulink
Для улучшения понимания принципов построения кодирующих и декодирующих устройств предлагается использование схемотехнического моделирования. Для этих целей хорошо подходит пакет моделирования MATLAB Simulink. Он позволяет создавать схемотехнические модели логи ческих устройств различной сложности и функциональности, реализовать различные внешние воздействия и моделировать работу. С спользованием указанного пакета разработаны, апробированы и внедрены в учебный про цесс комплексы лабораторных работ по дисциплинам «Передача данных в информационно-управляющих системах» и «Теория электрической связи». Приведем примеры фрагментов построенных моделей в лабораторной работе «Применение комбинаторных кодов в системах передачи дискретной инфор мации».
На рис. 1,2 приведен пример реализации комбинатора неизбыточно го кода на 7 входов (М1...М7) и 3 выхода (ml ...m3). Комбинатор включен по первому способу - между ключами управления и буферным регистром.
EJte gdlt yjew gmulabon Format loots Help
□ 1 в в Н в | * Ч й И 1 г Э С : | ^ ■ |в
M- 7
m * pog2(M)]- 3
M1
М2
М3
M4
M5
MO
M7
F (IOO% ' |
^fcedStepDtscrete ^ |
Рис. 1
Выходной сигнал (информационный вектор U) соответствуют замк нутому ключу (состоянию) М5 (кодовой комбинации 101).
-leШ
9 » Ь * |
'e m S taito i rormt Грек |
|Maid j+fflMlElg. |
□ I <2 |
Q # I * Cj' fi ! Г5 : - : ►■js |
На рис. 6 приведен пример реализации декомбинатора неизбыточно го кода на 3 входа (m l...m3) и 7 выходов. Его работа промоделирована для входного информационного вектора U (101), что соответствует десятич ному числу (номеру состояния) 5.
Реализация кодирующих и декодирующих устройств БЧХ-кодов
всреде автоматизированного проектирования ALTERA MAX+plus II
Вкачестве элементной базы для компонентов современных информаци онно-измерительных и телекоммуникационных систем используются микро схемы сверхбольшой степени интеграции (СБИС). Наиболее часто они реали зуются в виде устройств с программируемой логикой (программируемые логи ческие интегральные схемы - ПЛИС). ПЛИС позволяют реализовать различ ные устройства, начиная от простейших (счетчики, кодеки, мультиплексоры и
т.п.) и заканчивая процессорными устройствами.
В качестве примера рассмотрим применение ПЛИС в качестве аппа ратно-программного базиса кодирующего устройства (кодера) системы передачи дискретной информации. Выберем ПЛИС производства фирмы Altera FLEX 8000, для программирования которой применяется система автоматизированного проектирования (САПр) MAX+plus II.
Поставим задачу спроектировать, разместить проект в ПЛИС и про моделировать работу кодера согласно заданию примера 6.12 (построить кодер с предварительным умножением на х 1 для циклического кода (7,4,3), порождающего полинома g(х) = 1 Ф х 2, ® хъ и промоделировать работу схемы для информационного полинома и(х) = 1).
Для реализации проекта будем использовать текстовый редактор в составе САПр (рис. 7).
Рис. 7. Текстовый редактор в составе САПр
Далее приведем полный текст проекта, описывающего работу коде ра, с необходимыми комментариями.
LIBRARY ieee;
USE ieee.std_logic_l164.all;
-- описание входов/выходов интерфейса кодера:
ENTITY Coder IS PORT (
-- ВХОДЫ---
--информационный вектор U и : IN STD_LOGIC;
--сигнал тактовой синхронизации
CLK : IN STDJLiOGIC;
--сигнал сброса RESET : IN STD_LOGIC;
—сигнал управления обратной связью CONTROL : IN STD_LOGIC;
—-ВЫХОД— -
—вектор V
V OUT STD_LOGIC)?
END Coder;
--описание работы кодера ARCHITECTURE behaviour OF Coder IS
--выходы ключей К1 и К2, выход регистра signal kl,k2,k stcLlogic;
--триггеры регистра сдвига D0..D2
Рис. 9. Временная диаграмма моделирования кодера
Первые 4 (т = 4) такта работы кодера в устройство деления в составе регистра поступает информационный вектор U = (0001), соответствующий информационному полиному и(х) = 1. Одновременно информационный вектор поступает в линию связи в виде информационной части вектора V’ В течение первых 4 (т = 4) тактов ключ kl открыт, ключ к2 закрыт, что соответствует значению сигнала управления CONTROL = 1. К окончанию 4-го такта в регистре сформировалась избыточная часть в виде вектора 101, что соответствует полиному г(х) = 1 Ф х2
Последующие (с 5-го по 7-й) 3 (к = 3) такта ключ kl закрыт, ключ к2 открыт, что соответствует значению сигнала управления CONTROL = 0. В указанный интервал избыточная часть поступает в линию связи, форми руя соответствующую часть вектора V.
Можно сделать вывод, что результаты схемотехнического модели рования полностью совпадают с результатами аналитического моделиро вания (см. табл. 6.5).
На рис. 10. показано размещение проекта кодера в выбранной ПЛИС. Цветные элементы соответствуют задействованным для проекта входам/выходам, а также задействованным элементам (триггерам и комбина ционной части).
1ъдо4*«а о» о* |
Anv»ц«им |
'QfeNooio; |cod*/ (ЕРСр9й9А1 |
VI и «м М в т* 1 М п* Р 1 м : |
Si
i
I№
l - i l . i l i f a
□ и М ы .
Щ ' Ц т т Л в 4 ‘
AoO
a
« V
Row
a
p s i i s a hf^-1 i L I |
|
|
|
|
|
|
||||
-SffiSSSSSi- |
•*-, |
|
|
|
|
_ |
|
|||
|
|
|
СМ2 |
|
1 |
|
|
|
|
|
AflyCol |
Coll |
C o l) |
cw s |
Col# |
Col 7 |
Colt |
SG |
|||
a |
|
a |
a |
□ |
(=1 □ |
a |
a |
a |
||
|
|
i |
г |
|
£: ■it-:-i |
|
у |
11 |
||
|
|
|
i |
|
fl- |
. A |
|
|||
|
Qtr3o■B |
|
|
1 |
в |
i . 4- m |
Row
A
a
% |
a |
□ c 3 i |
c 3 c 3 c3 c 3 □ |
|
Colt# C o lli |
Col 12 |
C o ll) |
|
a |
a |
a |
a |
|
.1 |
ri |
I. |
- i |
a |
||
BB |
8 |
BB |
|
□ |
iiG.iirrm |
c 3 a |
Row |
|
В |
t o m MOM! |
a |
P I A M M ) |
□OlttMOO) |
|
|
JQ O N O tl |
~1аш
^l4J*J
l
J
SSSi о c3 c з i |
£1 c 3 c3 c 3 t 3 t3 c |
c 3 □ |
Qaintoo |
|||
Щ e- # |
9 if |
i ■81T !■ |
? |
f |
I |
|
± |
|
% |
9 |
« |
___ zl |
|
|
|
|
|
Рис. 10. Размещение проекта кодера в выбранной ПЛИС
Аналогично реализуются другие компоненты системы передачи данных. Причем они могут быть объединены в одной ПЛИС, что значи тельно повышает эффективность и упрощает реализацию устройств. По этому ПЛИС являются аппаратно-программной базой практически всех современных электронных приборов и устройств.
Учебное издание
Кон Ефим Львович, Фрейман Владимир Исаакович
ТЕОРИЯ ЭЛЕКТРИЧЕСКОЙ СВЯЗИ. ПОМЕХОУСТОЙЧИВАЯ ПЕРЕДАЧА ДАННЫХ
ВИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ
ИТЕЛЕКОММУНИКАЦИОННЫХ СИСТЕМАХ: МОДЕЛИ,
АЛГОРИТМЫ, СТРУКТУРЫ
Учебное пособие
Редактор, корректор И.Н. Жеганина
Подписано в печать 24.10.07. Формат 60x90/16. Уел. печ. л. 20,0. Тираж 150. Заказ №145/2007.
Издательство Пермского государственного технического университета.
Адрес: 614990, г. Пермь, Комсомольский пр., 29, к. 113. Тел. (342)219-80-33.