Main Content

bitrevorder

データのビット反転順への並べ替え

説明

y = bitrevorder(x) では、入力データのビット順を反転したものが返されます。

[y,i] = bitrevorder(x) でもまた、y = x(i) となるような、ビット反転したインデックス 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 が行列の場合、ビット反転はサイズが 1 より大きい x の最初の次元で行われます。

データ型: single | double
複素数のサポート: あり

出力引数

すべて折りたたむ

ビット反転したデータ。ベクトルまたは行列として返されます。yx と同じサイズです。

ビット反転したインデックス。y = x(i) となるようにベクトルまたは行列として返されます。MATLAB® の行列ではインデックスが 1 から始まるため、y の最初のインデックスは 0 ではなく 1 になります。

詳細

すべて折りたたむ

ビット反転の並べ替え

bitrevorder は、fftifft の計算中にビット反転の並べ替えを行わなくてもよいように、フィルター係数をあらかじめ並べ替えるのに便利です。

ビット反転の並べ替えにより、外部アプリケーションや Simulink® ブロックセット モデルのランタイム効率を向上させることができます。MATLAB の関数 fft および関数 ifft はいずれも、線形入出力を処理します。

メモ

bitrevorder の使用は、2 を基数とする digitrevorder の使用と同等です。

以下の表では、数値 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

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2006a より前に導入