Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Порядок следования отсчетов в ядре БПФ
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
novartis
Добрый день.
Использую ядро БПФ от Altera. Настроил его как Variable Streaming Floating Point. На вход подаю данные в натуральном (нормальном) порядке, на выходе данные выходят в перемешанном порядке.
Когда длина последовательности данных соответствует radix=4, то я применяю digit-reversed для выходных данных и получаю их в нормальном порядке.
Когда длина последовательности данных соответствует radix=2, то тут возникают у меня сложности. В документации написано следующее:

For sample digit-reversed order, if n is a power of four, the order is radix-4
digit-reversed order, in which two-bit digits in the sample number are units in the
reverse ordering. For example, if n = 16, sample number 4 becomes the second
sample in the sample stream (by reversal of the digits in 0001, the location in the
sample stream, to 0100). However, in mixed radix-4/2 architecture, n need not be a
power of four. If n is not a power of four, the two-bit digits are grouped from the
least significant bit, and the most significant bit becomes the least significant bit in
the digit-reversed order
. For example, if n = 512, the sample at location
[8][76][54][32][10] in the digit-reversed sample stream is sample number
[10][32][54][76][8] in the natural ordering. The 261st sample in the stream, at
location 260 (100000100), is the sample that is number 33 (000100001) in the natural
ordering.

Если n не является степенью четыре, двух-битные цифры группируются с
младшего бита, а самый старший бит становится младшим битом в
цифро-реверсном порядке


Дословно я перевел, а вот понять, что это значит не могу, объясните на пальцах пожалуста, как преобразовать выходные данные, так чтобы получился натуральный порядок.

Timmy
Поменять местами соседние чётные и нечётные биты индекса, кроме самого старшего, у которого нет пары. Затем отреверсировать все биты индекса.
например, если в индексе 9 бит
первый этап: 0 <-> 1, 2 <-> 3, 4 <-> 5, 6 <-> 7
второй этап: 0 <-> 8, 1 <-> 7, 2 <-> 6, 3 <-> 5 [, 4 <-> 4 ]
novartis
Большое спасибо за ответ, проверил, бпф теперь работает как надо! 08.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.