2-D DCT

Вычислите 2D дискретное косинусное преобразование (DCT)

Библиотека

Преобразовывания

visiontransforms

Описание

2D блок DCT вычисляет двумерное дискретное косинусное преобразование входного сигнала. Уравнение для двумерного DCT

где C(m),C(n)=1/2 для m,n=0 и C(m),C(n)=1 в противном случае.

Количество строк и столбцов входного сигнала должно быть степенями двойки. Выход этого блока имеет размерности те же размерности как вход.

ПортВвод/выводПоддерживаемые типы данныхПоддерживаемые комплексные числа

Входной параметр

Вектор или матрица значений интенсивности

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16-, 32-битное целое число со знаком

  • 8-, 16-, 32-битное беззнаковое целое

Нет

Вывод

2D DCT входа

То же самое как Input port

Нет

Если тип данных входного сигнала является плавающей точкой, выход блока является совпадающим типом данных.

Используйте the Sine and cosine computation параметр, чтобы задать, как блок вычисляет синус и условия косинуса в алгоритме DCT. Если вы выбираете Trigonometric fcn, блок вычисляет синус и значения косинуса во время симуляции. Если вы выбираете Table lookup, блок вычисляет и хранит тригонометрические значения, прежде чем симуляция запустится. В этом случае блок требует дополнительной памяти.

Типы данных с фиксированной точкой

Следующая схема показывает типы данных, используемые в 2D блоке DCT в сигналах фиксированной точки. Входные параметры сначала брошены к типу выходных данных и сохранены в буфере вывода. Каждый этап бабочки процессы сигнализирует в типе данных аккумулятора с окончательным результатом бабочки, бросаемой в тип выходных данных.

Выход множителя находится в типе выходных данных продукта, когда по крайней мере одни из входных параметров ко множителю действительны. Когда оба входных параметров ко множителю являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, обратитесь к Типам данных Умножения. Можно накрыть на стол синуса, продукт выход, аккумулятор и типы выходных данных в маске блока, как обсуждено в следующем разделе.

Параметры

Sine and cosine computation

Задайте, как блок вычисляет синус и условия косинуса в алгоритме DCT. Если вы выбираете Trigonometric fcn, блок вычисляет синус и значения косинуса во время симуляции. Если вы выбираете Table lookup, блок вычисляет и хранит тригонометрические значения, прежде чем симуляция запустится. В этом случае блок требует дополнительной памяти.

Rounding mode

Выберите Rounding Modes для операций фиксированной точки. Табличные значения синуса не повинуются этому параметру; они всегда вокруг к Nearest.

Saturate on integer overflow

Выберите режим переполнения для операций фиксированной точки. Смотрите Точность и Область значений. Табличные значения синуса не повинуются этому параметру; вместо этого, они всегда насыщаются.

Sine table data type

Выберите, как вы задаете размер слова значений таблицы синуса. Дробная длина табличных значений синуса всегда равняется размеру слова минус один. Можно установить этот параметр на:

  • Правило, которое наследовало тип данных, например, Inherit: Same word length as input

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16)

Табличные значения синуса не повинуются параметры Saturate on integer overflow и Rounding mode; вместо этого, они всегда насыщаются и округляются к Nearest.

Product output data type

Задайте тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке. Можно установить этот параметр на:

  • Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output data type.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Accumulator data type

Задайте тип данных аккумулятора. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Можно установить этот параметр на:

  • Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Accumulator data type.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Output data type

Задайте тип выходных данных. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа выходных данных в этом блоке. Можно установить этот параметр на:

  • Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule.

    Когда вы выбираете Inherit: Inherit via internal rule, блок вычисляет выходной размер слова и дробную длину автоматически. Внутреннее правило сначала вычисляет идеальный выходной размер слова и дробную длину с помощью следующих уравнений:

    WLideal output=WLinput+floor(журнал2(DCT length1))+1

    FLideal output=FLinput

    Используя эти идеальные результаты, внутреннее правило затем выбирает размеры слова и дробные длины, которые подходят для вашего оборудования. Для получения дополнительной информации смотрите, Наследовались через Внутреннее Правило.

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output data type.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Lock scaling against changes by the autoscaling tool

Выберите этот параметр, чтобы предотвратить любую фиксированную точку, масштабирующую вас, задают в этой маске блока от того, чтобы быть замененным инструментом автомасштабирования в Fixed-Point Tool. Для получения дополнительной информации смотрите fxptdlg, страница с описанием на Fixed-Point Tool в документации Simulink®.

Lock data type settings against change by the fixed-point tools

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg, страница с описанием на Fixed-Point Tool в документации Simulink.

Ссылки

[1] Чен, W.H, К.Х. Смит и Южная Каролина Fralick, “Быстрый вычислительный алгоритм для дискретного косинусного преобразования”, Сделка IEEE Commun., издание COM-25, стр 1004-1009. 1977.

[2] Ван, Z. “Алгоритмы FAST для дискретного W преобразовывают и для дискретного преобразования Фурье”, Сделка IEEE Acoust., Речь, Обработка сигналов, издание ASSP-32, стр 803-816, август 1984.

Смотрите также

2-D IDCT

Программное обеспечение Computer Vision Toolbox™

2-D FFT

Программное обеспечение Computer Vision Toolbox

2-D IFFT

Программное обеспечение Computer Vision Toolbox

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Представлено до R2006a