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

QPSK 送信機および受信機

このモデルでは、QPSK の送信機と受信機の実装について示します。受信機では、搬送周波数、位相オフセット、タイミングのずれ、フレーム同期など、無線通信の実用上の問題に対処します。受信機は受信したシンボルを復調し、(診断ビューアーなどに) 簡単なメッセージを出力します。

使用可能な実装例

この例には、次の MATLAB® での実装と Simulink® での実装の両方が含まれています。

MATLAB スクリプト: commQPSKTransmitterReceiver.m

Simulink モデル: commqpsktxrx.slx

概要

このモデル例では、静的周波数オフセット、タイミングのずれ、およびガウス ノイズを扱うため、すべての処理が複素ベースバンドで行われます。前述の損失に対処するため、この例では実用的なデジタル受信機のリファレンス設計を提供しています。これには相関ベースの大まかな周波数補正、PLL ベースの細かな周波数補正、PLL ベースのシンボル タイミング再生、フレーム同期、位相不確定性の解決が含まれます。例では、受信機処理に同期アルゴリズムを実装する Communications Toolbox™ 内のいくつかのライブラリ ブロックを例示します。

例の構造

モデルの最上位の構造を次の図に示します。Transmitter サブシステム、チャネル サブシステムおよび Receiver サブシステムが含まれます。

Transmitter サブシステムおよび Receiver サブシステムの詳細な構造を次の図に示します。

コンポーネントの詳細は次の各節で説明します。

送信機

  • Bit Generation - 各フレームのビットを生成

  • QPSK Modulator - ビットを QPSK シンボルに変調

  • Raised Cosine Transmit Filter - ロールオフ係数は 0.5 を使用し、QPSK シンボルを 2 倍にアップサンプリング

チャネル

  • AWGN Channel with Frequency Offset and Variable Time Delay - 信号に周波数オフセット、タイミングのずれ、加法性ホワイト ガウス ノイズを適用

受信機

  • Raised Cosine Receive Filter - 0.5 のロールオフ係数を使用

  • Coarse Frequency Compensation - 受信信号のおおよその周波数オフセットを推定して補正

  • Symbol Synchronizer - 再生されたタイミング ストローブに従って入力信号をリサンプリングし、適切なサンプリング時点においてシンボルを判定

  • Carrier Synchronizer - 残留周波数オフセットおよび位相オフセットを補正

  • Preamble Detector - フレーム ヘッダーの位置を検出

  • Frame Synchronizer - 既知のフレーム ヘッダーでフレーム境界を整列

  • Data Decoding - Carrier Synchronizer に起因する位相不確定性を解決し、信号を復調して、テキスト メッセージを復号化

送信機

送信機には Bit Generation サブシステム、QPSK Modulator ブロック、Raised Cosine Transmit Filter ブロックが含まれます。次の図に示すように、Bit Generation サブシステムは MATLAB ワークスペース変数をフレームのペイロードとして使用します。各フレームには、20 の「Hello world ###」というメッセージとヘッダーが含まれます。最初の 26 ビットはヘッダー ビットであり、13 ビットのバーカー符号を 2 倍にオーバーサンプリングしたものです。バーカー符号は、後に受信機モデルの Data Decoding サブシステムで使用する QPSK シンボルを正確に 13 個生成するため 2 倍にオーバーサンプリングされています。残りのビットがペイロードです。ペイロードは「Hello world ###」(### は「000」、「001」、「002」、...、「099」のシーケンスの繰り返し) の ASCII 表現に対応します。ペイロードは受信機モデルのタイミング再生処理のために 0 と 1 をバランス良く配分するためスクランブルされています。スクランブルされたビットは QPSK Modulator (グレイ マッピングを伴う) によって変調されます。変調されたシンボルは Raised Cosine Transmit Filter (ロールオフ係数が 0.5) によって 2 倍にアップサンプリングされます。送信システムのシンボル レートは 1 秒あたり 50k シンボルで、Raised Cosine Receive Filterの後のサンプルレートは 1 秒あたり 100k サンプルです。

周波数オフセットおよび可変遅延のある AWGN チャネル

