Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

frest.Chirp

スイープ周波数の余弦入力信号

説明

frest.Chirp オブジェクトを使用して、周波数応答推定のためのスイープ周波数の余弦入力信号を表します。スイープ周波数の余弦入力信号、つまり "チャープ" 信号は、入力周波数が直ちに変化していくように、ある範囲の周波数でシステムを励起します。

システムがシミュレーション範囲内でほぼ線形の場合はチャープ信号が便利です。また、多くの周波数点についてすばやく応答を取得する場合にも役立ちます。チャープ入力を使用して得られる周波数応答モデルには、チャープの範囲内にある周波数のみが含まれています。

推定のためのチャープ入力信号は、コマンド ライン、モデル線形化器、または Frequency Response Estimator ブロックで使用できます。推定アルゴリズムは、推定用に指定された入力ポイントに信号を挿入し、出力ポイントで応答を測定します。詳細については、チャープ入力信号を参照してください。

入力信号のプロットを表示するには、plot(input) と入力します。入力信号用の timeseries オブジェクトを作成するには、generateTimeseries コマンドを使用します。

作成

説明

input = frest.Chirp(sys) は、線形システム sys のダイナミクスに基づいたプロパティをもつスイープ周波数の余弦入力信号を作成します。たとえば、システムの正確な線形化がある場合は、それを使用してパラメーターを初期化することができます。

input = frest.Chirp(Name,Value) は、1 つ以上の名前と値のペアを使って指定されたプロパティを使用して、スイープ周波数の余弦入力信号を作成します。各プロパティ名を引用符で囲みます。

入力引数

すべて展開する

線形動的システム。SISO の ss オブジェクト、tf オブジェクト、または zpk オブジェクトとして指定します。非線形システムを線形化することで、既知のダイナミクスを指定するか、線形モデルを取得することができます。

結果となるチャープ信号は、線形システムに基づいてこれらのオプションを自動的に設定します。

  • FreqRange は、線形システムに興味深いダイナミクスがある周波数です。

  • Ts は、エイリアシングを回避するために設定されており、信号のナイキスト周波数は周波数範囲の上限の 5 倍です。

  • NumSamples は、周波数応答推定に周波数範囲の下限が含まれるように設定されています。

残りのプロパティでは既定値が使用されます。

プロパティ

すべて展開する

各周波数における信号の振幅。正のスカラーとして指定します。

信号の周波数範囲。以下のいずれかとして指定します。

  • 2 要素のベクトル、例: [w1 w2]

  • 2 要素の cell 配列、例: {w1 w2}

ここで、w1 は周波数範囲の下限で、w2 は上限です。

周波数単位。以下のいずれかとして指定。

  • 'rad/s' — ラジアン/秒

  • 'Hz' — ヘルツ

周波数の単位を変更しても周波数応答推定には影響しません。

チャープ信号のサンプル時間 (秒)。正のスカラーとして指定します。エイリアシングを回避する既定のサンプル時間を次に示します。

2π5*max(FreqRange)

ここで、FreqRange は rad/s 単位で指定します。

チャープ信号のサンプル数。正の整数として指定します。推定に周波数範囲の下限が含まれるようにする既定のサンプル数を次に示します。

4πTs*min(FreqRange)

ここで、FreqRange は rad/s 単位で指定します。

このプロパティは、最終的な推定結果における周波数点の数を特定するものではありません。関数 frestimate は正の値をもつ周波数点のみを含めます。また、関数はチャープに指定された周波数範囲外にある周波数をすべて破棄します。

瞬時周波数の展開メソッド。次のいずれかとして指定します。

メソッド説明
'linear'

瞬時周波数スイープ fi(t) を指定します。

fi(t)=f0+βtwhereβ=(f1f0)/tf

β は、信号が最終時間 tf において目的の周波数ブレークポイント f1 を維持することを確実にします。

'logarithmic'

瞬時周波数スイープ fi(t) を指定します。

