Я создал проект FFT, используя ядро FFT IP v.9 со следующими свойствами:
- Размер точки FFT фиксирован и равен 4096. Ядро IP имеет только один канал.
- Выбор архитектуры: конвейерный потоковый ввод-вывод.
- Ширина входных данных: 16 бит.
- Длина настраиваемого преобразования во время выполнения: игнорируется.
- Формат данных: фиксированная точка.
- Параметр масштабирования: масштабированный.
- Мод округления: усечение.
- Фазовый коэффициент: 16 бит.
- Количество ступеней с использованием оперативной памяти блока равно 5.
В этом проекте компилятор DDS используется для ввода с частотой 100 кГц для первых 4096 выборок и 200 кГц для второй 4096 отсчетов, но проблема в том, что результаты Vivado FFT сильно отличаются от результатов Matlab, потому что scale_shedule
действительно не установлен.
Кроме того, таблица данных ядра IP полностью изучена , Пожалуйста, не обращайтесь к таблице.
Я хотел бы знать, как получить значения scale_sch
, а не только ширину или описание графика масштабирования.
Я обнаружил, что каждый ответ о графике масштабирования составляет около его простое описание, как указано в таблице (скопируйте и вставьте или реорганизуйте слова), а не о вычислении значений.
В таблице данных Xilinx FFT v9.0 говорится, что значение scale_sch
[01 10 00 11 10]
для Radix4 N=1024
.
Но как насчет Radix4
, когда N = 2048
или 4096
?