exponenta event banner

2-D IDCT

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

Библиотека

Преобразовывает

visiontransforms

  • 2-D IDCT block

Описание

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

f (x, y) =2MN∑m=0M−1∑n=0N−1C (m) C (n) F (m, n) cos (2x + 1) mπ2Mcos (2y + 1) nπ2N

где F (m, n) - ДКП сигнала f (x, y) и C (m), C (n) = 12 для m, n = 0 и C (m), C (n) = 1 в противном случае.

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

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

Вход

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

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

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

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

  • 8-, 16-, 32-разрядное целое число со знаком

  • 8-, 16-, 32-разрядное беззнаковое целое число

Нет

Продукция

2-D IDCT входа

Совпадает с портом ввода

Нет

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

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

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

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

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

Параметры

Вычисление синусов и косинусов

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

Режим округления

Выберите режимы округления для операций с фиксированной точкой.

Насыщение при целочисленном переполнении

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

Тип данных таблицы синусов

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

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

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

Значения таблицы синусов не подчиняются режиму Округления и Сатурату для параметров переполнения целых чисел; вместо этого они всегда насыщены и округлены до Nearest.

Тип выходных данных продукта

Укажите тип выходных данных продукта. Примеры использования типа выходных данных продукта в этом блоке приведены в разделах Типы данных с фиксированной точкой и Типы данных умножения. Для этого параметра можно установить значение:

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

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

Нажмите кнопку Show data type assistant (Показать помощник по типам данных), чтобы отобразить помощник по типам данных, который помогает задать параметр Product output data type (Тип выходных данных продукта).

Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).

Тип данных аккумулятора

Укажите тип данных накопителя. Примеры использования типа данных накопителя в этом блоке приведены в разделе Типы данных с фиксированной точкой. Для этого параметра можно установить значение:

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

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

Нажмите кнопку Show data type assistant (Показать помощник по типам данных), чтобы отобразить помощник по типам данных, который помогает установить параметр Accumulator data type.

Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).

Тип выходных данных

Укажите тип выходных данных. Примеры использования типа выходных данных в этом блоке приведены в разделе «Типы данных с фиксированной точкой». Для этого параметра можно установить значение:

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

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

    WLидеальный выход = WLinput + floor (log2 (длина DCT − 1)) + 1

    FLидеальный выход = FLвход

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

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

Нажмите кнопку Show data type assistant (Показать помощник по типам данных), чтобы отобразить помощник по типам данных, который помогает задать параметр Output data type.

Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).

Блокировка масштабирования от изменений с помощью инструмента автоматического масштабирования

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

Блокировка параметров типа данных от изменений с помощью инструментов с фиксированной точкой

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

Ссылки

[1] Чен, W.H, C.H. Smith и S.C. Fralick, «Быстрый вычислительный алгоритм для дискретного косинусного преобразования», IEEE Trans. Commun., vol. COM-25, pp. 1004-1009. 1977.

[2] Ван, З. «Быстрые алгоритмы для дискретного преобразования W и для дискретного преобразования Фурье», IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP-32, pp. 803-816, Aug. 1984.

См. также

2-D DCT

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

2-D БПФ

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

2-D IFFT

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

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