bitrevorder

Переставьте данные в инвертированный битом порядок

Синтаксис

y = bitrevorder(x)
[y,i] = bitrevorder(x)

Описание

bitrevorder полезен для предварительного планирования коэффициентов фильтра так, чтобы инвертированное битом упорядоченное расположение не было выполнено как часть fft или обратного БПФ (ifft) вычисление. Это может повысить эффективность во время выполнения для внешних приложений или для Simulink® blockset модели. И MATLAB® fft и процесс функций ifft линейный ввод и вывод.

Примечание

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

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

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

Следующая таблица показывает числа 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

Примеры

свернуть все

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

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 

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

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

Смотрите также

| |

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