Транспозиция входа в обратный порядок чисел
y = digitrevorder(x,r)
[y,i] = digitrevorder(x,r)
digitrevorder полезен для предварительного упорядочивания вектора коэффициентов фильтра для использования в алгоритмах фильтрации частотного диапазона, в которых fft и ifft вычисляют преобразования без обратной цифры упорядоченного расположения для повышения эффективности во время выполнения.
y = digitrevorder(x,r) возвращает входные данные в обратный порядок чисел в векторе или матрице y. Сторнирование цифр вычисляется с помощью основы системы чисел (radix основы) r, которое может быть любым целым числом от 2 до 36. Длина x должно быть целочисленной степенью r. Если x является матрицей, сторнирование цифр происходит на первой размерности x с размером больше 1. y - тот же размер, что и x.
[y,i] = digitrevorder(x,r) возвращает преобразуемый цифрой вектор или матрицу y и индексы, обращенные цифрами i, таким образом y = x(i). Напомним, что MATLAB® матрицы используют индексацию на основе 1, поэтому первый индекс y будет равен 1, а не 0.
В следующей таблице показаны цифры от 0 до 15, соответствующие цифры и цифры, реверсированные цифрами, с помощью базы radix-4. Также показаны соответствующие биты базы-2 и индексы, обращенные к битам.
Линейный индекс | Base-4 цифры | Цифровая прерывистая | Цифровой - обратный индекс | Base-2 биты | Base-2 Назад (bitrevorder) | Бит- сторнированный индекс |
|---|---|---|---|---|---|---|
0 | 00 | 00 | 0 | 0000 | 0000 | 0 |
1 | 01 | 10 | 4 | 0001 | 1000 | 8 |
2 | 02 | 20 | 8 | 0010 | 0100 | 4 |
3 | 03 | 30 | 12 | 0011 | 1100 | 12 |
4 | 10 | 01 | 1 | 0100 | 0010 | 2 |
5 | 11 | 11 | 5 | 0101 | 1010 | 10 |
6 | 12 | 21 | 9 | 0110 | 0110 | 6 |
7 | 13 | 31 | 13 | 0111 | 1110 | 14 |
8 | 20 | 02 | 2 | 1000 | 0001 | 1 |
9 | 21 | 12 | 6 | 1001 | 1001 | 9 |
10 | 22 | 22 | 10 | 1010 | 0101 | 5 |
11 | 23 | 32 | 14 | 1011 | 1101 | 13 |
12 | 30 | 03 | 3 | 1100 | 0011 | 3 |
13 | 31 | 13 | 7 | 1101 | 1011 | 11 |
14 | 32 | 23 | 11 | 1110 | 0111 | 7 |
15 | 33 | 33 | 15 | 1111 | 1111 | 15 |
bitrevorder | fft | ifft