БПФ потоковой передачи HDL

Основание 2 БПФ с десятикратным уменьшением в частоте (DIF) — оптимизированный для генерации HDL-кода

Библиотека

Устаревший

dspobs

Описание

Примечание

Блок HDL Streaming FFT будет удерживаться от использования в будущих релизах. Используйте архитектуру Streaming Radix 2^2 блока FFT HDL Optimized вместо этого.

Блок HDL Streaming FFT возвращает результаты, идентичные результатам, возвращенным Основанием 2 алгоритма DIF блока FFT.

Блокируйте вводы и выводы

Как показано в следующей фигуре, блок HDL Streaming FFT имеет два входных порта и три выходных порта. Два из этих портов для ввода данных и выходных сигналов. Другие порты для управляющих сигналов.

Блок имеет следующие входные порты:

  • din: сигнал входных данных. Кодер требует комплексного сигнала фиксированной точки.

  • запуск: булев управляющий сигнал. Когда start утверждает true (1), блок HDL Streaming FFT инициирует обработку кадра данных.

Блок имеет следующие выходные порты:

  • dout: сигнал Вывода данных.

  • dvalid: булев управляющий сигнал. Блок HDL Streaming FFT утверждает эту true (1) сигнала, когда поток допустимых выходных данных доступен в порте dout.

  • ready: булев управляющий сигнал. Блок HDL Streaming FFT утверждает, что это сигнализирует, чтобы true (1) указала, что это готово обработать новый кадр.

Синхронизация описания

Блок HDL Streaming FFT действует в одном из двух режимов:

  • Режим Continuous data streaming: В этом режиме блок HDL Streaming FFT ожидает получать непрерывный поток данных в din. После начальной задержки блок производит непрерывный поток данных в dout.

  • Режим Non-continuous data streaming: В этом режиме блок HDL Streaming FFT получает ненепрерывные пакеты потоковой передачи данных в din. После начальной задержки блок производит ненепрерывные пакеты потоковой передачи данных в dout.

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

Синхронизация потоковой передачи текущих данных

Утверждение сигнала start (активный высокий) триггерная обработка блоком HDL Streaming FFT. Чтобы инициировать потоковую обработку текущих данных, утверждайте сигнал start одним из следующих способов:

  • Содержите сигнал запуска высоко (как показано в фигуре “Потоковая передача Текущих данных С Сигналом Запуска, Сохраненным Высокий”).

  • Пульсируйте запуск сигнализирует каждый такты N, где N является длиной БПФ (как показано в фигуре “Потоковая передача Текущих данных С Импульсным Сигналом Запуска”).

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

Между тем блок выполняет вычисление БПФ на входящих кадрах данных и выводит результаты постоянно в dout. Блок HDL Streaming FFT утверждает и deasserts, о котором ready и dvalid сигнализируют автоматически. Блок утверждает dvalid высоко каждый раз, когда поток выходных данных допустим. Блок утверждает ready высоко, чтобы указать, что блок готов загрузить новый кадр данных. Когда ready является низким, блок игнорирует сигнал start.

Следующие фигуры иллюстрируют потоковую передачу текущих данных. Каждый кадр данных соответствует потоку значений входных данных N, где N является длиной БПФ.

Потоковая передача текущих данных с сигналом запуска, сохраненным высоко

Примечание

Сигнал start может быть одним импульсом цикла; это не должно быть сохранено высоко для целого кадра данных. Когда обработка для кадра начинается, дальнейшие импульсы на start не влияют на обработку того кадра. Однако импульс start должен произойти в начале каждого кадра данных.

Потоковая передача текущих данных с импульсным сигналом запуска

Синхронизация потоковой передачи нетекущих данных

В этом режиме блок HDL Streaming FFT получает непрерывные пакеты потоковой передачи данных в din. После начальной задержки блок производит ненепрерывные пакеты потоковой передачи данных в dout. Пропуски происходят между кадрами данных, когда следующее условие существует:

  • Сигнал start не утверждает каждый такты N (где N является длиной БПФ),

  • Сигнал start постоянно не сохранен высоко.

Потоковый режим нетекущих данных позволяет вам больше гибкости в определении интервалов между потоками входных данных.

Начальная задержка

Начальная задержка блока HDL Streaming FFT является интервалом между следующими разами:

  • Время блок начинает принимать первый кадр входных данных

  • Время блок утверждает dvalid и производит первые допустимые выходные данные.

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

Если вы выбираете опцию блока Display computed initial delay on mask, значок блока отображает начальную задержку. Отображение представляет время задержки как Z-n, где n является временем задержки в выборках.

Параметры

FFT Length

Значение по умолчанию: 1024

Длина БПФ должна быть степенью 2 в области значений 23 - 216.

Rounding mode

Значение по умолчанию: Floor

Блок HDL Streaming FFT поддерживает все режимы округления блока FFT. См. также ссылку блока FFT.

Overflow mode

Значение по умолчанию: Wrap

Блок HDL Streaming FFT поддерживает все режимы переполнения блока FFT. См. также ссылку блока FFT.

Sine table

Значение по умолчанию: Same word length as input

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

  • Когда вы выбираете Same word length as input, размеры слова табличных значений синуса совпадают с размерами слова входных параметров блока.

  • Когда вы выбираете Specify word length, можно ввести размер слова табличных значений синуса, в битах, в поле Sine table word length. Табличные значения синуса не повинуются параметры Overflow mode и Rounding mode. Они всегда насыщают и вокруг к Nearest.

Product output

Значение по умолчанию: Same as input

Используйте этот параметр, чтобы задать, как вы хотите назвать продукт выходным словом и дробными длинами:

  • Когда вы выбираете Same as input, эти характеристики совпадают с характеристиками входа к блоку.

  • Binary point scaling: Введите размер слова и дробную длину продукта вывод, в битах, в полях Product word length и Product fraction length.

Accumulator

Значение по умолчанию: Same as input

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

Когда вы выбираете Same as product output, эти характеристики совпадают с характеристиками продукта вывод.

  • Когда вы выбираете Same as input, эти характеристики совпадают с характеристиками входа к блоку.

  • Binary point scaling: Введите размер слова и дробную длину аккумулятора, в битах, в полях Accumulator word length и Accumulator fraction length.

Output

Значение по умолчанию: Same as input

Выберите, как вы задаете выходной размер слова и дробную длину:

  • Same as input: эти характеристики совпадают с характеристиками входа к блоку.

  • Binary point scaling: позволяет вам ввести размер слова и дробная продолжительность вывода, в битах, в полях Output word length и Output fraction length.

Output in bit-reversed order

Значение по умолчанию: 'off'

  • На: поток выходных данных находится в инвертированном битом порядке.

  • 'off': поток выходных данных находится в естественном порядке.

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

Display computed initial delay on mask

Значение по умолчанию: 'off'

  • На: значок блока отображает начальную задержку как Z-n, где n является временем задержки в выборках.

  • 'off': значок блока не отображает начальную задержку.

Примечание

Sine table, Product output, Accumulator и Output не поддерживают:

  • Inherit via internal rule

  • Slope and bias scaling

Введенный в R2014b