bitrevorder

Транспозиция данных в обратный по битам порядок

Описание

пример

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

[y,i] = bitrevorder(x) также возвращает реверсированные по битам индексы, i, таким образом y = x(i).

Примеры

свернуть все

Создайте вектор-столбец и получите его битовую версию. Проверьте путем явного отображения двоичного представления.

x = (0:15)';
v = bitrevorder(x);

x_bin = dec2bin(x);
v_bin = dec2bin(v);

T = table(x,x_bin,v,v_bin)
T=16×4 table
    x     x_bin    v     v_bin
    __    _____    __    _____

     0    0000      0    0000 
     1    0001      8    1000 
     2    0010      4    0100 
     3    0011     12    1100 
     4    0100      2    0010 
     5    0101     10    1010 
     6    0110      6    0110 
     7    0111     14    1110 
     8    1000      1    0001 
     9    1001      9    1001 
    10    1010      5    0101 
    11    1011     13    1101 
    12    1100      3    0011 
    13    1101     11    1011 
    14    1110      7    0111 
    15    1111     15    1111 

Входные параметры

свернуть все

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

Типы данных: single | double
Поддержка комплексного числа: Да

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

свернуть все

Реверсированные по битам данные, возвращенные как вектор или матрица. y - тот же размер, что и x.

Реверсированные по битам индексы, возвращенные как вектор или матрица, такие что y = x(i). MATLAB® матрицы используют индексацию на основе 1, поэтому первый индекс y равен 1, а не 0.

Подробнее о

свернуть все

Битово-противоположное упорядоченное расположение

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

Реверсированное по битам упорядоченное расположение может улучшить эффективность выполнения для внешних приложений или для Simulink® модели blockset. Оба MATLAB fft и ifft функции обрабатывают линейный вход и выход.

Примечание

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

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

Линейный индекс

Биты

Bit-Reversed

Обращенный к битам индекс

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

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.

См. также

| |

Представлено до R2006a