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

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

Блок предназначен для применения обратного дискретно-косинусного преобразования к последовательности действительных чисел. На входной порт sync должны подаваться прямоугольные синхроимпульсы единичной амплитуды. Срабатывание блока происходит по переднему фронту синхроимпульсов. При каждом срабатывании блока на выходе формируется массив действительных чисел по следующему правилу (обратное дискретно-косинусное преобразование):

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

Входные порты

  • in – входной вектор действительных чисел;
  • sync – вход для синхроимпульсов.

Выходные порты

  • out – выходной вектор действительных чисел.

Свойства

  • Размер серии – размер серии обрабатываемых данных (целое число).

Параметры

нет

Пример

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

К сигналу, который представляет собой сумму синусоид с частотами 0.5 Гц и 2 Гц, применяется дискретно-косинусное преобразование. Блок входного буфера дискретизирует входной сигнал с шагом 0.05 секунды и формирует вектор из 128 значений входного сигнала. Вектор подвергается дискретно-косинусному преобразованию, в результате формируется вектор действительных чисел. Полученный вектор подвергается обратному дискретно-косинусному преобразованию. Итоговый вектор действительных чисел выводится с помощью блока выходного буфера. Выходной сигнал соответствует дискретизированному входному сигналу:

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