УДК 681.324.
Б. А. Савельев, М. В. Кручинина СИСТЕМА ПЕРЕДАЧИ НА ОСНОВЕ КАНАЛЬНОГО КОДА
Аннотация. Актуальность и цели. Канальное (линейное) кодирование нашло широкое применение в локальных вычислительных сетях и при записи информации на магнитные и оптические накопители информации. Это связано с простотой построения кодеров и декодеров, которые преобразуют сигналы по уровню и форме, а также обеспечивают возможность самосинхронизации приемного устройства. Платой за это является увеличение скорости передачи или скорости записи сигналов равномерными канальными кодами типа Манчестер, NEW, в которых каждый двоичный бит преобразуется в два полубита разной полярности +1 и -1. Это аналогично помехоустойчивому кодированию с двойной избыточностью, поскольку (n, k) = (2k, k), где n - длина кода, k -длина информационной части кода. Предлагается использовать избыточность кода NEW и для обнаружения искажений принятых сигналов. Целью данной работы является моделирование работы канального кода для исследования ошибкообнаруживающих свойств канального кода NEW. Материалы и методы. На основе анализа структуры и формы канальных кодов возможно обнаружение ошибок и искажений. Алгебраические методы оценки вероятности обнаружения ошибок канальным кодом NEW весьма затруднительны, поэтому в работе предлагается моделирование системы передачи на основе пакета Simulink, которое позволяет применить статистические методы оценки корректирующих свойств канальных кодов. Ошибкообнаруживающие способности равномерных канальных кодов в сочетании с помехоустойчивыми кодами существенно повышают корректирующие способности систем повышения достоверности передачи информации. Результаты. Разработана модель системы передачи информации канальным кодом NEW, состоящая из модели кодера и декодера на основе типовых блоков пакета Simulink. Результаты работы декодера контролируются с помощью блоков Scope и Display. На приеме сигналы регистрируются методом стробирования узлом синхронизации. Блоки сигналов Display обеспечивают подсчет ошибочных элементов принятой информации. Выводы. Разработанная и протестированная модель системы передачи на основе канального кода позволяет оценить ошибкообнаруживающие способности кода NEW, которые можно эффективно использовать в каскадных системах помехоустойчивого кодирования информации. Результаты экспериментальных испытаний можно сравнить с данными, полученными по приведенным математическим выражениям.
Ключевые слова: канальный код, модель, система передачи, кодирование, декодирование, обнаружение ошибок, помехоустойчивый код.
B. A. Savel'ev, M. V. Kruchinina TRANSFER SYSTEM ON THE BASIS OF CHANNEL CODE
Abstract. Background. Channel (linear) coding is widely used in local computing networks and in data recording on magnet and optic data storages. It is associated with simple construction of coders and decoders that transform signals by level and form, as well as provide the possibility of self-synchronization of a receiving device.
It leads to the increase of the transfer rate or the rate of signal recording in the form of equal-length channel codes of Manchester type, NEW, where each binary bit is
transformed into two half-bits of different polarity +1 and -1. It is similar to noise resistant coding with binary redundancy as (n, k) = (2k, k), where n - code length, k - length of the information segment of the code. It is suggested to use the NEW code redundancy also detection of received signal distortions. The article aims at modeling the work of the channel code to investigate error-detecting properties of the NEW channel code. Materials and methods. On the basis of the analysis of the structure and form of channel codes it is possible to detect errors and destortions. Algebraic methods of error detection probability assessment using the NEW channel code are quite difficult, and therefore the article suggests to model transfer systems on the basis of the Simulink package, that allows applying statistical methods of assessment of channel code’s correcting properties. Error-detecting properties of equal-length channel codes in combination with noise resistant codes significantly increase correcting properties of systems of data transfer fidelity improvement. Results. The authors developed a model of the system of data transfer by the NEW channel code consisting of a coder and decoder model on the basis of Simulink package standard blocks. Decoder performance is controlled by the Scope and Display blocks. At the reception the signals are registered by the method of strobing by the synchronization unit. Display signal blocks provide enumeration of received data element errors. Conclusions. The developed and tested model of the transfer system on the basis of the channel code allows assessing of error-detecting properties of the NEW code that may be efficiently used in cascading systems of noise resistant data coding. Experimental testing results may be compared with data obtained through reduced mathematical expressions.
Key words: channel code, model, transfer system, coding, decoding, detection of errors, noiseproof code.
Введение
В вычислительных сетях и системах хранения информации широкое распространение для повышения достоверности передачи и хранения информации получили каскадные системы помехоустойчивого кодирования, составными частями которых являются внешние и внутренние коды [1, 2]. Эти коды обеспечивают получение конечной скорости передачи при больших длинах кодов. В качестве внешних кодов чаще всего применяются коды Рида - Соломона, циклические коды, турбо-коды [3, 4], а в последнее время коды LDPC (Low - Density Parity - Check) [5, 6]. Внутренними кодами могут быть циклические коды, коды Хэмминга, Рида - Соломона, сверточные и канальные коды [1, 7, 8].
Основные проблемы, стоящие при разработке современных средств хранения и передачи информации, связаны с увеличением плотности записи, уменьшением времени доступа к информации, увеличением скорости передачи информации и с повышением ее достоверности и надежности.
В средствах хранения информации и локальных вычислительных сетях требуется решить следующие задачи:
- увеличение дальности передачи за счет применения двухполярных сигналов;
- спектр линейного сигнала должен быть как можно уже;
- в линейном сигнале должна отсутствовать постоянная составляющая, что позволит повысить верность или дальность передачи сигнала;
- структура линейного сигнала должна обеспечивать возможность выделения тактовой частоты на приемной стороне.
Перечисленные проблемы решаются при помощи линейного кодирования. Параметры получаемого линейного сигнала должны быть согласованы с характеристиками используемой линии связи.
К спектру сигнала предъявляется требование отсутствия постоянной составляющей, т.е. наличия постоянного тока между передатчиком и приемником. В частности, применение различных трансформаторных схем гальванической развязки препятствует прохождению постоянного тока.
Более узкий спектр сигналов позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных.
Синхронизация передатчика и приемника нужна для более точной регистрации сигналов на приеме. Для этого в сетях часто применяют так называемые самосинхронизирующиеся коды, сигналы которых несут для передатчика указания о том, в какой момент времени нужно осуществлять распознавание очередного бита. Любой резкий перепад сигнала - так называемый фронт -может использоваться для синхронизации приемника с передатчиком.
1. Анализ процессов передачи информации канальным кодом
Одним из широко применяемых в локальных вычислительных системах (ЛВС) и накопителях является канальный код типа NEW, который обеспечивает указанные характеристики [7]. Принцип преобразования двоичного сигнала кодом в код NEW происходит так (см. рис. 1): двоичная 1 преобразуется в два полубита (+U, +U) или (-U, -U), при этом каждая следующая 1 меняет полярность относительно предыдущей двоичной 1, где U - амплитуда сигнала, Т - длина двоичного сигнала, т - длина полубита; двоичный 0 преобразуется в два полубита вида (+U, -U) или (-U, +U). При этом каждый следующий 0 меняет полярность пары (+U, -U) или (-U, +U) на противоположную. В начале такта уровень сигнала сохраняет уровень сигнала предыдущего такта.
1 23456789 10
0 0 0 0 0
1 1 1 1 1
т < ► -► г <—
Рис. 1. Преобразование двоичного сигнала в код NEW: а - двоичный сигнал; б - код NEW, представленный в двухполярном виде NRZ (NRZ - Non Return to Zero)
2. Кодирование
Схема кодирования двоичной последовательности с помощью кода NEW показана на рис. 2. Кодирование осуществляется путем сравнения трех
сигналов: двоичных данных, синхросигнала, получаемого с генератора тактовых импульсов (ГТИ) и двоичных данных, сдвинутых на полпериода данных с помощью триггера D. Двоичные данные поступают на схему в виде биполярного кода NRZ. Сравнение трех указанных сигналов осуществляется путем суммирования по модулю 2 с помощью трех логических элементов «исключающее ИЛИ» (Ср1, Ср2, Ср3). Затем сигналы с выходов схем Ср1, Ср2 и Ср3 перемножаются на логической схеме И (К1). После этого с помощью инвертора Нет1 (Delayl) и схемы И (К2) выделяются фронты импульсов, которые подаются на триггер T, на выходе которого получают сигналы в коде NEW.
Рис. 2. Схема кодирования с помощью кода NEW
З. Модель кодера канального кода NEW
Модель кодера канального кода NEW представлена на рис. 3. Основные блоки на рис. 3 соответствуют блокам схемы кодирования, приведенным на рис. 2 и реализованным с помощью типовых блоков пакета Simulink [9]. Временные диаграммы работы кодера представлены на рис. 4 и контролируются с помощью осциллографа Scope l.
В качестве примера для кодирования взята двоичная последовательность 1001010000110001001100001.
Входной сигнал данных формируется с помощью блока сравнения (Compare To Constant 2), логического блока ИЛИ (Logical Operator 1) и мультиплексора (рис. 4,а). В результате сравнения входного сигнала (см. рис. 4,а), синхроимпульса (см. рис. 4,б) и задержанного с помощью блока задержки (Unit Delay) сигнала на сумматорах по модулю 2 (Relational Operator, Relational Operator 1, Relational Operator 2) и схеме И (Logical Operator 2) получен сигнал, показанный на рис. 4,в). Далее выделяются передние фронты полученной последовательности (рис. 4,г). Для этого используется блок задержки (Unit Delayl), схема НЕТ (Logical Operator 4), схема И (Logical Operator 10) и блок сравнения с константой (Compare To Constant 1). Полученный сигнал управляет R-S триггером, который с помощью блока задержки (Unit Delay2) и логической схемы И (Logical Operator 3) формирует сигнал в коде NEW. Сигнал в коде NEW с помощью блока усиления (Gain), блока вычитания константы -1 (Constant) и сумматора преобразуется в двухполярный (рис. 4,д). Осциллограф Scope 1 позволяет проконтролировать сигналы в любой точке кодера.
Рис. 4. Временные диаграммы кодирования кодом NEW
4. Декодирование
Схема декодера кода NEW разработана на основе схемы для декодирования сигналов манчестерского кода [S, 10] и приведена на рис. 5. В данном декодере одновременно решаются вопросы синхронизации и преобразования кода NEW в двоичный.
гти
Из канала связи
Кл
1
Сч
С 1
R
Дш
1
Кл
И 2
І >
д
Дш
2
&
г ж
&
Т
S 1
—
R
D
D 1
С и
ГП к,______
См б-г См
_lT *
[Т.
Выход
Рис. 5. Декодер кода NEW
Поступающие из канала связи сигналы (рис. 6,а) управляют ключами Кл1 и Кл 2, через которые проходят пачки импульсов длиной т (см. рис. 6,в,д), вырабатываемые генератором тактовых импульсов ГТИ (рис. 6,6). Частота импульсов от ГТИ равна /ТТИ = г ;/синх, где /жнх - частота синхронизации, г -коэффициент пересчета счетчиков, Усинх= 1/2 т.
Счетчики Сч1 и Сч2 совместно с дешифраторами Дш1 и Дш2 и схемами И1 и И2 вырабатывают короткие импульсы (стробы) в середине положительных и отрицательных импульсов (рис. 6,г,е). Стробы с выходов дешифраторов объединяются на схеме ИЛИ 1 (рис. 6,ж). Далее, проходя через триггер Т1, образуется синхросигнал (рис. 6,з). Подавая его и сигнал с выхода схемы
б
в
а
е
м
н
з
И1 (рис. 6,г) на входы Б1-триггера, получаем сигнал с задержкой на полпериода синхроимпульса (рис. 6,и). Выделенные фронты полученного сигнала с помощью схем неравнозначности на основе сумматоров по модулю 2 (См1 и См2) и инвертированные синхросигналы (рис. 6,л) подаются на входы Б2 триггера (рис. 6,к,л,м). Декодированный сигнал получают на выходе триггера Б2 (рис. 6,н).
а)
:-T~—~UTiL-r
в)
J__________________1-І I I____________U___________L
J_l_____________U__________L
LJ_____________1_|_________L
J_U____________L_l_l________:___U___________U_
д)
е)
Ш________LLLL
_U________U_________Ш________U_______L
ж)
11 I I I I I I I I
I I I I___I I I I II I I I I I I I I I I I____I I I I I I I
I I I I I_1111
I I I I I I I I I I
з)
и)
х
.. L_ ..L
к)
_____г_дд_^г________лплш
л)
м)
г________ги_п____________Ln____________П_П________Ll_______ПЛ
н)
рпп nmnmo о □ п гп о о о й гг^п о □ ()то о гт^пр о о о о
Рис. 6. Временные диаграммы работы декодера
5. Модель декодера канального кода NEW
Модель декодера канального кода NEW также реализована на основе типовых блоков пакета Simulink и показана на рис. 7.
Модель декодера можно разделить на две части: первая часть осуществляет синхронизацию и регистрацию сигналов [10] кода NEW методом стробирования, а вторая часть осуществляет преобразование кода NEW в исходный двоичный код 1001010000110001001100001. Первая часть модели декодера разработана в соответствии со схемой на рис. З. Для этого использованы блоки пакета Simulink. Временные диаграммы в основных точках модели декодера показаны на рис. S. Функции регистрации и синхронизации сигналов кода NEW выполняются с помощью: двух блоков выработки констант (Constantl и Constant2), блока сложения (Addl), блока вычитания (Subtract), двух усилителей (Gain и Gainl), четырех логических блоков умножения (Logical Operator 1, Logical Operator 2, Logical Operator4 и Logical Operator З), двух счетчиков (Counter и Counter2), двух дешифраторов (Deshifrator, Deshifrator 1), схемы ИЛИ (Logical Operator 6) и блока сравнения с константой (Compare To Constant 2).
На вторую часть декодера сигналы подаются со схем И (Logical Operator 4 и Logical Operator З), при этом сигналы в коде NEW с выхода блока Logical Operator 4 отображаются на осциллографе Scope 1 (см. рис. S^). C помощью SR-триггера (Flip - Flop 1), двух блоков задержки (Unit Delay 1 и Unit Delay 2), двух схем И (Logical Operator 7 и Logical Operator S) и схемы ИЛИ (Logical Operator 1) выделяются фронты сигналов кода NEW (см. рис. S,6). Короткие стробы с выходов схем И (Logical Operator4 и Logical Operator) отображаются на рис. S,e^). С помощью схемы ИЛИ (Logical Operator 6) и блока сравнения с константой (Compare To Constant 2) короткие стробы объединяются и затем подаются на схему деления на 2. Деление производится с помощью D-триггера (D Latch 1), блоков задержки (Unit Delay3 и Unit Delay 4) и логического блока И (Logical Operator 12). Сигналы после деления показаны на рис. S^.
Процесс преобразования кода NEW в двоичный осуществляется блоками: пяти схем И (Logical Operator 13, Logical Operator 14, Logical Operator 16, Logical Operator 17, Logical Operator 19), схемы НЕТ (Logical Operator 1З, схемы ИЛИ (Logical Operator 1S), блока сравнения с константой (Compare To Conctant 1) и SR-триггера (Flip - Flop 2). Двоичный код 1001010000110001001100001 показан на рис. S,e.
б. Обнаружение ошибок кодом NEW
Код NEW обладает способностью к обнаружению ошибок. Это видно из следующего. Как показано выше, каждый двоичный разряд данных на передаче преобразуется в два импульса ±U, что ведет к удвоению разрядов канального кода. Такой код можно обозначить (n, k,), где n - длина канального кода, k - длина двоичного кода, n = 2k.
В терминах теории помехоустойчивого кодирования [1] такой код обладает двойной избыточностью, которую можно использовать и для обнаружения некоторых комбинаций ошибок. Например, в коде NEW после двух полубит (+U, +U) не может идти пара (-U, +U) или (+U, +U), а после (-U, -U) не может идти пара (+U, -U) или (-U, -U).
Это и является сигналом для обнаружения ошибок. Таким образом, кодом NEW обнаруживается часть комбинаций ошибок. Вероятность ошибки этого кода равна
n 2k
Рош (n) = £ СпР1 (1 - p)n-i = Z C2k • P (1 - p)2k-i . (1)
i=1 i=1
Вероятность необнаружения ошибок этим кодом равна
1 2k
Рно (n) = ■— Z WjPJ (1 - p)2k-j, (2)
2 j=1
где Wi - число вариантов j-кратной необнаруживаемой кодом NEW ошибки, p - вероятность ошибки на бит в канале.
Более точное выражение для вычисления вероятности необнаружения ошибок можно получить после выявления конкретных сочетаний обнаруженных и необнаруженных этим кодом ошибок с учетом корреляции между соседними символами.
Заключение
В статье приведена разработанная и протестированная система передачи дискретной информации на основе канального кода NEW. Модель спроектирована на основе блоков пакета Simulink и включает модели кодирующего и декодирующего устройств. Приведены временные диаграммы, показывающие процессы преобразования сигналов при кодировании и декодировании кодом NEW. Временные диаграммы получены в процессе тестирования модели системы передачи. Модель позволяет исследовать статистические характеристики по ошибкообнаруживающим свойствам канального кода, которые можно сравнить с результатами теоретических расчетов по приведенным формулам.
Список литературы
1. Форни, Ф. Каскадные коды / Ф. Форни. - М. : Связь, 1974. - 207 с.
2. Forney, G. D. The Veterbi Algoritm / G. D. Forney Proceedings of the IEEE. -1978. - Vol. 61, № 3. - P. 768-278.
3. Berrou, C. Near optimum Error Correcting Coding and Decoding: Turbo - Codes /
C. Berrou, A. Glavieux // IEEE Trans. On Communications. - 1996. - Vol. 44, № 10. -P. 1261-1271.
4. Divsalar, D. Effective Free Distance of Turbo - Codes / D. Divsalar and R. J. McElience // Electronic Leeters. - 1996. - Vol. 23, № 5. - P. 445-456.
5. Chung, S. On the Desing of Low - Denisity Parity - Check Codes within 0.0045 db of the Shannon Limit / S. Chung, D. Forney, T. Richardson, R. Urbanke // IEEE Comm. Letters. Feb. - 2001. - Vol. 5, № 2. - P. 58-60.
6. Ammar, B. Construction of low - density parity - check codes based on balanced incomplete block designs / B. Ammar, Y. Kou, J. Xu and S. Lin // IEEE Transactions on information Theory. - 2004. - Vol. 50, № 6. - P. 1257-1268.
7. Савельев, Б. А. Моделирование приемника канального кода / Б. А. Савельев, М. А. Баканов // Вычислительные системы и технологии обработки информации : межвуз. сб. науч. тр. - Вып. 8 (31). - Пенза : Инф.-изд. центр ПГУ, 2008. - С. 58-68.
8. Hagenauer, J. Iterative Decoding of Binary Block and Convolutional Codes / J. Hagenauer, E. Offer and L. Papke // IEEE Trans. Info. Theory. - 1996. - Vol. 42, № 2. - P. 429-445.
9. Черных, И. В. SIMULINK Среда создания инженерных приложений / И. В. Черных. - М. : ДИАЛОГ-МИФИ, 2004. - 496 с.
10. А. с. 1.591.189 СССР, МКИ4, H03M 5/12, 13/00. Устройство для декодирования сигналов / Савельев Б. А. - 1990, Бюл. № 33.
References
1. Forni F. Kaskadnye kody [Cascading codes]. Moscow: Svyaz', 1974, 207 p.
2. Forney G. D. The Veterbi Algoritm. Proceedings of the IEEE. 1978, vol. 61, no. 3, pp. 768-278.
3. Berrou C., Glavieux A. IEEE Trans. On Communications. 1996, vol. 44, no. 10, pp. 1261-1271.
4. Divsalar D. and McElience R. J. Electronic Leeters. 1996, vol. 23, no. 5, pp. 445-456.
5. Chung S., Forney D., Richardson T., Urbanke R. IEEE Comm. Letters. Feb. 2001, vol.
5, no. 2, pp. 58-60.
6. Ammar B., Kou Y., Xu J. and Lin S. IEEE Transactions on information Theory. 2004, vol. 50, no. 6, pp. 1257-1268.
7. Savel'ev B. A., Bakanov M. A. Vychislitel’nye sistemy i tekhnologii obrabotki infor-matsii: mezhvuz. sb. nauch. tr. Vyp. 8 (31) [Computing systems and technologies of data processing: Interuniversity collected papers. Issue 8 (31)]. Penza: Inf.-izd. tsentr PGU, 2008, pp. 58-68.
8. Hagenauer J., Offer E. and Papke L. IEEE Trans. Info. Theory. 1996, vol. 42, no. 2, pp. 429-445.
9. Chernykh I. V. SIMULINK Sreda sozdaniya inzhenernykh prilozheniy [SIMULINK environment for engineering application building]. Moscow: DIALOG-MIFI, 2004, 496 p.
10. Certificate of authorship 1.591.189 USSR, MKI4, H03M 5/12, 13/00. Device for signal decoding. Savel'ev B. A. 1990, Bul. no. 33.
Савельев Борис Александрович доктор технических наук, профессор, кафедра информационновычислительные системы, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40)
E-mail: [email protected]
Кручинина Мария Владимировна аспирант, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40)
E-mail: [email protected]
Savel'ev Boris Aleksandrovich Doctor of engineering sciences, professor, sub-department of data-computing systems, Penza State University (40 Krasnaya street, Penza, Russia)
Kruchinina Mariya Vladimirovna
Postgraduate student, Penza State University (40 Krasnaya street, Penza, Russia)
УДК 681.324.
Савельев, Б. А.
Система передачи на основе канального кода / Б. А. Савельев, М. В. Кручинина // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2013. - № 4 (28). - С. 62-73.