Main Content

comm.GMSKTimingSynchronizer

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

説明

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

入力信号のシンボル タイミング位相を再生するには、以下の手順に従います。

  1. GMSK タイミング同期装置オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.GMSKTimingSynchronizer のプロパティに従い、入力信号のシンボル タイミング位相を再生します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

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

H = comm.GMSKTimingSynchronizer(Name,Value) は、指定された各プロパティが指定の値に設定された GMSK タイミング同期装置オブジェクト H を作成します。(Name1,Value1,...,NameN,ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

プロパティ

SamplesPerSymbol

各シンボルを表すサンプル数

1 よりも大きな整数値のスカラー値として入力信号に各シンボルを表すサンプル数を指定します。既定の設定は 4 です。

ErrorUpdateGain

誤り更新ステップ サイズ

連続タイミング位相推定を更新するステップ サイズを正の実数スカラー値で指定します。通常は、ゆるやかに変化するタイミング位相に対応する 1/SamplesPerSymbol より小さい値になります。既定の設定は 0.05 です。このプロパティは調整可能です。

ResetInputPort

同期リセット入力を有効にする

このプロパティを true に設定して、入力引数値に基づいたタイミング位相再生処理のリセットを可能にします。既定の設定は false です。

このプロパティを true に設定すると、リセット入力値を step メソッドに指定しなければなりません。

リセット入力として非ゼロの値を指定すると、オブジェクトはタイミング位相再生処理を再起動します。このプロパティを false に設定すると、オブジェクトは再起動しません。

ResetCondition

タイミング位相再生リセットの条件

タイミング位相再生処理を Never または Every frame の 1 つでリセットするために条件を指定します。既定の設定は Never です。

このプロパティを Never に設定すると、位相再生処理が再起動することはありません。オブジェクトは、情報をシンボルからシンボルへと維持しながら、継続的に動作します。

このプロパティを Every frame に設定すると、タイミング位相再生はデータの各フレームの開始時に再起動します。この場合、再起動は step メソッドの呼び出しのたびに発生します。このプロパティは、ResetInputPort プロパティを false に設定した場合に適用されます。

メソッド

step4 次非線形性法を使用したシンボル タイミング位相の再生
すべての System object に共通
release

System object のプロパティ値の変更の許可

reset

System object の内部状態をリセットします。

すべて折りたたむ

GMSK 変調器、可変非整数遅延、GMSK タイミング同期装置 System object を作成します。

gmskMod = comm.GMSKModulator('BitInput', true, ...
    'SamplesPerSymbol', 14);
timingOffset = 0.2;
varDelay = dsp.VariableFractionalDelay;
gmskTimingSync = comm.GMSKTimingSynchronizer('SamplesPerSymbol', 14, ...
    'ErrorUpdateGain', 0.05);

主処理ループは次のようになります。

phEst = zeros(50,1);
for i = 1:50
    data = randi([0 1],100,1); % Generate data
    modData = gmskMod(data);   % Modulate data
    
    % Apply timing offset error
    impairedData = varDelay(modData,timingOffset*14);
    % Perform timing phase recovery
    [~,phase] = gmskTimingSync(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.

アルゴリズム

このオブジェクトは、MSK-Type Signal Timing Recovery ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応しますが、以下の場合を除きます。

拡張機能

バージョン履歴

R2012a で導入