AWGN Channel with Frequency Offset and Variable Delay サブシステムはまず、周波数オフセットとあらかじめ設定されている位相オフセットを伝送信号に付加します。その後、以下の 2 タイプから任意の可変遅延を信号に付加します。

  • Ramp delay - このタイプの遅延は DelayStart サンプルで開始し、各フレームにつき DelayStep サンプルのレートで線形に増加します。実際の遅延が 1 フレームに達すると、遅延バッファーがいっぱいになり、遅延を 1 フレームで保持します。

  • Triangle delay - このタイプの遅延は MinDelay サンプルと MaxDelay サンプルの間を各フレームにつき DelayStep サンプルのレートで線形に行き来きします。

複数の遅延特性を使用することによって、受信機の性能、特に Symbol Synchronizer ブロックへの影響を調査できます。遅延された信号は AWGN Channel で処理されます。以下に AWGN Channel with Frequency Offset and Variable Delay サブシステムのブロック線図を示します。

受信機

レイズド コサイン受信フィルター

Raised Cosine Receive Filter は送信された波形用の整合フィルターを提供します (ロールオフ係数は 0.5)。

AGC

受信信号の振幅は、搬送波とシンボル同期装置の正確性に影響します。そのため信号の振幅を安定化させて最適なループ設計を確保しなければなりません。AGC 出力パワーは、位相とタイミングの誤差検出器の等価なゲインが常に一定になる値に設定されます。AGC は Raised Cosine Receive Filter の前に置かれるため、2 のオーバーサンプリング係数で信号の振幅を計測できるようになります。これにより、推定の精度が向上します。位相検出器ゲインの設計法についての詳細は、[ 1 ] の 7.2.2 章および 8.4.1 章を参照してください。

大まかな周波数補正

Coarse Frequency Compensation サブシステムは周波数オフセットの大まかな推定に基づいて入力信号を補正します。次の図は、Coarse Frequency Compensator ブロックの相関ベースのアルゴリズムの出力を平均することにより周波数オフセットを推定するサブシステムを示します。補正は、Phase/Frequency Offset ブロックによって実行されます。大まかな周波数補正を行った後にも通常、残留周波数オフセットがあります。これによりコンスタレーションがゆっくりと回転してしまう場合があります。Carrier Synchronizer ブロックは、この残留周波数を補正します。

Coarse Frequency Compensator の正確性は、その最大周波数オフセット値と共に減少します。理想的にはこの値は、予想される周波数オフセット範囲のすぐ上に設定されなければなりません。たとえばこのモデルでは、5 kHz 周波数オフセットを導入し、Coarse Frequency Compensator は 6 kHz の最大周波数オフセットで構成されます。

シンボル同期装置

タイミング再生は、Symbol Synchronizer ライブラリ ブロックによって実行されます。このブロックは [ 1 ] の 8 章で説明されている PLL を実装し、受信信号のタイミングの誤差を補正します。タイミング誤差検出器は、回転不変であるガードナー アルゴリズムを使用して推定されます。言い換えれば、このアルゴリズムは周波数オフセット補正の前または後に使用できます。ブロックへの入力は 2 倍にオーバーサンプリングされます。平均で、ブロックは入力サンプル 2 つにつき 1 出力サンプルの割合で生成します。ただし、チャネルのタイミング誤差 (遅延) がシンボルの境界に達すると、出力フレームのシンボルが 1 つ超過または不足してしまいます。その場合、ブロックはビット スタッフィング/スキッピングを実行します。このため、このブロックの出力は可変サイズの信号です。

ブロックの Damping factorNormalized loop bandwidth および Detector gain パラメーターは調整可能です。これらのパラメーターの既定値は、それぞれ 1 (臨界減衰)、0.01 および 5.4 に設定されています。これにより PLL が適切なタイミングにすばやく同期するため、タイミング ジッターはほとんど発生しません。

キャリア同期装置

細かな周波数補正は、Carrier Synchronizer ライブラリ ブロックによって実行されます。このブロックは [ 1 ] の 7 章で説明されている位相同期回路 (PLL) を実装し、入力信号の残留周波数オフセットと位相オフセットを追跡します。PLL はダイレクト デジタル シンセサイザー (DDS) を使用して、残留周波数と位相オフセットを相殺する補正位相を生成します。DDS による位相オフセットの推定値は Loop Filter の位相誤差出力の積分です。

