このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
M-PSK Demodulator Baseband
PSK 変調データの復調
ライブラリ:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
PM
Communications Toolbox HDL Support /
Modulation /
PM
説明
M-PSK Demodulator Baseband ブロックは、PSK 変調された信号のベースバンド表現を復調します。変調次数 M は、信号コンスタレーション点数に相当し、[M-ary number] パラメーターにより決定されます。このブロックは、スカラーまたは列ベクトルの入力信号を受け入れます。
例
8-PSK 信号の変調と復調
doc_8psk_model
モデルを開くには、[モデルを開く] ボタンを使用します。モデルは、8-PSK 信号を生成し、ホワイト ノイズを適用して結果のコンスタレーション ダイアグラムを表示し、誤り統計を計算します。
モデルを実行します。
誤り統計をベクトル ErrorVec
で収集します。Eb/No が 15 dB であるため、測定されたシンボルの誤りはありません。
Number of symbol errors = 0
AWGN Channel ブロックの Eb/No を 15 dB から 5 dB に変更します。ノイズの増加がコンスタレーション ダイアグラムに示されています。
ノイズ レベルが増加しているため、シンボル誤りの数は 0 より大きくなります。
Number of symbol errors = 21
Simulink を使用した AWGN チャネルのグレイ符号 M-PSK 変調エラー レート
この例では、doc_gray_code
を使用して、M-PSK 変調のビット エラー レート (BER) とシンボル エラー レート (SER) を計算します。AWGN における M-PSK 変調の理論上のエラー レート性能を、グレイ符号シンボル マッピングのエラー レート性能およびバイナリ符号シンボル マッピングのエラー レート性能と比較します。
Random Integer Generator ブロックはソースとして機能し、整数のシーケンスを生成します。Integer to Bit Converter ブロックは、各整数を対応するバイナリ表現に変換します。doc_gray_code
モデルのM-PSK Modulator Basebandブロックは、次を行います。
[0, (M - 1] の範囲の整数を表すバイナリ値の入力を受け入れる。ここで、M は変調次数です。
グレイ符号の順序付けを使用して、バイナリ表現をコンスタレーション点に割り当てる。
[0, (2 (M - 1) / M)] の範囲の等間隔の位相をもつ、単位振幅の複素フェーザ出力を生成する。
AWGN Channel ブロックは、変調されたデータにホワイト ガウス ノイズを付加します。M-PSK Demodulator Baseband ブロックは、ノイズを含むデータを復調します。Bit to Integer Converter ブロックは、各バイナリ表現を、対応する整数に変換します。次に、2 つの個別のError Rate Calculationブロックが、復調されたデータのエラー レートを計算します。"SER Calculation" というラベルの付いたブロックは整数データを比較してシンボル エラー レートの統計を計算し、"BER Calculation" というラベルの付いたブロックはビット データを比較してビット エラー レートの統計を計算します。Error Rate Calculation ブロックの出力は、計算されたエラー レート、観察された誤り数、および処理されたデータ量を含む 3 要素ベクトルになります。
シミュレーションの実行時間を短縮し、かつ Eb/N0 比が増加してもエラーの統計値が確実に安定するように、モデルは 100 個のエラーが発生するか 1e8 ビットが送信されるまで実行するように構成されています。
モデルは、コールバック関数 PreLoadFcn
を使用して、ブロック パラメーターの構成に使用する変数を初期化します。詳細については、モデル コールバック (Simulink)を参照してください。
エラー レート曲線の生成
関数
を使用して、AWGN における非差分 8-PSK の理論上の BER を Eb/N0 値の範囲にわたって計算します。グレイ符号シンボル マッピングを使用し、同じ範囲の Eb/N0 値にわたって berawgn
doc_gray_code
モデルをシミュレーションします。
"Constellation orders" パラメーターを Gray
ではなく Binary
に設定するように M-PSK Modulator Baseband ブロックと M-PSK Demodulator Baseband ブロックを変更して、グレイ符号化とバイナリ符号化を比較します。バイナリ符号シンボル マッピングを使用し、同じ範囲の Eb/N0 値にわたって doc_gray_code
モデルをシミュレーションします。
関数semilogy
を使用して結果をプロットします。グレイ符号システムは、バイナリ符号システムよりも優れたエラー レート性能を実現します。さらに、グレイ符号のエラー レートは、理論上のエラー レート統計と一致しています。
端子
入力
In_1 — 入力信号
スカラー | ベクトル
入力端子。PSK 変調された信号のベースバンド表現を受け入れます。
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| Boolean
出力
Out_1 — 出力信号
スカラー | ベクトル
出力信号。スカラーまたはベクトルとして返されます。出力は PSK 変調された信号を復調したものです。
データ型: single
| double
| fixed point
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
M-ary number — PSK コンスタレーションの変調次数
8
(既定値) | スカラー
変調次数を正の 2 の整数乗として指定します。
例: 2
| 16
Output type — 出力信号のデータ型
Integer
(既定値) | ビット
入力信号の要素を整数またはビットとして指定します。[Output type] を [Bit]
にした場合、フレームあたりのサンプル数は、シンボルあたりのビット数 log2(M) の整数倍です。
Decision type — 復調器出力
Hard Decision
(既定値) | Log-likelihood ratio
| Approximate log-likelihood ratio
復調器出力を硬判定、対数尤度比 (LLR) または近似 LLR に指定します。LLR 出力および近似 LLR 出力を、Viterbi Decoder などの軟判定入力をサポートするエラー復号化器とともに使用して、優れたパフォーマンスを実現します。このパラメーターは、[Output type] が Bit
のときに使用できます。
アルゴリズムの詳細については、位相変調を参照してください。[Log-likelihood ratio]
と [Approximate log-likelihood ratio]
の判定タイプの出力値は、入力値と同じデータ型です。
Noise variance source — ノイズ分散のソース
Dialog
(既定値) | 端子
ノイズ分散の推定のソースを指定します。このパラメーターは、[Decision type] が [Log-likelihood ratio]
または [Approximate log-likelihood ratio]
の場合に使用できます。
ダイアログ ボックスでノイズ分散を指定するには、
[Dialog]
を選択します。入力端子からノイズ分散を入力するには、
[Port]
を選択します。
Noise variance — ノイズ分散の推定
1
(既定値) | 正のスカラー
ノイズの分散の推定を正のスカラーとして指定します。このパラメーターは、[Noise variance source] が [Dialog]
の場合に使用できます。
このパラメーターはすべてのシミュレーション モードで調整可能です。Simulink Coder™ ラピッド シミュレーション (RSIM) ターゲットを使用して RSIM 実行可能ファイルを作成する場合は、モデルを再コンパイルせずにパラメーターを調整できます。再コンパイルの回避は、異なる量のノイズでシミュレーションを複数回 (おそらく複数のコンピューターで) 実行するモンテ カルロ シミュレーションに便利です。
メモ
厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。非常に大きな正または負の振幅による指数の計算では、以下が得られることがあります。
ノイズ分散が極度に大きい値の場合は、
Inf
または-Inf
ノイズ分散および信号強度の両方が極度に小さい値である場合は、
NaN
出力でこれらの値のいずれかが返される場合は、近似 LLR アルゴリズムの使用を試してください。このアルゴリズムでは指数が計算されないためです。
Constellation ordering — シンボル マッピング
Gray
(既定値) | バイナリ
| User-defined
整数または log2(M) ビットのグループを対応するシンボルにマッピングする方法を指定します。
[Constellation ordering] が
[Gray]
に設定されている場合、出力シンボルはグレイ符号化された信号コンスタレーションを使用して入力信号にマッピングされます。[Constellation ordering] が
[Binary]
に設定されている場合、変調されたシンボルは exp(jϕ+j2πm/M) となります。ここで、ϕ は位相オフセット (ラジアン)、m は 0 ≤ m ≤ M – 1 となる整数出力、M は変調次数です。[Constellation ordering] が
[User-defined]
の場合は、サイズが M のベクトルを指定します。これは、範囲が [0, M–1] の一意の整数値をもちます。このベクトルの最初の要素は ejϕ の値をもつコンスタレーション点に対応し、続く要素は反時計回りに実行されます。
例: [0 3 2 1]
Constellation mapping — ユーザー定義のシンボル マッピング
[0:7]
(既定値) | ベクトル
入力整数が出力整数にマッピングされるときの次数を指定します。このパラメーターは [Constellation ordering] が [User-defined]
のときに使用可能で、範囲が [0, M – 1] の一意の整数値をもつサイズ M の行または列ベクトルでなければなりません。
このベクトルの最初の要素は 0 + [Phase offset] の角度にあるコンスタレーション点に対応し、続く要素は反時計回りに実行されます。最後の要素は -2π/M + [Phase offset] のコンスタレーション点に対応します。
Phase offset (rad) — 位相オフセット (ラジアン)
pi/8
(既定値) | スカラー
初期コンスタレーションの位相オフセットをラジアン単位の実数スカラーで指定します。
例: pi/4
出力データ型 — 出力データ型
Inherit via internal rule
(既定値) | Smallest unsigned integer
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
復号された出力信号のデータ型を指定します。
[データ型アシスタント] は、データ属性の設定を支援します。[データ型アシスタント] を使用するには、[データ型アシスタントを表示] をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
ブロックの特性
アルゴリズム
硬判定 BPSK 復調
BPSK 復調に必要な信号前処理は、構成によって異なります。
次の図は、自明な位相オフセット (π/2 の倍数) 構成用の硬判定 BPSK 復調の信号図を示しています。
次の図は、自明ではない位相オフセット構成用の硬判定 BPSK 復調の浮動小数点信号図を示しています。
次の図は、自明ではない位相オフセット構成用の硬判定 BPSK 復調の固定小数点信号図を示しています。
硬判定 QPSK 復調
QPSK 復調に必要な信号前処理は、構成によって異なります。
次の図は、自明な位相オフセット (π/4 の奇数倍) 構成用の硬判定 QPSK 復調の信号図を示しています。
次の図は、自明ではない位相オフセット構成用の硬判定 QPSK 復調の浮動小数点信号図を示しています。
次の図は、自明ではない位相オフセット構成用の硬判定 QPSK 復調の固定小数点信号図を示しています。
硬判定高次 PSK
高次の PSK 復調に必要な信号前処理は、構成によって異なります。
次の図は、自明な位相オフセット (π/8 の奇数倍) 構成用の硬判定 8-PSK 復調の信号図を示しています。
次の図は、自明な位相オフセット (π/8 の奇数倍) 構成用の硬判定 8-PSK 復調の固定小数点信号図を示しています。
次の図は、自明ではない位相オフセット構成用の硬判定 M-PSK 復調の浮動小数点信号図を示しています。
M > 8 の場合、速度と実装コストを改善するため、自明なケースに対する (具体的には、位相オフセットが 0、π/2、π、または 3π/2 の場合) 逆回転演算は行われません。
また、M > 8 の場合、double
と single
の入力型のみがサポートされます。
対数尤度比および近似対数尤度比
厳密な LLR および近似 LLR アルゴリズム (軟判定) については、位相変調を参照してください。
参照
[1] Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
バージョン履歴
R2006a より前に導入
参考
ブロック
オブジェクト
関数
トピック
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)