Быстрое преобразование Фурье - оптимизировано для генерации кода HDL
HDL FFT System object™ предоставляет две архитектуры для оптимизации пропускной способности или области. Используйте потоковую архитектуру Radix 2 ^ 2 для высокопроизводительных приложений. Эта архитектура поддерживает скалярные или векторные входные данные. С помощью векторного ввода можно достичь пропускной способности giga-sample-per-second (GSPS). Используйте пакетную архитектуру Radix 2 для минимальной реализации ресурсов, особенно с большими размерами FFT. Система должна быть в состоянии выдерживать пакетные данные и более высокую задержку. Эта архитектура поддерживает только скалярные входные данные. Объект принимает реальные или сложные данные, обеспечивает аппаратные управляющие сигналы и имеет дополнительные выходные управляющие сигналы кадра.
Для вычисления быстрого преобразования Фурье:
Создать dsp.HDLFFT и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
возвращает объект HDL FFT System, FFT_N = dsp.HDLFFTFFT_N, который выполняет быстрое преобразование Фурье.
задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в отдельные кавычки.FFT_N = dsp.HDLFFT(Name,Value)
fft128 = dsp.HDLFFT('FFTLength',128)[ возвращает быстрое преобразование Фурье (FFT) при использовании пакетной архитектуры Radix 2. Y,validOut,ready] = FFT_N(X,validIn)ready сигнал указывает, когда объект может принимать входные выборки.
Чтобы использовать этот синтаксис, задайте для свойства Architecture значение 'Burst Radix 2'. Например:
FFT_N = dsp.HDLFFT(___,'Architecture','Burst Radix 2'); ... [y,validOut,ready] = FFT_N(x,validIn)
[ также возвращает сигналы управления кадрами Y,startOut,endOut,validOut] = FFT_N(X,validIn)startOut и endOut. startOut является true на первом образце кадра выходных данных. endOut является true для последней выборки кадра выходных данных.
Чтобы использовать этот синтаксис, задайте для свойств StartOutputPort и EndOutputPort значение true. Например:
FFT_N = dsp.HDLFFT(___,'StartOutputPort',true,'EndOutputPort',true); ... [y,startOut,endOut,validOut] = FFT_N(x,validIn)
[ возвращает FFT, когда Y,validOut] = FFT_N(X,validIn,resetIn)validIn является true и resetIn является false. Когда resetIn является trueобъект останавливает текущий расчет и очищает все внутренние состояния.
Чтобы использовать этот синтаксис, задайте для свойства ResetInputPort значение true. Например:
FFT_N = dsp.HDLFFT(___,'ResetInputPort',true); ... [y,validOut] = FFT_N(x,validIn,resetIn)
Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)