русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Кодирование информационных сигналов.


Дата добавления: 2015-08-14; просмотров: 1035; Нарушение авторских прав


Кодирование (Forward Error Correction) – математическая задача, основанная на высшей алгебре. При кодировании используют поля Галуа: GF(2) и GF(m). В большинстве кодов оперируют в полях Галуа GF(2). В этом случае операции сложения и вычитания заменяют операцией сложения по модулю 2.

3.2.1. Блочное кодирование.

В основе блочного кодирования лежит понятие "расстояния по Хэммингу". Закодированное слово – это вектор длиной n, где к информационному вектору длиной k добавлены n-k проверочных бит (в частном случае, бит паритета). "Расстояние по Хэммингу" - это мера разницы между двумя кодовыми словами Ci и Ci в (n,k). Расстояние по Хэммингу равно числу ненулевых бит в выражении Ci + Ci в GF(2), где знаком "+" обозначена операция сложения по модулю 2. Так, если исходные слова Ci и Ci отличаются в одном бите, то после кодирования разница между ними может составлять 3, 5, 7 и более бит.

По назначению блочные коды подразделяют на проверочные коды (например, CRC – Check Redundancy Code) и коды, исправляющие ошибки.

Информационный блок можно представить вектором i, и к нему добавляют проверочную часть – вектор b = i´P, где Р – порождающая матрица. В результате по каналу связи передают кодовое слово

c = i + b = i ´ G,

где G=[I P] называют порождающей матрицей систематического кода. Она имеет размер [k´n].

