このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
mil188qamdemod
MIL-STD-188-110 B/C 標準固有の直交振幅復調
説明
は、MIL-STD-188-110 と変調次数 z
= mil188qamdemod(y
,M
)M
に従って変調された、入力信号 y
で QAM 復調を実行します。MIL-STD-188-110 QAM 復調の詳細については、MIL-STD-188-110 QAM 硬復調およびMIL-STD-188-110 QAM 軟復調を参照してください。
では、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。たとえば、z
= mil188qamdemod(y
,M
,Name,Value
)'OutputDataType','double'
では目的の出力データ型を double として指定します。名前と値のペアの引数は、他のすべての入力引数の後で指定します。
例
MIL-STD-188-110B 固有の 16-QAM 信号の復調
MIL-STD-188-110B で指定されているとおりに変調された 16-QAM 信号を復調します。受信コンスタレーションをプロットし、出力が入力と一致することを確認します。
変調次数を設定してランダム データを生成します。
M = 16; numSym = 20000; x = randi([0 M-1],numSym,1);
データを変調し、ノイズの多いチャネルを介して渡します。
txSig = mil188qammod(x,M);
rxSig = awgn(txSig,25,'measured');
送信された信号および受信された信号をプロットします。
plot(rxSig,'b*') hold on; grid plot(txSig,'r*') xlim([-1.5 1.5]); ylim([-1.5 1.5]) xlabel('In-Phase') ylabel('Quadrature') legend('Received constellation','Reference constellation')
受信信号を復調します。復調されたデータと元のデータを比較します。
z = mil188qamdemod(rxSig,M); isequal(x,z)
ans = logical
1
MIL-STD-188-110C 固有の 64-QAM 信号の復調
MIL-STD-188-110C で指定されているとおりに変調された 64-QAM 信号を復調します。硬判定ビット出力を計算し、出力が入力と一致することを確認します。
変調次数を設定してランダム ビット データを生成します。
M = 64; numBitsPerSym = log2(M); x = randi([0 1],1000*numBitsPerSym,1);
データを変調します。名前と値のペアを使用して、ビット入力データを指定し、コンスタレーションをプロットします。
txSig = mil188qammod(x,M,'InputType','bit','PlotConstellation',true);
受信信号を復調します。復調されたデータと元のデータを比較します。
z = mil188qamdemod(txSig,M,'OutputType','bit'); isequal(z,x)
ans = logical
1
MIL-STD-188-110 固有の 32-QAM 信号の軟ビット復調
32-QAM 信号を復調して、軟ビットを計算します。
変調次数を設定し、ランダム ビット シーケンスを生成します。
M = 32; numSym = 20000; numBitsPerSym = log2(M); x = randi([0 1], numSym*numBitsPerSym,1);
データを変調します。名前と値のペアを使用して、ビット入力データと単位平均パワーを指定し、コンスタレーションをプロットします。
txSig = mil188qammod(x,M,'InputType','bit','UnitAveragePower',true, ... 'PlotConstellation',true);
送信されたデータをホワイト ガウス ノイズを介して渡します。
rxSig = awgn(txSig,10,'measured');
散布図を使用してコンスタレーションを表示します。
scatterplot(rxSig)
近似 LLR アルゴリズムを使用して軟ビットを計算し、信号を復調します。
z = mil188qamdemod(rxSig,M,'OutputType','approxllr', ... 'NoiseVariance',10^(-1));
入力引数
y
— 変調した信号
スカラー | ベクトル | 行列
変調した信号。複素数のスカラー、ベクトルまたは行列として指定します。y
が行列の場合、各列が個別のチャネルとして扱われます。
y
は MIL-STD-188-110[1]に従って変調されていなければなりません。
データ型: single
| double
複素数のサポート: あり
M
— 変調次数
整数
変調次数。2 のべき乗として指定します。変調次数は信号コンスタレーションの合計ポイント数を指定します。
例: 16
データ型: double
名前と値の引数
例: y = mil188qamdemod(x,M,'OutputType','bit','OutputDataType','single');
オプションの引数 Name,Value
のコンマ区切りペアを指定します。Name
は引数名で、Value
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値のペアの引数を、任意の順番で指定できます。
OutputType
— 出力タイプ
'integer'
(既定値) | 'bit'
| 'llr'
| 'approxllr'
出力タイプ。OutputType
と、'integer'
、'bit'
、'llr'
または 'approxllr'
から成るコンマ区切りのペアとして指定します。
データ型: char
| string
OutputDataType
— 出力データ型
'double'
(既定値) | ...
出力データ型。OutputDataType
と指定されたデータ型のいずれかで構成されるコンマ区切りのペアとして指定します。OutputDataType
で使用可能な値は、OutputType
の値によって異なります。
OutputType の値 | 使用可能な OutputDataType の値 |
---|---|
'integer' | 'double' 、'single' 、'int8' 、'int16' 、'int32' 、'uint8' 、'uint16' または 'uint32' |
'bit' | 'double' 、'single' 、'int8' 、'int16' 、'int32' 、'uint8' 、'uint16' 、'uint32' または 'logical' |
依存関係
この名前と値のペアの引数が適用されるのは、OutputType
が 'integer'
または 'bit'
に設定されているときだけです。
データ型: char
| string
UnitAveragePower
— 単位平均パワー フラグ
false
(既定値) | true
単位平均パワー フラグ。UnitAveragePower
と論理スカラーとで構成されるコンマ区切りペアとして指定します。このフラグが true
の場合、関数は 1 オームを基準とした 1 ワットの平均電力にコンスタレーションをスケーリングします。このフラグが false
の場合、関数は[1]で説明されている関連する標準の仕様に基づいてコンスタレーションをスケーリングします。
データ型: logical
NoiseVariance
— ノイズ分散
1
(既定値) | 正のスカラー | 正の値のベクトル
ノイズ分散。NoiseVariance
と正のスカラー値または正のベクトル値で構成されるコンマ区切りのペアとして指定します。
スカラーとして指定する場合、同じノイズ分散値がすべての入力要素で使用されます。
ベクトルとして指定する場合、ベクトルの長さは入力信号の列数に等しくなければなりません。
ノイズ分散または信号強度の計算結果に極端な正または負の振幅が含まれる場合は、アルゴリズム選択の考慮事項について、MIL-STD-188-110 QAM 軟復調を参照してください。
依存関係
この名前と値のペアの引数が適用されるのは、OutputType
が 'llr'
または 'approxllr'
に設定されているときだけです。
データ型: double
PlotConstellation
— コンスタレーションをプロットするためのオプション
false
(既定値) | true
コンスタレーションをプロットするためのオプション。'PlotConstellation'
と論理スカラーとで構成されるコンマ区切りペアで指定します。コンスタレーションをプロットするには、PlotConstellation
を true
に設定します。
データ型: logical
出力引数
z
— 復調した信号
スカラー | ベクトル | 行列
復調した信号。スカラー、ベクトルまたは行列として返されます。z
の次元は、指定した OutputType
値によって異なります。
詳細
MIL-STD-188-110 QAM 硬復調
硬復調アルゴリズムでは、最適な判定の領域ベースの復調を使用します。すべてのコンスタレーション点は確率が等しいため、最大事後確率 (MAP) 検出は最尤 (ML) 検出まで減少します。ML 検出規則は、受信シンボルに最も近いコンスタレーション点を選択することと同等です。各コンスタレーション点の判定領域は、隣接する点の間に垂直二等分線を描画することで設計されます。受信シンボルは、それが存在する判定領域に基づいて、適切なコンスタレーション点にマッピングされます。
すべての MIL-STD コンスタレーションは象限を中心として対称であるため、各シンボルについて最適な判定の領域ベース復調は次のように行われます。
受信シンボルを第 1 象限にマッピングする
シンボルの判定領域を選択する
受信シンボルの実数部と虚数部の符号を使用してコンスタレーション点をその元の象限にマッピングし直す
MIL-STD-188-110 QAM 軟復調
軟復調では、2 つの軟判定対数尤度比 (LLR) アルゴリズム (厳密な LLR と近似 LLR) を使用できます。次の表では、これらのアルゴリズムを比較しています。
アルゴリズム | 精度 | 実行速度 |
---|---|---|
厳密な LLR | 精度が高い | 実行が遅い |
近似 LLR | 精度が低い | 実行が速い |
各アルゴリズムの詳細については、厳密な LLR アルゴリズムおよび近似 LLR アルゴリズムを参照してください。
メモ
厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。非常に大きな正または負の振幅による指数の計算では、以下が得られることがあります。
ノイズ分散が極度に大きい値の場合は、
Inf
または-Inf
ノイズ分散および信号強度の両方が極度に小さい値である場合は、
NaN
出力でこれらの値のいずれかが返される場合は、近似 LLR アルゴリズムの使用を試してください。このアルゴリズムでは指数が計算されないためです。
参照
[1] MIL-STD-188-110B & C: "Interoperability and Performance Standards for Data Modems." Department of Defense Interface Standard, USA.
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
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)