メインコンテンツ

Carrier Synchronizer

搬送波周波数オフセットの補正

  • Carrier Synchronizer block

ライブラリ:
Communications Toolbox / Synchronization

説明

Carrier Synchronizer ブロックは、単一搬送波変調スキームを使用する信号の搬送波周波数と位相オフセットを補正します。キャリア同期装置のアルゴリズムは、BPSK、QPSK、OQPSK、8-PSK、PAM、および矩形 QAM 変調スキームと互換性があります。

メモ

同期アルゴリズムによって、変調タイプに依存する位相のあいまいさが生じる可能性があります。詳細については、潜在的な位相のあいまいさを参照してください。

次のアイコンはオプションの端子をもたないブロックを示します。

すべて展開する

Carrier Synchronizer ブロックを使用して、ノイズを含む 16-QAM チャネルに与えられる位相と周波数のオフセットを補正します。

doc_qamcarriersync モデルは、16-QAM 信号を構成し、位相と周波数のオフセットを追加し、ノイズを含む AWGN チャネルを介して信号を渡し、Carrier Synchronizer ブロックを使用してオフセットを修正します。

このコンスタレーション ダイアグラムは、搬送波同期の前後の信号コンスタレーションを示しています。同期の前は、信号は位相と周波数のオフセットを基に、らせん状のパターンとして表示されます。キャリア同期装置が解に収束すると、信号シンボルが基準コンスタレーションのまわりにグループ化されます。

位相/周波数のオフセットや Carrier Synchronizer ブロックのパラメーターで実験します。これらのパラメーターを変化させると、理想的な 16-QAM コンスタレーションに出力を追随させる速さを変えることができます。信号が予想されるコンスタレーションに収束しない場合は、再生を成功させるために追加の対策を講じることができます。

QPSK 信号に課せられた位相および周波数オフセットを修正する際に、Carrier Synchronizer ブロックによってシンボル位相のあいまいさが発生し、シンボル エラー レート (SER) が増加します。シンボル位相のあいまいさを解決するために、この例では、送信信号にフレーム プリアンブルを追加し、キャリア同期によって導入される位相のあいまいさを計算するサブシステム ブロックを含めます。

doc_carrsync_resolve_ambig モデルは、Barker シーケンス プリアンブルとランダム データを含む QPSK 変調データ フレームを構成します。データ フレームは、位相と周波数のオフセットおよび AWGN チャネルによって劣化します。Phase/Frequency Offset ブロックは、位相オフセットを 45 度に、周波数オフセットを 1 kHz に設定します。周波数オフセットは 10 kHz のサンプル レートの 1% です。Carrier Synchronizer ブロックはオフセットを修正しますが、シンボル位相のあいまいさが発生し、シンボル エラー レート (SER) が低下します。

モデルは、InitFcn コールバック関数を使用して、ブロック パラメーターの構成に使用する変数を初期化します。詳細については、モデル コールバック (Simulink)を参照してください。

コンスタレーション ダイアグラムは、搬送波同期の前後の信号コンスタレーションとともに送信信号を示します。同期する前は、位相と周波数のオフセットにより、コンスタレーション点が円を描いて移動します。キャリア同期装置がソリューションに収束した後、信号シンボルは基準コンスタレーションの周囲にグループ化されますが、コンスタレーション点の配置にシンボル位相のあいまいさが生じ、シンボル エラーが発生する可能性があります。このモデルは、シンボル位相のあいまいさを解決する前と後の SER を計算します。位相のあいまいさが除去されると、SER が大幅に減少します。

端子

入力

すべて展開する

入力信号。スカラーまたはベクトルとして指定します。

この端子はブロックで名前なしになります。

データ型: double | single
複素数のサポート: あり

出力

すべて展開する

位相補正された出力信号。入力信号と同じデータ型と長さのスカラーまたは列ベクトルとして返されます。出力信号は入力信号を調整し、単一搬送波変調スキームを使用する信号の搬送波周波数と位相オフセットを補正します。

[Estimated phase error output port] パラメーターが選択されるまで、この端子はブロックで名前なしになります。

データ型: double | single
複素数のサポート: あり

位相推定 (ラジアン単位)。入力信号と同じ長さのスカラーまたは列ベクトルとして返されます。

依存関係

この端子を有効にするには、[Estimated phase error output port] パラメーターを選択します。

データ型: double | single

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

変調タイプ。[QAM][8PSK][BPSK][OQPSK][PAM]、または [QPSK] として指定します。

変調位相オフセット手法。[Auto] または [Custom] として指定します。

  • Auto — 指定した変調タイプに従来のオフセットが適用されます。

    変調位相オフセット (ラジアン)
    BPSKQAM、または PAM0
    OQPSK または QPSKπ/4
    8PSKπ/8
  • CustomCustomPhaseOffset プロパティを使用してユーザー定義の位相オフセットを指定します。

調整可能: Yes

ラジアン単位のカスタム位相オフセット。スカラーとして指定します。

依存関係

