このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
bin2gray
(削除済み) 正の整数から対応するグレイ符号化された整数への変換
bin2gray
は削除されました。代わりに適切な変調オブジェクトまたは関数を使用してコンスタレーション点を再マッピングしてください。詳細については、バージョン履歴を参照してください。
説明
は、入力パラメーター y
= bin2gray(x
,modulation
,M
)x
と同じ次元をもつグレイ符号化されたベクトルまたは行列出力 y
を返します。x
は、スカラー、ベクトル、行列、または 3 次元配列です。modulation
は変調タイプで、'qam'
、'pam'
、'fsk'
、'dpsk'
、または 'psk'
でなければなりません。M
は変調次数で、2 の整数乗でなければなりません。
メモ
バイナリ符号化されたデータをグレイ符号化されたデータに変換し、結果をすぐに変調する場合、bin2gray
ではなく 'Gray'
オプションを指定して適切な変調オブジェクトまたは関数を使用してください。
例
2 値からグレイ シンボルへのマッピング
この例では、16-QAM 変調を想定し、関数 bin2gray
と gray2bin
を使用して、整数入力をバイナリ符号からグレイ符号 (およびその反対) の信号コンスタレーションにマッピングする方法を示します。さらに、グレイ符号シンボル マップとバイナリ符号シンボル マップの視覚的表現の違いも示します。
16-QAM 整数の完全なベクトルを作成します。bin2gray
を使用して、入力ベクトルをバイナリ符号からグレイ符号マッピングに変換します。gray2bin
を使用して、グレイ符号化されたシンボル y
を変換し、バイナリ順序に戻します。元のデータ x
と最終的な出力ベクトル z
が同一であることを検証します。
M = 16; x = (0:M-1); [y,mapy] = bin2gray(x,'qam',M); z = gray2bin(y,'qam',M); isequal(x,z)
ans = logical
1
シンボル マップを表示します。さまざまなシンボル マップを示すコンスタレーション プロットを作成するには、関数 qammod
を使用して複素シンボル値を検索します。コンスタレーション シンボルをプロットし、グレイ (y
) およびバイナリ (z
) の出力ベクトルでラベル付けします。グレイ符号化されたシンボルのビット ベクトルは黒で表示され、バイナリ符号化されたシンボルのビット ベクトルは赤で表示されます。すべてのポイントが表示されるように座標軸のスケーリングを設定します。
sym = qammod(x,M); scatterplot(sym,1,0,'b*'); for k = 1:16 text(real(sym(k))-0.3,imag(sym(k))+0.3,... dec2base(mapy(k),2,4)); text(real(sym(k))-0.3,imag(sym(k))-0.3,... dec2base(z(k),2,4),'Color',[1 0 0]); end axis([-4 4 -4 4])
入力引数
x
— バイナリ符号化されたデータ
ベクトル | 行列
入力のバイナリ符号化されたデータ。ベクトルまたは行列として指定します。
データ型: double
modulation
— 変調タイプ
'qam'
| 'pam'
| 'fsk'
| 'dpsk'
| 'psk'
変調タイプ。'qam'
、'pam'
、'fsk'
、'dpsk'
、または 'psk'
として指定します。
M
— 変調次数
スカラー
変調次数。2 の整数乗として指定します。
データ型: double
出力引数
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入R2023a: 削除済み
関数 bin2gray
は削除されました。代わりに適切な変調オブジェクトまたは関数を使用してコンスタレーション点を再マッピングしてください。
R2021b: 警告
bin2gray
は将来のリリースで削除される予定です。代わりに適切な変調オブジェクトまたは関数を使用してコンスタレーション点を再マッピングしてください。
R2020a: 削除予定
bin2gray
は将来のリリースで削除される予定です。代わりに適切な変調オブジェクトまたは関数を使用してコンスタレーション点を再マッピングしてください。次の表に、変調タイプに基づく再マッピングを記載します。
推奨されていないワークフローを使用する場合、関数 bin2gray
および gray2bin
は、ビット表現をバイナリ符号化、グレイ符号化にそれぞれ変換します。変換後に変調と復調の関数を呼び出す際は、シンボル順序として 'bin'
を指定する必要があります。
推奨されるワークフローを使用する場合は、どの変調方式でも、変調と復調の関数を呼び出す際に 10 進数の値を指定します。変調と復調の関数を呼び出す際は、シンボル順序として 'bin'
(バイナリ符号化の場合) または 'gray'
(グレイ符号化の場合) を指定します。
ワークフローにおいて次の表のいずれかの変調方式で bin2gray
または gray2bin
を使用している場合は、該当する例に従ってください。
変調 | 非推奨の使用方法 | 推奨される代替案 |
---|---|---|
x = randi([0 63],1,100); y = bin2gray(x,'qam',64); z = qammod(y,64,'bin'); x = 2*(randn(100,1)+1j*randn(100,1)); y = qamdemod(x,64,'bin'); z = gray2bin(y,'qam',64); | x = randi([0 63],1,100);
z = qammod(x,64,'gray');
x = 2*(randn(100,1)+1j*randn(100,1));
z = qamdemod(x,64,'gray')
| |
x = randi([0 63],1,100); y = gray2bin(x,'pam',64); z = pammod(y,64,pi/4,'bin'); x = 2*(randn(100,1)+1j*randn(100,1)); y = pamdemod(x,64,pi/4,'bin'); z = bin2gray(y,'pam',64); | x = randi([0 63],1,100);
z = pammod(x,64,pi/4,'gray');
x = 2*(randn(100,1)+1j*randn(100,1));
z = pamdemod(x,64,pi/4,'gray')
| |
x = randi([0 63],1,100); y = gray2bin(x,'fsk',64); z = fskmod(y,64,1,256,256,'cont','bin') x = 2*(randn(512,1)+1j*randn(512,1)); y = fskdemod(x,64,1,256,256,'bin'); z = bin2gray(y,'fsk',64) | x = randi([0 63],1,100); z = fskmod(x,64,1,256,256,'cont','gray') x = 2*(randn(512,1)+1j*randn(512,1));
z = fskdemod(x,64,1,256,256,'gray');
| |
x = randi([0 63],1,100); y = gray2bin(x,'dpsk',64); z = dpskmod(y,64,pi/4,'bin'); x = 2*(randn(100,1)+1j*randn(100,1)); y = dpskdemod(x,64,pi/4,'bin'); z = bin2gray(y,'dpsk',64); | x = randi([0 63],1,100);
z = dpskmod(x,64,pi/4,'gray');
x = 2*(randn(100,1)+1j*randn(100,1));
z = dpskdemod(x,64,pi/4,'gray');
| |
x = randi([0 63],1,100); y = gray2bin(x,'psk',64); z = pskmod(y,64,0,'bin'); x = 2*(randn(100,1)+1j*randn(100,1)); y = pskdemod(x,64,0,'bin'); z = bin2gray(y,'psk',64); | x = randi([0 63],1,100);
z = pskmod(x,64,0,'gray');
x = 2*(randn(100,1)+1j*randn(100,1));
z = pskdemod(x,64,0,'gray');
|
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)