Перемежитель
Перемежитель (Интерливер от англ. 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].
Недостатки
Использование в системе перемежителя повышает её латентность, так как для обработки необходимо принять весь перемешанный блок данных.
Примечания
- Ю. Б. Зубарев, М. И. Кривошеев, И. Н. Красносельский. Цифровое телевизионное вещание. Основы, методы, системы. — М.: Научно-исследовательский институт радио (НИИР), 2001. — P. 127—129.
- 3GPP TS 36.212
- Takeshita, Oscar (2005), A New Construction for LDPC Codes using Permutation Polynomials over Integer Rings, arXiv:cs/0506091