MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox: Помехоустойчивое кодирование и декодирование

  В оглавление \ К следующему разделу \ К предыдущему разделу

RSGENPOLY
Генерация порождающего полинома для кода Рида—Соломона

Синтаксис:

genpoly = rspoly(n,k);
genpoly = rspoly(n,k,m);
genpoly = rspoly(n,k,field);
[genpoly,t] = rspoly(...);

Описание:

  • genpoly = rspoly(n,k)

Возвращает порождающий полином для кода Рида—Соломона с длиной кодового слова n и длиной блока исходного сообщения k. Результат genpoly представляет собой вектор-строку, этот вектор содержит коэффициенты полинома в порядке возрастания степеней. Каждый коэффициент является элементом конечного поля GF(2m), представленным в экспоненциальном формате.

  • genpoly = rspoly(n,k,m)

То же, что и genpoly = rspoly(2^m-1,k), но работает быстрее. Если n не равно 2m – 1, выводится сообщение об ошибке.

  • genpoly = rspoly(n,k,field)

То же, что первый вариант синтаксиса, но входной параметр field косвенно задает примитивный элемент конечного поля GF(2m), относительно которого будет формироваться экспоненциальный формат представления коэффициентов полинома в выходном преобразование genpoly. Параметр field должен представлять собой матрицу, перечисляющую все элементы поля GF(2m) в следующем формате: матрица имеет m столбцов и 2m строк, элементы матрицы равны 0 или 1, строки представляют собой различные комбинации нулей и единиц. Такую матрицу можно сгенерировать, например, командой gftuple([-1:2^m-2]',m). Обе матрицы field и genpoly используют экспоненциальный формат, связанный с одним и тем же примитивным элементом. Данный вариант синтаксиса работает быстрее, чем первый из перечисленных.

  • [genpoly,t] = rspoly(...)

Дополнительно возвращает корректирующую способность полученного кода Рида—Соломона (выходной параметр t).

Примеры:

Приведенная ниже команда показывает, что порождающий полином для кода Рида—Соломона (15, 11) имеет вид image7871.gif (1100 bytes).

genpoly = rspoly(15,11,4)

genpoly =
10 3 6 13 0

Следующий вариант синтаксиса использует третий входной параметр fieldи дает тот же результат, что и предыдущий пример.

m = 4;
field = gftuple([-1:2^m-2]',m,2);
genpoly2 = rspoly(15,11,field)
genpoly2 =
10 3 6 13 0

Сопутствующие функции: encode, decode, rsenco, rsdeco.

  В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика