Перемежитель

Перемежитель (Интерливер от англ. Interleaver) — блок, реализующий перемежение - один из способов борьбы с ошибками. Предназначен для борьбы с пакетированием ошибок путём их разнесения во времени. Использует перемешивание (перемежение) символов передаваемой последовательности на передаче и восстановление её исходной структуры на приёме. Может использоваться как самостоятельно, так и вместе с помехоустойчивым кодом, являясь в таком случае его составным компонентом.

Благодаря перемежению на входе декодера ошибки равномерно распределяются во времени, в идеале образуя поток независимых ошибок.[1]

Классификация перемежителейПравить

Существует несколько типов устройств перемежения:

ПериодическиеПравить

Относительно просты и используются в большинстве случаев. Подразделяются на блоковые и свёрточные.

Блоковые устройства являются двумерным массивом, запись данных в который осуществляется по столбцам, а считывание — по строкам. На приёме запись и считывание осуществляются в обратном порядке. Математически это соответствует транспонированию матрицы. Свёрточные устройства обычно реализуются в виде N регистров сдвига разной длины, в которые с помощью коммутатора последовательно записываются данные. Регистры сдвига обеспечивают задержку данных на величину M x n, где n = 0, 1,...N - порядковый номер ветви, M - параметр кодера. Декодер строится аналогичным образом, но с обратным порядком расположения ветвей, и синхронизируется с кодером. В результате пакетная ошибка длительностью менее N символов разбивается на ряд одиночных, разделенных интервалом M символов. Сверточное перемежение требует вдвое меньшего объема памяти, чем блоковое.

ПсевдослучайныеПравить

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

ПрименениеПравить

Перемежители как отдельные устройства широко применяются во многих системах связи (например, GSM).

В качестве компонента помехоустойчивого кода перемежители используются в Турбо-кодах, кодах Рида-Соломона. В протоколе 3GPP Long Term Evolution (LTE), мобильный протокол передачи данных (3GPP technical specification 36.212 [2]), используется квадратичный полином перестановки (QPP) для системы перемежителя. Перемежение может использоваться в LDPC-кодах[3].

НедостаткиПравить

Использование в системе перемежителя повышает её латентность, так как для обработки необходимо принять весь перемешанный блок данных.

ПримечанияПравить

  1. Ю. Б. Зубарев, М. И. Кривошеев, И. Н. Красносельский. Цифровое телевизионное вещание. Основы, методы, системы. — М.: Научно-исследовательский институт радио (НИИР), 2001. — P. 127—129.
  2. 3GPP TS 36.212
  3. Takeshita, Oscar (2005), A New Construction for LDPC Codes using Permutation Polynomials over Integer Rings, arXiv:cs/0506091 

См. такжеПравить