Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги / Теория электрической связи. Помехоустойчивая передача данных в информационно-управляющих и телекоммуникационных системах модели, алгоритмы, структуры.pdf
Скачиваний:
10
Добавлен:
13.11.2023
Размер:
24.95 Mб
Скачать

в арифметических кодах, в отличие от алгебраических, ошибки в различ­ ных разрядах не являются независимыми.

Пример 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 < к < log+ 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.

Соседние файлы в папке книги