M-PSK Demodulator Baseband
PSK 変調データの復調
ライブラリ:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
PSK
Communications Toolbox HDL Support /
Modulation /
PM
説明
M-PSK Demodulator Baseband ブロックは、PSK 変調された信号のベースバンド表現を復調します。変調次数 M は、信号コンスタレーション点数に相当し、[M-ary 数] パラメーターにより決定されます。このブロックは、スカラーまたは列ベクトルの入力信号を受け入れます。
例
ノイズを含む 8-PSK 信号を生成および復調します。
doc_8psk_model モデルを開きます。モデルは、Random Integer Generatorブロックを使用してランダム データを生成します。ランダム データを変調するため、モデルは、変調次数が 8 で、コンスタレーション順序がグレイ符号に設定されたM-PSK Modulator Basebandブロックを使用します。その後、変調されたデータは、加法性ホワイト ガウス ノイズ チャネル (AWGN Channelブロック) を通過します。モデルは、ノイズを含むコンスタレーションをConstellation Diagramブロックで表示します。ノイズを含むこの信号を復調するため、モデルは、変調器と同じ変調次数とコンスタレーション順序が設定されたM-PSK Demodulator Basebandブロックを使用します。最後に、モデルは、Error Rate Calculationを使用して誤り統計を計算します。

モデルを実行します。
誤り統計をベクトル ErrorVec に収集します。Eb/No が 15 dB のときにシンボル エラーの数が 0 であることを確認します。
Number of symbol errors = 0
AWGN Channel ブロックの Eb/No を 15 dB から 5 dB に変更します。コンスタレーション ダイアグラムを見ると、ノイズが増えていることが分かります。

ノイズ レベルが増加しているため、シンボル エラーの数は 0 より大きくなります。
Number of symbol errors = 21
この例では、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 値にわたって berawgndoc_gray_code モデルをシミュレーションします。
"Constellation orders" パラメーターを Gray ではなく Binary に設定するように M-PSK Modulator Baseband ブロックと M-PSK Demodulator Baseband ブロックを変更して、グレイ符号化とバイナリ符号化を比較します。バイナリ符号シンボル マッピングを使用し、同じ範囲の Eb/N0 値にわたって doc_gray_code モデルをシミュレーションします。
関数semilogyを使用して結果をプロットします。グレイ符号システムは、バイナリ符号システムよりも優れたエラー レート性能を実現します。さらに、グレイ符号のエラー レートは、理論上のエラー レート統計と一致しています。

