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

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

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

COMPAND
Логарифмическое или экспоненциальное преобразование
(законы A и m)

Синтаксис:

out = compand(in,mu,maxim);
out = compand(in,mu,maxim,'mu/compressor');
out = compand(in,mu,maxim,'mu/expander');
out = compand(in,A,maxim,'A/compressor');
out = compand(in,A,maxim,'A/expander');

Описание:

  • out = compand(in,param,maxim)

Реализует компрессор — логарифмический преобразователь входного вектора in по закону m. Параметр mu задает m , а параметр maxim — максимально возможную амплитуду входного сигнала. Результат out имеет такие же размеры и максимальную амплитуду, как входной сигнал in.

  • out = compand(in,mu,maxim,'mu/compressor')

То же, что предыдущий вариант синтаксиса.

  • out = compand(in,mu,maxim,'mu/expander')

Реализует экспандер — экспоненциальный преобразователь входного вектора in по закону  m. Параметр mu задает  m, а параметр maxim — максимально возможную амплитуду входного сигнала. Результат out имеет такие же размеры и максимальную амплитуду, как входной сигнал in.

  • out = compand(in,A,maxim,'A/compressor')

Реализует компрессор — логарифмический преобразователь входного вектора in по закону A. Скаляр A задает параметр A закона преобразования, а параметр maxim — максимально возможную амплитуду входного сигнала. Результат out имеет такие же размеры и максимальную амплитуду, как входной сигнал in.

  • out = compand(in,A,maxim,'A/expander')

Реализует экспандер — экспоненциальный преобразователь входного вектора in по закону A. Скаляр A задает параметр A закона преобразования, а параметр maxim — максимально возможную амплитуду входного сигнала. Результат out имеет такие же размеры и максимальную амплитуду, как входной сигнал in.

Замечание. На практике чаще всего используются значения  m = 255 и A = 87,6.

Примеры.

Приводимые ниже команды иллюстрируют тот факт, что компрессор и экспандер выполняют взаимно обратные действия — последовательно выполнив логарифмическое и экспоненциальное преобразования, мы получаем исходные значения.

compressed = compand(1:5,87.6,5,'a/compressor')
compressed =

3.5296 4.1629 4.5333 4.7961 5.0000

expanded = compand(compressed,87.6,5,'a/expander')
expanded =

1.0000 2.0000 3.0000 4.0000 5.0000

Алгоритм.

При использовании закона  m действие компрессора на сигнал x описывается следующей формулой:

,

где V — максимальная амплитуда сигнала xm — параметр закона преобразования, sgn — знаковая функция (sign в MATLAB).

При использовании закона A действие компрессора на сигнал x описывается следующей формулой:

где A — параметр закона преобразования, а остальные обозначения имеют тот же смысл, что и для закона  m .

Сопутствующие функции: quantiz, lloyds, dpcmopt, dpcmenco, dpcmdeco.

Литература:

Sklar, Bernard. Digital Communications: Fundamentals and Applications. Englewood Cliffs, N.J.: Prentice-Hall, 1988.

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


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

Система Orphus

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