fi(t)=f0×βtwhereβ=(f1f0)1tf

'quadratic'

瞬時周波数スイープ fi(t) を指定します。

fi(t)=f0+βt2whereβ=(f1f0)/ti2

Shape オプションを使用して二次式の形状を指定します。

2 次スイープ放物線の形状。次のいずれかとして指定します。

  • 'concave' — 下に凹な二次スイープ形状。

  • 'convex' — 上に凸な二次スイープ形状。

このプロパティは、SweepMethod'quadratic' である場合に利用できます。

度単位のチャープ信号の初期位相。スカラーとして指定します。

オブジェクト関数

frestimateSimulink モデルの周波数応答の推定
generateTimeseries入力信号の時間領域データの生成
frest.simCompare非線形および線形モデルの時間領域シミュレーションのプロット
frest.simView周波数応答モデルの時間領域および周波数領域でのプロット
getSimulationTime周波数応答推定のシミュレーションの最終時間

すべて折りたたむ

10 ~ 500 rad/s の範囲の周波数をもつチャープ入力信号を作成します。振幅とサンプル数も指定します。

input = frest.Chirp('Amplitude',1e-3,...
                    'FreqRange',[10 500],...
                    'NumSamples',750)
 
The chirp input signal:
 
      FreqRange              : [10 500] (rad/s)
      Amplitude              : 0.001
      Ts                     : 0.00251327412287183 (sec)
      NumSamples             : 750
      InitialPhase           : 270 (deg)
      FreqUnits (rad/s or Hz): rad/s
      SweepMethod(linear/    : linear
                  quadratic/
                  logarithmic)
 

チャープ信号をプロットします。

plot(input)

Figure contains an axes object. The axes object with title Time Series Plot:Created from a frest.Chirp signal, xlabel Time (seconds), ylabel Created from a frest.Chirp signal contains an object of type line.

線形システムのダイナミクスに基づいたチャープ入力信号を作成します。この方法は、周波数応答の推定を使ってモデルの線形化を検証する場合に便利です。

Simulink モデルを開きます。

model = 'watertank';
open_system(model)

この例では、モデルを定常状態の操作点で線形化して、チャープ信号の初期化に使用できる状態空間モデルを取得します。

io(1)=linio('watertank/PID Controller',1,'input');
io(2)=linio('watertank/Water-Tank System',1,'openoutput');

watertank_spec = operspec(model);
opOpts = findopOptions('DisplayReport','off');
op = findop(model,watertank_spec,opOpts);

sys = linearize(model,op,io);

チャープ信号を作成します。

input = frest.Chirp(sys);

frest.Chirp は、システム ダイナミクスに基づいて周波数範囲を選択します。また、チャープ信号の他のパラメーターも自動的に初期化します。

input
 
The chirp input signal:
 
      FreqRange              : [0.001581138830107 0.1581138830107] (rad/s)
      Amplitude              : 1e-05
      Ts                     : 7.94767061252222 (sec)
      NumSamples             : 1000
      InitialPhase           : 270 (deg)
      FreqUnits (rad/s or Hz): rad/s
      SweepMethod(linear/    : linear
                  quadratic/
                  logarithmic)
 

ドット表記を使用して信号のプロパティを変更できます。たとえば、信号振幅を大きくします。

input.Amplitude = 3e-5
 
The chirp input signal:
 
      FreqRange              : [0.001581138830107 0.1581138830107] (rad/s)
      Amplitude              : 3e-05
      Ts                     : 7.94767061252222 (sec)
      NumSamples             : 1000
      InitialPhase           : 270 (deg)
      FreqUnits (rad/s or Hz): rad/s
      SweepMethod(linear/    : linear
                  quadratic/
                  logarithmic)
 

代替機能

モデル線形化器

モデル線形化器でチャープ入力信号を推定に使用するには、[推定] タブで [入力信号][チャープ] を選択します。

バージョン履歴

R2009b で導入