Дискретно-косинусное преобразование





| Векторизован |
в палитре на схеме

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


где

где N – количество элементов вектора x; y – результирующий массив; x – массив действительных чисел. При этом используется алгоритм быстрого преобразования. Наибольшая эффективность достигается при использовании серий размера 2N.

Входы

  • DataInput – входной сигнал;
  • Sync – вход для синхроимпульсов.

Выходы

  • DataOut – выходной отфильтрованный сигнал.

Свойства:

  • Размер серии – целое число, размерность массива данных, накапливаемых для обработки.

Параметры

нет

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

Пример

Рассмотрим пример использования блока дискретно-косинусного преобразования, расположенный по адресу %PROGRAMM_DIR%\Demo\Обработка сигналов\Преобразование дискретно-косинусное\Преобразование дискретно-косинусное.prt:


Здесь блок прямого дискретно-косинусного преобразования используется в некоторой схеме обработки сигнала. Исходный сигнал представляет собой сумму двух синусоид (1) частотой 1Гц и 4Гц, которая подается на блок буфера (2), формирующий массив из 128 отсчетов с частотой дискретизации 10Гц, задаваемой синхроимпульсами на входе Sync. Образованный массив подвергается прямому дискретному преобразованию с помощью описываемого блока (3). После чего полученный массив действительных чисел проходит процедуру обратного дискретно-косинусного преобразования с помощью соответствующего блока (4), результат которого выводится с помощью блока последовательного вывода (5). В качестве сигнала срабатывания блоков преобразования и сигнала записи данных в регистр используется сигнал готовности данных буфера. Результат работы схемы:

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

Второй пример по адресу %PROGRAMM_DIR%\Demo\Обработка сигналов\Преобразование дискретно-косинусное\Преобразование дискретно-косинусное ДКП (тест).prt представляет собой субмодель, в которой на вход блока ДКП подаётся тестовый сигнал из 512 чисел и постоянный импульс. При правильной настройке блока значения на его выходе будут соответствовать эталонным, что продемонстрирует зелёный цвет блока TEST.