Main Content

Symbol Synchronizer

シンボル タイミングのクロック スキューの補正

  • Symbol Synchronizer block

ライブラリ:
Communications Toolbox / Synchronization

説明

Symbol Synchronizer ブロックは、単一搬送波の送信機と受信機間の PAM、PSK、QAM、または OQPSK 変調スキームのシンボル タイミングのクロック スキューを補正します。詳細については、シンボル同期の概要を参照してください。

メモ

入力信号はサンプルレート ベースで動作し、出力信号はシンボル レート ベースで動作します。

すべて展開する

変化するタイミング誤差によって劣化した QPSK システムからフレーム同期を復旧します。この例では、フレーム同期を支援するためのシンボル同期を実行する利点を示します。

cm_ex_symbol_frame_sync モデルは、変化するタイミング誤差によって生じたフレーム同期を復旧させます。Variable Fractional Delay ブロックは、ルート レイズド コサイン (RRC) フィルター処理された QPSK 信号に対して、変化するタイミング誤差を発生させます。AWGN ブロックの後に、受信パスが複製され、パスに Symbol Synchronizer ブロックがある場合とない場合のパフォーマンスが比較されます。Symbol Synchronizer ブロックは、送信機と受信機間のクロック スキューを補正し、出力信号を有効なクロック リファレンスに一致させます。この例でのタイミング誤差の条件では、シンボル同期装置は、200 個のサンプルを含む入力ベクトルに対して、99、100 または 101 個のシンボルを含むベクトルを返します。

Frame Synchronizer ブロックは、信号内に存在するフレーム ヘッダーを使用して、シンボル ストリームを正しいフレーム境界に沿って配置します。また、ビット エラー レート (BER) を計算する BER Data Decoding サブシステムに、有効なフレーム インジケーター信号も提供します。無効なフレームに基づいて BER が計算されるのを防ぐため、BER Data Decoding サブシステムは、Bit Generation ブロック出力を使用する代わりに入力データ ビットを再生成します。

S/N 比が 20 dB、タイミング誤差の変動範囲が [0, 0.9] サンプルの場合、シンボル同期を行う受信機パスで信号再生が成功します。Constellation Diagram ブロックの "Before Sym Sync" 信号に見られるように、タイミング誤差が時間の経過とともに変化することにより、コンスタレーションが破損した状態とクリーンな状態の間で変動します。コンスタレーション ダイアグラムの "After Sym Sync" 信号は、変化するタイミング誤差信号による劣化がシンボル同期装置により除去されることを示しています。

シンボル同期がある場合とない場合の BER は、Symbol Synchronizer ブロックによってパフォーマンスが向上することを示しています。

Error rate with symbol synchronization: 0.000
Error rate without symbol synchronization: 0.010

Symbol Synchronizer ブロックを使用して、ノイズを含む QPSK 信号の固定シンボル タイミング オフセットを補正します。Symbol Synchronizer ブロックによる出力シンボルの数は可変サイズです。ダウンストリーム処理で固定サイズの信号が必要な場合、Selector (Simulink)ブロックを使用して Symbol Synchronizer の出力を固定サイズの信号に変換できます。

モデルの検証

Delay ブロックは、Raised Cosine Transmit Filter ブロックの出力で信号に 2 サンプルの固定タイミング誤差を追加します。Raised Cosine Transmit Filter ブロックの構成ではシンボルあたり 4 サンプルが出力されるため、タイミング遅延は 0.5 シンボルになります。シンボル同期装置の出力は Selector ブロックによって固定サイズの信号に変換されます。

結果の表示

シンボル同期装置によって QPSK シンボルの解決がどのように改善されるかを確認するため、シンボルの同期前に信号のコンスタレーションを表示し、シンボルの同期後に可変サイズの信号と固定サイズの信号を表示します。

端子

入力

すべて展開する

入力サンプル。PAM、PSK、QAM、または OQPSK 変調された単一搬送波信号のスカラーまたは列ベクトルとして指定します。この端子はブロックで名前なしになります。

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

出力

すべて展開する

出力信号シンボル。入力と同じデータ型をもつ可変サイズのスカラーまたは列ベクトルとして返されます。入力の次元が Nsamp 行 1 列の場合、[Sym] での出力の次元は Nsym 行 1 列になります。Nsym は Nsamp を Nsps で除算したものとほぼ同じです。Nsps[Samples per symbol] パラメーターの値と同じです。出力長が NsampNsps×1.1 の最大出力サイズを超える場合、その出力長は切り捨てられます。

[Normalized timing error output port] を選択しない場合、この端子は名前なしになります。

各入力サンプルの推定されたタイミング誤差。範囲 [0, 1] の値をもつスカラーまたは列ベクトルとして返されます。推定されたタイミング誤差は入力サンプル時間で正規化されます。[Err] のデータ型とサイズは、入力信号と同じです。

依存関係

この端子を有効にするには、[Normalized timing error output port] を選択します。

パラメーター

すべて展開する

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

変調タイプ。[PAM/PSK/QAM] または [OQPSK] を指定します。

タイミング誤差検出器のタイプ。[Zero-Crossing (decision-directed)][Gardner (non-data-aided)][Early-Late (non-data-aided)]、または [Mueller-Muller (decision-directed)] を指定します。このパラメーターは、同期装置で使用するタイミング誤差検出方式を割り当てます。

詳細については、タイミング誤差の検出 (TED)を参照してください。

シンボルあたりのサンプル。1 より大きい正の整数として指定します。詳細については、ループ フィルターの Nsps を参照してください。

ループ フィルターの減衰係数。正のスカラーとして指定します。詳細については、ループ フィルターの ζ を参照してください。

調整可能: Yes

ループ フィルターの正規化帯域幅。1 未満の正のスカラーとして指定します。ループ帯域幅 (Bn) は、入力信号のシンボル レート (Ts) によって正規化されます。詳細については、ループ フィルターの BnTs を参照してください。

メモ

シンボル同期装置が確実にロックするように、[Normalized loop bandwidth] パラメーターを 0.1 未満の値に設定します。

調整可能: Yes

位相検出器ゲイン。正のスカラーとして指定します。詳細については、ループ フィルターの Kp を参照してください。

調整可能: Yes

正規化されたタイミング誤差データを出力端子 [Err] で出力するには、このパラメーターを選択します。

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

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

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

詳細については、シミュレーション モード (Simulink)を参照してください。

ブロックの特性

データ型

double | single

多次元信号

いいえ

可変サイズの信号

はい

アルゴリズム

すべて展開する

参照

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

[2] Mengali, Umberto and Aldo N. D’Andrea. Synchronization Techniques for Digital Receivers. New York: Plenum Press, 1997.

拡張機能

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

バージョン履歴

R2015a で導入

参考

オブジェクト

ブロック