ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

bin2gray

正の整数から対応するグレイ符号化された整数への変換

構文

y = bin2gray(x,modulation,M)
[y,map] = bin2gray(x,modulation,M)

説明

y = bin2gray(x,modulation,M) は、入力パラメーター x と同じ次元をもつグレイ符号化されたベクトル出力または行列出力 y を返します。x は、スカラー、ベクトル、または行列です。modulation は、変調の種類であり、'qam''pam''fsk''dpsk'、または 'psk' と等価の文字列でなければなりません。M は、2 の整数のべき乗を取ることができる変調の次数です。

[y,map] = bin2gray(x,modulation,M) は、それぞれのグレイ符号化されたコンスタレーション マップ map と共にグレイ符号化された出力 y を生成します。

マップ出力を使用してグレイ符号コンスタレーションにラベルを付けることができます。マップ出力により、対応する変調のグレイ符号ラベルを指定できます。次の例を参照してください。

    メモ:   2 値符号化されたデータをグレイ符号化されたデータに変換し、結果をすぐに変調する場合、BIN2GRAY ではなく 'Gray' オプションを指定して適切な変調オブジェクトまたは関数を使用してください。

すべて折りたたむ

以下の例は、16-QAM 変調を想定して、関数 bin2graygray2bin を使用した、通常のバイナリ順序のシンボル マップからの整数入力のグレイ符号コンスタレーションへのマップ、およびその逆を行う方法を示します。さらに、グレイ符号シンボル マップと 2 値符号シンボル マップの視覚的表現の違いも示します。

16-QAM 整数の完全なベクトルを作成します。

x = (0:15)';

bin2gray を使用して、入力ベクトルを通常のバイナリ順序からグレイ符号化されたベクトルに変換します。

y = bin2gray(x,'qam',16);

グレイ符号化されたシンボル y を、gray2bin を使用して変換し、バイナリ順序に戻します。

z = gray2bin(y,'qam',16);

元のデータ x と最終的な出力ベクトル z が同一であることを検証します。

isequal(x,z)
ans =

     1

さまざまなシンボル マップを示すコンスタレーション プロットを作成するには、16-QAM 変調器 System object を作成し、関連する関数 constellation を使用して複素数シンボル値を検索します。

hMod = comm.RectangularQAMModulator;
symbols = constellation(hMod);

コンスタレーション シンボルをプロットし、グレイの y およびバイナリの z 出力ベクトルでラベル付けします。グレイ符号化されたシンボルのバイナリ表現は黒で、通常の順序のシンボルのバイナリ表現は赤で表示されます。すべてのポイントが表示されるように軸を設定します。

scatterplot(symbols,1,0,'b*');

for k = 1:16
    text(real(symbols(k))-0.3,imag(symbols(k))+0.3,...
        dec2base(y(k),2,4));

    text(real(symbols(k))-0.3,imag(symbols(k))-0.3,...
        dec2base(z(k),2,4),'Color',[1 0 0]);
end

axis([-4 4 -4 4])

グレイ符号化を使用する場合、隣接するコンスタレーション点の間では 1 ビットのみが異なることを観察します。

参考

R2006a より前に導入

この情報は役に立ちましたか?