Вычисление 2-D обратного дискретного косинусоидного преобразования (IDCT)
Преобразовывает
visiontransforms
Блок 2-D IDCT вычисляет двумерное обратное дискретное косинусное преобразование входного сигнала. Уравнение для двумерного IDCT является
где F (m, n) является DCT сигнала f (x, y) и для и в противном случае.
Количество строк и столбцов входного сигнала должно быть степеней двойки. Выходные данные этого блока имеют те же размеры, что и входные параметры.
Порт | Ввод/вывод | Поддерживаемые типы данных | Комплексные числа |
---|---|---|---|
Вход | Вектор или матрица значений интенсивности |
| Нет |
Выход | 2-D IDCT входного входа | То же, что Input port | Нет |
Если тип данных входного сигнала с плавающей точкой, выход блока тот совпадающий тип данных.
Используйте параметр Sine and cosine computation, чтобы задать, как блок вычисляет условия синуса и косинуса в алгоритме IDCT. Если вы выбираете Trigonometric fcn
блок вычисляет значения синуса и косинуса во время симуляции. Если вы выбираете Table lookup
блок вычисляет и сохраняет тригонометрические значения перед началом симуляции. В этом случае блоку требуется дополнительная память.
Следующая схема показывает типы данных, используемые в блоке 2-D IDCT для сигналов с фиксированной точкой. Входы сначала приводятся к типу данных выходов и хранятся в выходе буфере. Каждый каскад бабочки обрабатывает сигналы в типе данных аккумулятора, причем конечный выход бабочки переводится назад в тип выходных данных.
Выход умножителя находится в типе выходных данных продукта, когда, по меньшей мере, один из входов в умножитель является вещественным. Когда оба входов в умножитель являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации о выполненном комплексном умножении смотрите Типы данных умножения. Можно задать синусоидальную таблицу, выходы продукта, аккумулятор и типы выходных данных в маске блока, как обсуждается в следующем разделе.
Задайте, как блок вычисляет синус и косинус членов в алгоритме IDCT. Если вы выбираете Trigonometric fcn
блок вычисляет значения синуса и косинуса во время симуляции. Если вы выбираете Table lookup
блок вычисляет и сохраняет тригонометрические значения перед началом симуляции. В этом случае блоку требуется дополнительная память.
Выберите Режимы округления для операций с фиксированной точкой.
Выберите режим переполнения для операций с фиксированной точкой. См. «Точность и область значений». Значения синусоидальной таблицы не подчиняются этому параметру; вместо этого они всегда насыщены.
Выберите способ задания размера слова для значений синусоидальной таблицы. Длина дроби значений синусоидальной таблицы всегда равна размеру слова минус единица. Можно задать этот параметр как:
Правило, которое наследует тип данных, например Inherit: Same word length as input
Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16)
Значения синусоидальной таблицы не подчиняются параметрам Rounding mode и Saturate on integer overflow; вместо этого они всегда насыщены и округлены до Nearest
.
Укажите тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных умножения для рисунков, описывающих использование типа выходных данных продукта в этом блоке. Можно задать этот параметр как:
Правило, которое наследует тип данных, например Inherit: Inherit via internal rule
Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Product output data type.
Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).
Задайте тип данных аккумулятора. См. типы данных с фиксированной точкой для рисунков, описывающих использование типа данных аккумулятора в этом блоке. Можно задать этот параметр как:
Правило, которое наследует тип данных, например Inherit: Inherit via internal rule
Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Accumulator data type.
Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).
Задайте тип выходных данных. См. типы данных с фиксированной точкой для рисунков, описывающих использование типа выходных данных в этом блоке. Можно задать этот параметр как:
Правило, которое наследует тип данных, например Inherit: Inherit via internal rule
.
Когда вы выбираете Inherit: Inherit via internal rule
блок вычисляет выход размера слова и длину дроби автоматически. Внутреннее правило сначала вычисляет идеальный выход размера слова и длину дроби, используя следующие уравнения:
Используя эти идеальные результаты, внутреннее правило затем выбирает размеры слова и длины дробей, которые подходят для вашего оборудования. Для получения дополнительной информации см. раздел Наследование через внутреннее правило.
Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Output data type.
Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).
Выберите этот параметр, чтобы предотвратить переопределение любого масштаба с фиксированной точкой, заданного в этой маске блока, инструментом автомасштабирования в Fixed-Point Tool. Для получения дополнительной информации см. fxptdlg
(Fixed-Point Designer), ссылочная страница на Fixed-Point Tool в Simulink® документация.
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока. Для получения дополнительной информации см. fxptdlg
(Fixed-Point Designer), справочная страница по инструменту Fixed-Point Tool в документации Simulink.
[1] Chen, W.H, C.H. Smith и S.C. Фралик, «Быстрый вычислительный алгоритм для дискретного косинусоидного преобразования», IEEE Trans. Commun., vol. COM-25, pp. 1004-1009. 1977.
[2] Wang, Z. «Быстрые алгоритмы для дискретного преобразования W и для дискретного преобразования Фурье», IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP-32, pp. 803-816, Augg. 1984.