ブロックの Damping factor および Normalized loop bandwidth パラメーターは調整可能です。これらのパラメーターの既定値は、それぞれ 1 (臨界減衰) および 0.01 に設定されています。これにより PLL が目的の位相にすばやく同期するため、位相ノイズはほとんど発生しません。

プリアンブル検出器とフレーム同期装置

既知のフレーム ヘッダーの位置は、Preamble Detector ライブラリ ブロックによって検出され、フレーム同期が FrameSynchronizer System object™ を使用する MATLAB System block によって実行されます。Preamble Detector ブロックは、フレーム ヘッダーの位置を検出するために、既知のフレーム ヘッダー (QPSK 変調バーカー符号) を使用して受信した QPSK シンボルとの相関をとります。Frame Synchronizer ブロックは、この位置情報を使用してフレーム境界を整列します。また、Symbol Synchronizer ブロックの可変サイズ出力を、ダウンストリーム処理に必要な固定サイズのフレームに変換します。ブロックの 2 番目の出力は boolean スカラーで、1 番目の出力が目的のヘッダーをもつ有効なフレームであるかどうかを示し、もしそうであれば、Data Decoding サブシステムの実行を可能にします。

データの復号化

Data Decoding を有効化されたサブシステムは、位相不確定性の解決、復調およびテキスト メッセージの復号化を行います。Carrier Synchronizer ブロックは 0、90、180 または 270 度の位相シフトをもつ変調されていない搬送波に同期してしまう場合があり、これにより位相不確定性が生じます。位相不確定性とその解決については、[ 1 ] の 7.2.2 章および 7.7 章を参照してください。Phase Offset Estimator サブシステムは位相シフトを決定します。Phase Ambiguity Correction & Demodulation サブシステムは推定位相オフセットで入力信号を回転させ、補正したデータを復調します。ペイロード ビットはデスクランブルされ、シミュレーションの終わりに Simulink 診断ビューアーに表示されます。

結果と表示

シミュレーションを実行すると、ビット誤り率と結果がグラフィックスで多数表示されます。

これらの画面はフィルター処理前後の受信信号のスペクトルと、フィルター処理後、タイミング再生後、およびきめ細かい周波数補正後のコンスタレーションを示します。

以下は Symbol Synchronizer ブロックおよび Carrier Synchronizer ブロックそれぞれの出力コンスタレーション ダイアグラムです。

例の検証

この例を使用すると、複数システムの機能を使用して、ビット誤り率性能での効果を調べることができます。たとえば、さまざまなディスプレイに周波数オフセット、遅延タイプおよび を変更したことによる効果を表示できます。

この例では、静的周波数オフセットをモデル化します。実際には、周波数オフセットは時間とともに変化する場合があります。このモデルでは、時間により変化する周波数ドリフトでも Coarse Frequency Compensation サブシステムによって追跡できます。実際の周波数オフセットが現在の大まかな周波数補正を行うサブシステムで追跡できる最大周波数オフセットを超えた場合、オーバーサンプリング係数を増加させることでサブシステムの追跡範囲を広げられます。また、Model Parameters ブロックで、アルゴリズムを相関ベースから FFT ベースに変更することができます。FFT ベースのアルゴリズムは、低 Eb/No において相関ベースのアルゴリズムよりも適切に実行できます。

Symbol Synchronizer および Carrier Synchronizer ブロックの Normalized loop bandwidthDamping factor パラメーターを調整し、それらの収束時間や推定精度を評価することもできます。さらに、Carrier Synchronizer ブロックのプルイン レンジを評価できます。Normalized loop bandwidth および Damping factor を大きくすると、PLL はより大きな周波数オフセット範囲から取得できます。しかし、Normalized loop bandwidth を大きくするとノイズが多くなり、位相推定で大きな平均二乗誤差が生じてしまいます。「不足減衰システム (Damping Factor が 1 未満) は整定時間が短いですが、オーバーシュートおよび振動が発生します。過減衰システム (Damping Factor が 1 を超える) は整定時間が長いですが振動がありません。」[ 1 ].これらの PLL パラメーター設計の詳細については、[ 1 ] の付録 C を参照してください。

参考文献

1.Michael Rice, "Digital Communications - A Discrete-Time Approach", Prentice Hall, April 2008.