このパラメーターは、[Modulation phase offset][Custom] に設定した場合に適用されます。

シンボルあたりのサンプル数。正の整数として指定します。

調整可能: Yes

ループの減衰係数。正のスカラーとして指定します。

調整可能: Yes

ループの正規化帯域幅。範囲 (0,1] のスカラーとして指定します。ループ帯域幅は、同期装置のサンプルレートにより正規化されます。

ループ帯域幅を小さくすると、同期装置の収束時間が短縮されますが、同期装置のプルイン レンジも減少します。

調整可能: Yes

推定位相誤差を出力端子 phEst に提供するには、このチェック ボックスをオンにします。

実行するシミュレーションのタイプ。[コード生成] または [インタープリター型実行] として指定します。

  • コード生成 — 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は [インタープリター型実行] オプションを使用した場合よりも速くなります。

  • インタープリター型実行 — MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、起動時間が短縮されますが、以降のシミュレーションの速度は [コード生成] オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。

詳細については、インタープリター型実行とコード生成 (Simulink)を参照してください。

ブロックの特性

データ型

double | single

多次元信号

なし

可変サイズの信号

あり

詳細

すべて展開する

アルゴリズム

このアルゴリズムは、[1] で説明されている PLL ベースのアルゴリズムを使用する閉ループ補償器を実装します。同期装置の出力 yn は、n 番目のサンプルの複素数入力信号 xn の周波数がシフトされたものです。同期装置の出力は yn=xneiλn, となり、λn はダイレクト デジタル シンセサイザー (DDS) の出力です。DDS とは離散時間式の電圧制御発振器であり、離散時間位相同期回路における中核コンポーネントです。DDS は積分フィルターとして機能します。

Carrier synchronizer input to phase shifter. Feedback loop includes a phase error detector, a loop filter and a direct digital synthesizer.

周波数オフセットを補正するには、まずアルゴリズムが位相誤差 en を特定します。位相誤差の値は変調スキームによって異なります。

変調位相誤差
QAM または QPSK

en=sgn(Re{xn})×Im{xn}sgn(Im{xn})×Re{xn}

この方程式の詳細については、[1] を参照してください。

BPSK または PAM

en=sgn(Re{xn})×Im{xn}

この方程式の詳細については、[1] を参照してください。

8-PSK

en={sgn(Re{xn})×Im{xn}(21)sgn(Im{xn})×Re{xn},for|Re{xn}||Im{xn}|(21)sgn(Re{xn})×Im{xn}sgn(Im{xn})×Re{xn},for|Re{xn}|<|Im{xn}|

この方程式の詳細については、[2] を参照してください。

OQPSK

en=sgn(Re{xn-SamplePerSymbol/2})×Im{xn-SamplePerSymbol/2}sgn(Im{xn})×Re{xn}

システムの安定性を確保するため、位相誤差は、以下で決定される双二次ループ フィルターを通過します。

ψn=gIen+ψn1,

ここで、ψn はサンプル n でのループ フィルターの出力で、gI は積分器のゲインです。積分器のゲインは次の方程式で決定されます。

gI=4(θ2/d)KpK0,

ここで、

  • θ=BnT(ζ+14ζ)andd=1+2ζθ+θ2,

  • Bn は正規化されたループ帯域幅

  • ζ は減衰係数

  • K0 は位相回復ゲインであり、シンボルあたりのサンプル数に等しくなる。

  • Kp は位相誤差検出器ゲインであり、変調タイプによって決まる。

変調Kp
BPSK、PAM、QAM、QPSK、または OQPSK2
8-PSK1

ループ フィルターの出力はその後 DDS に渡されます。DDS は、前進オイラー法の積分規則に基づく式で表される、別の双二次ループ フィルターです。

λn=(gPen-1+ψn-1)+λn-1,

ここで、gP は、次の式で表される比例ゲインです。

gP=4ζ(θ/d)KpK0.

info オブジェクト関数は、正規化されたプルイン レンジ、最大周波数同期遅延および最大位相同期遅延の推定値を返します。正規化されたプルイン レンジ f)pull-in はラジアン単位で表され、次のように推定されます。

(Δf)pull-inmin(1,2π2ζBn).

f )pull-in の式は、2π2ζBn が 1 に近づくにつれて精度が低下します。

最大周波数同期遅延 TFL と最大位相同期遅延 TPL はサンプル単位で表され、次のように推定されます。

TFL4(Δf)pull-in2Bn3andTPL1.3Bn.

参照

[1] Rice, Michael. Digital Communications: A Discrete-Time Approach. Upper Saddle River, NJ: Prentice Hall, 2008. pp. 359–393.

[2] Huang Zhijie, Yi Zhiqiang, Zhang Ming and Wang Kuang, "8PSK demodulation for new generation DVB-S2," 2004 International Conference on Communications, Circuits and Systems (IEEE Cat. No.04EX914), Chengdu, 2004, pp. 1447-1450 Vol.2, doi: 10.1109/ICCCAS.2004.1346447.

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2015a で導入