メインコンテンツ

comm.MSKTimingSynchronizer

4 次非線形性法を使用したシンボル タイミング位相の再生

説明

comm.MSKTimingSynchronizer System object™ は、4 次非線形性法を使用して、最小偏移変調 (MSK) 変調信号のシンボル タイミング位相を再生します。このオブジェクトは、一般的なデータ支援を用いないフィードバック メソッドを実現します。このメソッドは、搬送波位相の再生とは独立で、搬送波周波数オフセットに対する事前の補償を必要とします。

MSK 変調信号のシンボル タイミング位相を再生するには、次のようにします。

  1. comm.MSKTimingSynchronizer オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とはを参照してください。

作成

説明

mskTimingSync = comm.MSKTimingSynchronizer は、タイミング位相同期装置 System object mskTimingSync を作成します。このオブジェクトは、4 次非線形性法を使用して、MSK 変調信号のシンボル タイミング位相を再生します。

mskTimingSync = comm.MSKTimingSynchronizer(Name=Value) は、オプションの名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、comm.MSKTimingSynchronizer(ErrorUpdateGain=0.045) は、誤り更新ステップ サイズを 0.045 に設定します。

プロパティ

すべて展開する

特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release を使用します。

プロパティが "調整可能" の場合、その値をいつでも変更できます。

プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

シンボルあたりのサンプル数。範囲 [2, ∞) の整数として指定します。

データ型: double

誤り更新ステップ サイズ。正のスカラーとして指定します。通常は、ゆるやかに変化するタイミング位相に対応する 1/SamplesPerSymbol より小さい値になります。

調整可能: Yes

データ型: double

同期リセット入力。logical の 0 (false) または 1 (true) として指定します。

  • ResetInputPort プロパティを true または 1 に設定すると、タイミング位相同期装置は、入力引数値に基づいてタイミング位相再生処理のリセットを有効にします。

  • ResetInputPort プロパティを false または 0 に設定すると、タイミング位相同期装置は、タイミング位相再生処理の再開を無効にします。

データ型: logical

タイミング位相再生をリセットするための条件。次のいずれかのオプションとして指定します。

  • "Never" — 位相再生処理を再開しません。オブジェクトは、情報をシンボルからシンボルへと維持しながら、継続的に動作します。

  • "Every frame" — 各データ フレームの開始時にタイミング位相再生を再開します。

依存関係

このプロパティを有効にするには、ResetInputPort プロパティを false に設定します。

使用法

説明

[Y,phase] = mskTimingSync(X) は、タイミング位相を再生し、入力信号 X に対する時間同期信号 Y および推定されるタイミング位相 phase を返します。

[Y,phase] = mskTimingSync(X,R) は、非ゼロのリセット信号 R を入力すると、タイミング位相再生処理を再開します。この構文を有効にするには、ResetInputPort プロパティを true に設定します。

入力引数

すべて展開する

入力信号。複素数列ベクトルとして指定します。

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

リセット信号。非ゼロの数値として指定します。

データ型: logical | double

出力引数

すべて展開する

時間同期信号。複素数列ベクトルとして返されます。Y のデータ型は入力引数 X と同じになります。

複素数のサポート: あり

推定タイミング位相。非負の数値の列ベクトルとして返されます。

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて折りたたむ

ビット入力を true に設定し、シンボルあたりのサンプル数を 14 に設定した MSK 変調器を作成します。

mskMod = comm.MSKModulator(BitInput=true,SamplesPerSymbol=14);

タイミング オフセット値を定義します。

timingOffset = 0.2;

可変非整数遅延 System object™ を作成します。

varDelay = dsp.VariableFractionalDelay;

シンボルあたりのサンプル数を 14 に設定し、誤り更新ゲインを 0.045 に設定した MSK タイミング同期 System object を作成します。

mskTimingSync = comm.MSKTimingSynchronizer(SamplesPerSymbol=14,ErrorUpdateGain=0.045);

次の手順に従ってループを実行し、データのフレームを処理します。

  1. ランダムなバイナリ データ ベクトルを生成します。

  2. MSK 変調を使用してバイナリ データを変調します。

  3. 変調されたデータにタイミング オフセット エラーを適用します。

  4. 劣化した信号に対してタイミング位相再生を実行します。

  5. シンボルあたりのサンプル数で正規化された最初の位相推定値を保存します。

phEst = zeros(50,1);
for i = 1:50
    data = randi([0 1],100,1);
    modData = mskMod(data);
    impairedData = varDelay(modData,timingOffset*14);
    [~,phase] = mskTimingSync(impairedData);
    phEst(i) = phase(1)/14;
end

元のタイミング位相の結果と推定されたタイミング位相の結果をプロットします。

plot(1:50,[0.2*ones(50,1) phEst]);
legend( "Original","Estimated")
title('Original and Estimated Timing Phases');

Figure contains an axes object. The axes object with title Original and Estimated Timing Phases contains 2 objects of type line. These objects represent Original, Estimated.

アルゴリズム

タイミング抽出アルゴリズムは次の手順で構成されます。

  1. サンプリングされたベースバンド信号を 4 次非線形に通してタイミング情報を抽出します。

  2. 非線形性に従って信号をデジタル的に微分します。

  3. デジタル微分器の出力を平滑化してエラー信号を生成します。

  4. 誤差信号を使用して、ベースバンド信号のサンプリングを調整します。

より具体的には、このアルゴリズムは、k 番目のシンボルについてタイミング誤差の値 e(k) を出力するタイミング誤差検出器を採用しています。これは、Synchronization Techniques for Digital Receivers by Mengali, Umberto and Aldo N. D’Andrea (New York: Plenum Press, 1997) で、次の式によって定義されています。

e(k)=(1)D+1Re{r2(kTTs+dk1)r*2((k1)TTs+dk2)}(1)D+1Re{r2(kT+Ts+dk1)r*2((k1)T+Ts+dk1)}

ここで、

  • r は入力信号

  • T はシンボル周期

  • Ts はサンプリング周期

  • * は複素共役

  • dkk 番目のシンボルの位相推定

  • D は、MSK 変調では 1、ガウス MSK 変調では 2

参照

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

拡張機能

すべて展開する

バージョン履歴

R2012a で導入

参考

オブジェクト

ブロック