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

Обраб

отка сигналов и изображений\Communications Toolbox

Список функций Communications Toolbox: Функции кодирования источника

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

ARITHENCO
Арифметическое кодирование последовательности символов

Синтаксис:

code = arithenco(seq,counts)

Описание:

code = arithenco(seq,counts)

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

Примеры:

Данный пример иллюстрирует сжатие данных, которое в некоторых случаях может быть обеспечено арифметическим кодом. Источник имеет алфавит, состоящий из символов “1” и “2”, причем единица встречается с вероятностью 99%. Кодирование 1000 символов, произведенных этим источником, дает кодовый вектор, имеющий намного меньшее число элементов. Точное число элементов в векторе code зависит от конкретной случайной последовательности символов, содержащейся в векторе seq.

counts = [99 1]; % Соотношение единиц и двоек – 99 к одному
len = 1000;
seq = randsrc(1,len,[1 2; .99 .01],19069); % Случайная последовательность
code = arithenco(seq,counts);
s = size(code) % Длина вектора code – всего лишь 8.3% от длины вектора seq

Результат работы примера показывает, что вектор code содержит всего лишь 83 элемента:

s =
     1    83

Алгоритм:

Алгоритм, используемый данной функцией, описан в приведенной ниже ссылке на литературу.

Сопутствующие функции: arithdeco

Литература:

Sayood, Khalid, Introduction to Data Compression, San Francisco, Morgan Kaufmann, 2000.

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

 

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

Система Orphus

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