exponenta event banner

DCT

Дискретное косинусное преобразование (DCT) входного сигнала

Библиотека

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

dspxfrm3

  • DCT block

Описание

Блок DCT вычисляет унитарное дискретное косинусное преобразование (DCT) каждого канала в входной матрице M-by-N, u.

y = dct(u)					% Equivalent MATLAB code

Для всех N-D входных массивов блок вычисляет DCT по первому измерению. Размер первого размера (размер кадра) должен быть мощностью два. Для работы с кадрами других размеров используйте блок «Pad» для установки или усечения размера кадра до длины «мощность двух».

Когда вход в блок ДКП является матрицей M-by-N, блок обрабатывает каждый входной столбец как независимый канал, содержащий М последовательных выборок. Блок выводит матрицу M-на-N, в первом столбце которой содержится длина M DCT соответствующего входного столбца.

y (k, l) = w (k) ∑m=1Mu (m, l) cosδ (2 m 1) (k − 1) 2M, k = 1,..., M

где

w (k) = {1M, 2M, k=12≤k≤M

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

Настройка параметров вычисления синуса и косинуса

Метод вычисления синуса и косинуса

Влияние на производительность блоков

Table lookup

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

Блок обычно работает гораздо быстрее, но требует дополнительной памяти для хранения предварительно вычисленных тригонометрических значений.

Trigonometric fcn

Блок вычисляет значения синуса и косинуса во время моделирования. При создании кода из блока процессор, выполняющий созданный код, вычисляет значения синуса и косинуса во время выполнения кода.

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

Этот блок поддерживает виртуальные шины Simulink ®.

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

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

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

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

Примечание

Когда блок вводится с фиксированной точкой, все внутренние типы данных подписываются с фиксированной точкой.

Параметры

Главная вкладка

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

Устанавливает блок для вычисления синусов и косинусов путем поиска значений синусов и косинусов в таблице с оптимизированной скоростью (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 (Показать помощник по типам данных), чтобы отобразить помощник по типам данных, который помогает задать параметр Product output data type (Тип выходных данных продукта).

Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (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блок автоматически вычисляет длину выходного слова и длину дроби. Внутреннее правило сначала вычисляет идеальную длину выходного слова и длину дроби, используя следующие уравнения:

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

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

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

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

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

Для получения дополнительной информации см. раздел Типы данных управляющих сигналов (Simulink).

Минимальный выходной сигнал

Укажите минимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink использует это значение для выполнения следующих действий:

Максимальное выходное значение

Укажите максимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink использует это значение для выполнения следующих действий:

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

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

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

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

  • Фиксированная точка (подписанная и неподписанная)

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

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

Продукция

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

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

  • Фиксированная точка (только подпись)

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

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

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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