|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
|
Раздел "Обработка сигналов и изображений\Communications Toolbox"
Список функций CommunicationsToolbox: Помехоустойчивое кодирование и декодирование В оглавление \ К следующему разделу \ К предыдущему разделу
Синтаксис: code = convenc(msg,trellis); Описание:
Кодирует двоичный вектор msg с использованием сверточного кода, описание таблицы переходов которого содержится в MATLAB-структуре trellis. Подробная информация о назначении полей этой структуры приведена на странице с описанием функции istrellis. Каждый символ в сообщении msg содержит log2(trellis.numInputSymbols) бит. Вектор msg может содержать один или несколько символов. Выходной двоичный вектор code содержит столько же символов, сколько и входное сообщение, при этом каждый выходной символ состоит из log2(trellis.numOutputSymbols) бит.
То же, что и предыдущий вариант синтаксиса, но входной параметр initstate задает начальное внутреннее состояние кодера. Скалярный параметр initstate является целым числом в диапазоне от 0 до trellis.numStates-1. Если схема кодера предполагает наличие нескольких входных битовых потоков, то состояние сдвигового регистра, принимающего первый входной битовый поток, соответствует младшим битам параметра initstate, а состояние сдвигового регистра, принимающего последний поток, — старшим битам этого параметра. Чтобы использовать нулевое начальное состояние, принимаемое по умолчанию, задайте параметр initstate равным 0 или [].
Кодирует входное сообщение и, помимо этого, возвращает в скалярном выходном параметре finalstate заключительное внутреннее состояние кодера. Формат параметра finalstate такой же, как у входного параметра initstate. Примеры. Пример 1. Приведенная ниже команда кодирует пять случайных двухбитовых символов с использованием сверточного кода, имеющего скорость кодирования 2/3. Структурная схема этого кодера приведена на странице с описанием функции poly2trellis. code1 = convenc(randint(10,1,2,123), poly2trellis([5 4],[27 33 0; 0 5 13])); Пример 2. Приведенные ниже команды создают структуру таблицы переходов в явном виде, а затем с помощью функции convenc производят кодирование десяти однобитовых символов. Решетчатая диаграмма для используемого в данном примере кода (его скорость равна 1/2) показана на рисунке.
trel = struct('numInputSymbols',2,'numOutputSymbols',4,... Пример 3. Приведенные ниже команды демонстрируют использование дополнительных параметров initstate и finalstate для того, чтобы кодировать сообщение по частям, вызывая функцию convenc несколько раз. Объединенный выходной вектор [code3; code4] совпадает с результатами кодирования, полученными в Примере 1 (вектор code1). trel = poly2trellis([5 4],[27 33 0; 0 5 13]); Сопутствующие функции: vitdec, poly2trellis, istrellis. Литература Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein. Data Communications Principles. New York: Plenum, 1992. |
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|