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™.

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

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

| |

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