端子
入力
入力端子。PSK 変調された信号のベースバンド表現を受け入れます。
この端子は、Var 端子を有効にするまで、ブロックで名前なしになります。
データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean
ノイズ分散の推定。正のスカラーとして指定します。
メモ
厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。計算に非常に大きな正または負の振幅が含まれる場合、厳密な LLR アルゴリズムの結果は次のようになります。
ノイズ分散が極度に大きい値の場合は、
Infまたは-Infノイズ分散と信号強度の両方が非常に小さい値の場合は
NaN
近似 LLR アルゴリズムでは指数が計算されません。近似 LLR アルゴリズムを使用することによって、Inf、-Inf、および NaN の結果を回避できます。
依存関係
このパラメーターは、[ノイズ分散ソース] を [端子] に設定した場合に適用されます。
データ型: double | single
出力
出力信号。スカラーまたはベクトルとして返されます。出力は PSK 変調された信号を復調したものです。
データ型: single | double | fixed point
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
メイン
変調次数を正の 2 の整数乗として指定します。
例: 2 | 16
入力信号の要素を整数またはビットとして指定します。[出力タイプ] を [ビット] にした場合、フレームあたりのサンプル数は、シンボルあたりのビット数 log2(M) の整数倍です。
復調器出力を硬判定、対数尤度比 (LLR) または近似 LLR に指定します。LLR 出力および近似 LLR 出力を、Viterbi Decoder などの軟判定入力をサポートするエラー復号化器とともに使用して、優れたパフォーマンスを実現します。詳細については、アルゴリズムを参照してください。
[対数尤度比] と [近似対数尤度比] の判定タイプの出力値は、入力値と同じデータ型です。
依存関係
このパラメーターは、[出力タイプ] を Bit に設定した場合に適用されます。
ノイズの分散の推定を正のスカラーとして指定します。
このパラメーターはすべてのシミュレーション モードで調整可能です。Simulink Coder™ ラピッド シミュレーション (RSIM) ターゲットを使用して RSIM 実行可能ファイルを作成する場合は、モデルを再コンパイルせずにパラメーターを調整できます。再コンパイルの回避は、異なる量のノイズでシミュレーションを複数回 (おそらく複数のコンピューターで) 実行するモンテ カルロ シミュレーションに便利です。
メモ
厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。計算に非常に大きな正または負の振幅が含まれる場合、厳密な LLR アルゴリズムの結果は次のようになります。
ノイズ分散が極度に大きい値の場合は、
Infまたは-Infノイズ分散と信号強度の両方が非常に小さい値の場合は
NaN
近似 LLR アルゴリズムでは指数が計算されません。近似 LLR アルゴリズムを使用することによって、Inf、-Inf、および NaN の結果を回避できます。
調整可能: Yes
依存関係
このパラメーターは、[ノイズ分散ソース] を [ダイアログ] に設定した場合に適用されます。
整数または log2(M) ビットのグループを対応するシンボルにマッピングする方法を指定します。
[Constellation ordering] を
[グレイ]に設定した場合、出力シンボルはグレイ符号化された信号コンスタレーションを使用して入力信号にマッピングされます。[Constellation ordering] を
[バイナリ]に設定した場合、変調されたシンボルは ej(ϕ+2πm/M) となります。ここで、ϕ は位相オフセット (ラジアン)、m は 0 ≤ m ≤ M – 1 となる整数出力、M は変調次数です。[Constellation ordering] を
[ユーザー定義]に設定した場合は、範囲 [0, M–1] の一意の整数値をもつサイズ M のベクトルを指定します。このベクトルの最初の要素は ejϕ の値をもつコンスタレーション点に対応し、続く要素は反時計回りに実行されます。
例: QPSK コンスタレーションの場合は [0 3 2 1]。
入力整数が出力整数にマッピングされるときの次数を指定します。このパラメーターは [Constellation ordering] が [ユーザー定義] のときに使用可能で、範囲が [0, M – 1] の一意の整数値をもつサイズ M の行または列ベクトルでなければなりません。
このベクトルの最初の要素は (0 + ϕ) の角度にあるコンスタレーション点に対応し、続く要素は反時計回りに順次対応します。最後の要素は、(–2π/M + ϕ) のコンスタレーション点に対応します。ϕ はラジアン単位の位相オフセット ([位相オフセット (rad)]) であり、M は変調次数 ([M-ary 数]) です。
依存関係
このパラメーターは、[Constellation ordering] を [ユーザー定義] に設定すると適用されます。
初期コンスタレーションの位相オフセット (ラジアン)。スカラーとして指定します。
例: pi/4
データ型
復号された出力信号のデータ型を指定します。
データ型の指定に関する詳細については、データ型アシスタントを参照してください。
ブロックの特性
詳細
[データ型アシスタント] は、データ属性の設定を支援します。[データ型アシスタント] を使用するには、
をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
アルゴリズム
BPSK 復調に必要な信号前処理は、構成によって異なります。
次の図は、自明な位相オフセット (π/2 の倍数) 構成用の硬判定 BPSK 復調の信号図を示しています。

次の図は、自明ではない位相オフセット構成用の硬判定 BPSK 復調の浮動小数点信号図を示しています。

次の図は、自明ではない位相オフセット構成用の硬判定 BPSK 復調の固定小数点信号図を示しています。

QPSK 復調に必要な信号前処理は、構成によって異なります。
次の図は、自明な位相オフセット (π/4 の奇数倍) 構成用の硬判定 QPSK 復調の信号図を示しています。

次の図は、自明ではない位相オフセット構成用の硬判定 QPSK 復調の浮動小数点信号図を示しています。

次の図は、自明ではない位相オフセット構成用の硬判定 QPSK 復調の固定小数点信号図を示しています。

高次の 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 Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
| ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
| InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
| OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)