Документация Engee

bitrevorder

Переставляет биты входных данных в обратном порядке.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • y, i = bitrevorder(x) — возвращает биты входных данных x в обратном порядке и их индексы i, так что y = x(i).

Аргументы

Входные аргументы

# x — входные данные
вектор | матрица

Details

Входные данные, заданные как вектор или матрица. Длина или количество строк x должны быть целой степенью числа 2. Если x — матрица, то перестановка битов происходит в первом измерении x, размер которого больше 1.

Типы данных

Float32, Float64

Поддержка комплексных чисел

Да

Выходные аргументы

# y — биты входных данных в обратном порядке
вектор | матрица

Details

Биты входных данных в обратном порядке, возвращаемые в виде вектора или матрицы. Аргумент y имеет тот же размер, что и x.

# i — индексы переставленных битов
вектор | матрица

Details

Индексы переставленных битов, возвращаемые в виде вектора или матрицы. Индексация начинается с 1.

Примеры

Обратный порядок битов в векторе

Details

Зададим входной вектор. Получим вектор, содержащий биты в обратном порядке и их индексы.

import EngeeDSP.Functions: bitrevorder

x = (0:7)'

y, i = bitrevorder(x)

println("x\ty\tj")
println("__________________")
for j in 1:length(x)
    println(x[j],"\t",y[j],"\t", i[j])
end
x	y	j
__________________
0	0	1
1	4	5
2	2	3
3	6	7
4	1	2
5	5	6
6	3	4
7	7	8

Дополнительно

Биты в обратном порядке

Details

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

Обратный порядок битов может повысить эффективность выполнения внешних приложений или моделей Engee. Функции fft и ifft обрабатывают линейные входные и выходные данные.

Использование bitrevorder эквивалентно использованию digitrevorder в системе счисления с основанием 2.

В этой таблице представлены числа от 0 до 7, соответствующие им биты, биты в обратном порядке и соответствующие индексы.

Линейный индекс Биты Биты в обратном порядке Индексы битов в обратном порядке

0

000

000

0

1

001

100

4

2

010

010

2

3

011

110

6

4

100

001

1

5

101

101

5

6

110

011

3

7

111

111

7