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

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

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

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

Входы

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

Выходы

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

Свойства:

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

Параметры

нет

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

Пример

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

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