При декодировании принятого кодового слова используют проверочную матpицу H размера [(n-kn], удовлетворяющую условию ортогональности,

 

G´Hт=0,

 

где т – символ транспонирования.

Если при прохождении по каналу связи в кодовом слове с появятся ошибки, так что принятое слово w=с+e, где e – вектор ошибок, то, выполняя при декодировании операцию

 

w´Hт=(с+e)´Hт = i´G ´Hт + e´Hт = e´Hт ,



 

получаем вектор синдрома s = w´Hт = e´Hт длиной (n–k), зависящий только от вектора ошибок и проверочной матрицы. Если ошибки отсутствуют, то s = 0.

Остановимся на методах исправления ошибок. Наиболее простой, но самый затратный метод – сравнить принятый вектор w со всеми возможными векторами с, соответствующим информационным словам i. Тот вектор, который по Хэммингу минимально отличается от принятого вектора w, считаем верным результатом.

Процесс поиска можно пояснить с помощью двумерной модели на плоскости (рис.3.3). Каждое кодовое слово – точка в n-мерном пространстве. Минимальное расстояние по Хэммингу dmin определяют как минимум расстояния по всем возможным парам различных слов.

Рис.3.3. К определению корректирующей способности кода

Корректирующая способность кода – это сфера, определяемая числом бит, которое может быть исправлено (радиус t на рис. 1.1). Общее число обнаруженных ed и исправленных ec ошибок подчиняется правилу

ed + ecdmin – 1, причем eced .

Так, если кодовое расстояние dmin = 7, то можно обнаружить и исправить 3 ошибки (радиус t = 3). Можно построить код так, что будут обнаружены 4 ошибки, но исправлены только 2 (сузить радиус t). Во всяком случае, если в принятом слове будет более 4-х ошибок, то будет принят неверный результат, т.е. процесс декодирования– это всегда вероятностный процесс.

Существует большое разнообразие блочных кодов, начиная от проверочных кодов (CRC – Check Redundancy Code) до кодов, исправляющих групповые ошибки. Пример такого кода – код Рида-Соломона 1-го рода, используемый в стандарте cdma2000 при передаче телефонии вверх (в фундаментальном канале от мобильной станции к базовой). Здесь при декодировании используют мягкое решение, основанное на нахождении корреляционной функции принятого сигнала и правильного кода. Каждые 6 бит информационного блока кодируют 64-битовым словом функции Уолша wal0…. wal63 (рис.3.4). При приеме сигнал подают на 64 коррелятора и правильный ответ определяют по максимуму полученных корреляционных функций.

При использовании жестких решений принятый сигнал квантуют (каждому биту присваивают значение или "0" или "1"), а затем проверяют синдром. Ошибки определяют по полученному синдрому. Например, код (8,5) позволяет найти и исправить одну ошибку при передаче 5-битового слова (табл. 3.1).

Рис.3.4. Функции Уолша

 

Таблица 3.1.

Синдром Вектор ошибки

3.2.2. Сверточное кодирование.

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

Закон кодирования определяет n образующих полиномов q1qn. Рассмотрим простейший СК (2,1,3) с полиномами

q1 = 1+z2 ;

q2 = 1+z+z2 ,

Будем передавать последовательность 11101, начиная с младшего бита. После кодирования имеем последовательность 1001001011, которую передают по каналу связи, также начиная с младшего бита. Декодирование основано на использовании алгоритма Витерби (алгоритм максимального правдоподобия). На рис.3.5. приведен алгоритм Витерби с жестким решением, в основе которого лежит минимизация расстояния по Хэммингу.

Рис.3.5. Алгоритм Витерби с жестким решением.

Алгоритм Витерби с мягким решением –максимум корреляционной метрики.

Пример избыточного кодирования – технология GPRS в стандарте GSM (табл.3.2)

В GSM при сверточном кодировании используют полиномы

q1 = 1 + z3 + z4 и q2 = 1 + z + z3 + z4 или при записи в восьмиричном коде (31, 33).

 

 

Таблица 3.2.

Схема кодирования CS-1 CS-2 CS-3 CS-4
Размер блока на входе кодера, бит
Размер блока на входе блочного кодера, бит
Число проверочных бит
Размер блока на выходе блочного кодера, бит 184+40+4= 274+16+4= 318+16+4= 440+16=456
Сверточный код (2,1,5) (2,1,5) (2,1,5) Не используют
Размер блока на выходе сверточного кодера, бит
Число прореживаемых бит
Размер радиоблока на выходе канального кодера, бит
Перемежение 456 бит  4 блока по 114 бит
Скорость передачи данных, кбит/c 9.05 13.4 15.6 21.4

 

 

П

 

3.. Перемежение (рис.3.6).

 

a0 a8 …… a448
a1 a9 …… a449
a2 a10 …… a450
a3 a11 …… a451
a4 a12 …… a452
a5 a13 …… a453
a6 a14 …… a454
a7 a15 …… a455

Рис. 3.6. Блоковое перемежение

 


1 В более редких случаях соту делят на 6 секторов, используя 6 направленных антенн с раскрывом сектора 60°.

1 От английского глагола to page - выкликать.

2 Следует различать "обыкновенный" роуминг, обусловленный перемещением АС из зоны в зону, и междугородный и международный роуминги, под которыми понимают возможность использования АС в сетях данного стандарта, но других операторов.

1 Согласно федеральному стандарту абонентам сотовых сетей присваивают номера вида 7 DEF ХХХХХХХ, где 7 - код России, DEF - код сети подвижной связи. В Северо-Западном регионе используют коды DEF: 901 – сети SkyLink, 904 – TELE 2, 903, 905, 906, 909, 960 – БиЛайн, 911 – MTC, 921 – Мегафон. Кроме федеральной нумерации, на практике также используют местную нумерацию абонентов сотовой сети, подключая MSC непосредственно к ТфОП, минуя междугородный коммутатор.

1 Мощность в дБм связана с мощностью в милливаттах соотношением Р(дБм) = 10 lg Р(мВт).

[1] В каждой соте выделяют одну частоту: частоту маяка, которая в соте фиксирована и не изменяется при работе с прыгающей частотой.



<== предыдущая лекция | следующая лекция ==>
Технологии обработки информационных сигналов. | Типы регистров


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.035 сек.