Обратное дискретное косинусное преобразование (IDCT) входного сигнала
Преобразовывает
dspxfrm3
Блок IDCT вычисляет обратное дискретное косинусное преобразование (IDCT) каждого канала в входной матрице M-by-N, u.
y = idct(u) % Equivalent MATLAB code
Для всех N-D входных массивов блок вычисляет IDCT по первому измерению. Размер первого размера (размер кадра) должен быть мощностью два. Для работы с кадрами других размеров используйте блок «Pad» для установки или усечения размера кадра до длины «мощность двух».
Когда вход является матрицей M-на-N, блок обрабатывает каждый входной столбец как независимый канал, содержащий М последовательных выборок. Блок выводит матрицу M-на-N, в первом столбце которой содержится длина M IDCT соответствующего входного столбца.
1) 2M, m = 1,..., M
где
k=12≤k≤M
Параметр вычисления синуса и косинуса определяет, как блок вычисляет необходимые значения синуса и косинуса. Этот параметр имеет две настройки, каждая с его преимуществами и недостатками, как описано в следующей таблице.
| Настройка параметров вычисления синуса и косинуса | Метод вычисления синуса и косинуса | Влияние на производительность блоков |
|---|---|---|
| Блок вычисляет и сохраняет тригонометрические значения перед началом моделирования и извлекает их во время моделирования. При создании кода из блока процессор, выполняющий сгенерированный код, сохраняет тригонометрические значения, вычисленные блоком, в таблице, оптимизированной по скорости, и извлекает значения во время выполнения кода. | Блок обычно работает гораздо быстрее, но требует дополнительной памяти для хранения предварительно вычисленных тригонометрических значений. |
| Блок вычисляет значения синуса и косинуса во время моделирования. При создании кода из блока процессор, выполняющий созданный код, вычисляет значения синуса и косинуса во время выполнения кода. | Блок обычно работает медленнее, но не нуждается в дополнительной памяти данных. Для генерации кода блоку требуется библиотека поддержки для эмуляции тригонометрических функций, увеличивая размер генерируемого кода. |
На следующих диаграммах показаны типы данных, используемые в блоке IDCT для сигналов с фиксированной точкой. Можно задать синусоидальную таблицу, аккумулятор, выходные данные продукта и типы выходных данных, отображаемые на диаграммах в диалоговом окне блока IDCT, как описано в разделе Параметры.
Входы в блок IDCT сначала преобразуются в тип выходных данных и сохраняются в выходном буфере. Каждая ступень бабочки обрабатывает сигналы в типе данных аккумулятора, при этом конечный выход бабочки возвращается в тип выходных данных.

Выходной сигнал множителя находится в виде выходных данных произведения, когда, по меньшей мере, один из входных сигналов множителя является реальным. Когда оба входа умножителя являются комплексными, результат умножения находится в накопительном типе данных. Для получения подробной информации о выполненном комплексном умножении см. Типы данных умножения.
Примечание
Когда блок вводится с фиксированной точкой, все внутренние типы данных подписываются с фиксированной точкой.
Главная вкладка
Устанавливает блок для вычисления синусов и косинусов путем поиска значений синусов и косинусов в таблице с оптимизированной скоростью (Table lookup) или путем вызова синусоидальных и косинусных функций (Trigonometric fcn). См. таблицу в разделе Описание.
Вкладка «Типы данных»
Выберите режим округления для операций с фиксированной точкой. Значения таблицы синусов не соответствуют этому параметру; они всегда округляются до Nearest.
При выборе этого параметра блок насыщает результат операции с фиксированной точкой. При сбросе этого параметра блок переносит результат операции с фиксированной точкой. Для получения подробной информации о saturate и wrap, см. режим переполнения для операций с фиксированной точкой.
Примечание
Режим Округления (Rounding) и Насыщение (Saturate) для параметров переполнения целых чисел не влияют на числовые результаты при выполнении всех этих условий:
Тип выходных данных продукта: Inherit: Inherit via internal rule.
Тип данных аккумулятора: Inherit: Inherit via internal rule.
С этими настройками типа данных блок работает в режиме полной точности.
Выберите способ указания длины слова для значений таблицы синусов. Длина дроби значений таблицы синусов всегда равна длине слова минус один. Для этого параметра можно установить значение:
Правило, наследующее тип данных, например: Inherit: Same word length as input
Выражение, которое вычисляет допустимый тип данных, например: fixdt(1,16)
Значения таблицы синусов не подчиняются режиму Округления и Сатурату для параметров переполнения целых чисел; вместо этого они всегда насыщены и округлены до Nearest.
Укажите тип выходных данных продукта. Примеры использования типа выходных данных продукта в этом блоке приведены в разделах Типы данных с фиксированной точкой и Типы данных умножения. Для этого параметра можно установить значение:
Правило, наследующее тип данных, например: Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Выражение, которое вычисляет допустимый тип данных, например: fixdt(1,16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
), чтобы отобразить помощник по типам данных, который помогает задать параметр вывода продукта.
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип данных накопителя. Примеры использования типа данных накопителя в этом блоке приведены в разделе Типы данных с фиксированной точкой. Для этого параметра можно установить значение:
Правило, наследующее тип данных, например: Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Выражение, которое вычисляет допустимый тип данных, например: fixdt(1,16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет установить параметр Accumulator.
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип выходных данных. Примеры использования типа выходных данных в этом блоке приведены в разделе «Типы данных с фиксированной точкой». Для этого параметра можно установить значение:
Правило, наследующее тип данных, например: Inherit: Inherit via internal rule.
При выборе Inherit: Inherit via internal ruleблок автоматически вычисляет длину выходного слова и длину дроби. Внутреннее правило сначала вычисляет идеальную длину выходного слова и длину дроби, используя следующие уравнения:
− 1)) + 1
FLвход
Используя эти идеальные результаты, внутреннее правило затем выбирает длины слов и дроби, которые подходят для вашего оборудования. Дополнительные сведения см. в разделе Наследование через внутреннее правило.
Выражение, которое вычисляет допустимый тип данных, например: fixdt(1,16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет задать параметр Output (Вывод).
Для получения дополнительной информации см. раздел Типы данных управляющих сигналов (Simulink).
Укажите минимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink ® использует это значение для выполнения следующих действий:
Проверка диапазона моделирования (см. раздел Определение диапазонов сигналов (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Укажите максимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink использует это значение для выполнения следующих действий:
Проверка диапазона моделирования (см. раздел Определение диапазонов сигналов (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.
| Порт | Поддерживаемые типы данных |
|---|---|
Вход |
|
Продукция |
|