Main Content

Chirp

スイープ周波数の余弦 (チャープ) 信号の生成

  • Chirp block

ライブラリ:
DSP System Toolbox / Sources

説明

Chirp ブロックは、単位元の振幅と連続位相をもつスイープ周波数の余弦 (チャープ) 信号を出力します。目的の出力チャープ信号を指定するには、瞬時周波数関数 (出力周波数スイープとも呼ばれる) を定義しなければなりません。周波数スイープは線形、二次または対数にすることができ、既定では [スイープ時間] ごとに 1 回繰り返します。Chirp ブロックで使用されるアルゴリズムの説明については、アルゴリズムを参照してください。

すべて展開する

この例では、Chirp ブロックは双方向の線形スイープ チャープ信号を出力し、時間スコープとスペクトル アナライザーによって表示されます。Signal To Workspace ブロックを使用して信号を MATLAB ワークスペースにエクスポートすることもできます。

双方向スイープを作成するには、[スイープ モード] パラメーターを Bidirectional に設定します。[ターゲット時間][スイープ時間] と同じに設定して双方向スイープの最終周波数を指定します。この場合、[ターゲット周波数] がスイープの最終周波数になります。双方向スイープでは、スイープの周期が単方向スイープの [スイープ時間] の 2 倍になることに注意してください。

モデルを実行し、Time Scope と Spectrum Analyzer で出力を確認します。

出力をワークスペースに保存し、次のコマンドを使用してスペクトログラムを表示することもできます。

spectrogram(dsp_examples_yout,hamming(128),110,0:.01:40,400)

この例では、Chirp ブロックは単方向の線形スイープ チャープ信号を出力します。Time Scope は時間領域で信号出力を表示し、Spectrum Analyzer は周波数領域でスペクトログラムを表示します。

既知の初期周波数値と最終周波数値をもつ単方向スイープを取得するには、Chirp ブロックで [ターゲット時間][スイープ時間] と同じに設定します。その場合、[ターゲット周波数] はスイープの最終周波数になります。[ターゲット時間][スイープ時間] (1 秒) と同じに設定されているため、[ターゲット周波数] (25 Hz) が単方向スイープの最終周波数になります。この手法は余弦スイープ掃引では機能しない可能性があります。詳細については、[周波数スイープ] パラメーターについて説明している周波数スイープを参照してください。

モデルを実行して時間領域の出力を確認します。

この例では、[スイープ時間][ターゲット時間] よりも大きい場合に Chirp ブロックで発生する可能性がある予期しない動作について説明します。Time Scope は信号出力を表示し、Spectrum Analyzer は周波数領域でスペクトログラムを表示します。

[スイープ時間] パラメーターを 1.5 に設定し、[ターゲット時間][スイープ時間] と同じに設定して双方向スイープの最終周波数を指定します。スイープは [ターゲット時間] (1 秒) で [ターゲット周波数] (25 Hz) に到達しますが、[スイープ時間][ターゲット時間] よりも長いため、スイープは 1 つの [スイープ時間] (1.5 秒) が経過するまで線形パスを継続します。

[スイープ時間][ターゲット時間] よりも大きく設定すると、予期しない動作が発生する可能性があります。

モデルを実行して、チャープ信号出力と周波数領域のスペクトログラムを確認します。

この例では、Chirp ブロックが負の周波数を含むチャープ信号を出力します。Time Scope は時間領域で信号出力を表示し、Spectrum Analyzer は周波数領域でスペクトログラムを表示します。

[スイープ時間]1.5[初期周波数]25[ターゲット周波数]0[ターゲット時間][スイープ時間] と同じに設定します。スイープに 1 ~ 1.5 秒の負の周波数が含まれているため、"この例の出力チャープは期待どおりの動作とならない可能性があります"。スイープは、1 秒で [ターゲット周波数] (0 Hz) に到達し、その後負の勾配を継続し、1 つの [スイープ時間] (1.5 秒) が経過するまで負の周波数値を取ります。

モデルを実行して時間領域の出力を確認します。

この例では、Chirp ブロックが負の周波数を含むチャープ信号を出力します。Time Scope は時間領域で信号出力を表示し、Spectrum Analyzer は周波数領域でスペクトログラムを表示します。

[ターゲット周波数]275 に設定し、[ターゲット時間][スイープ時間] と同じに指定します。スイープにサンプリング周波数の半分 (200 Hz) を超える周波数が含まれているため、"この例の出力チャープは期待どおりの動作とならない可能性があります"。後続のスペクトログラムを模したチャープ出力が予期せず得られた場合は、チャープのスイープにサンプリング周波数の半分を超える周波数が含まれている可能性があります。

モデルを実行して、信号出力とスペクトログラムを確認します。

端子

出力

すべて展開する

スイープ周波数の余弦 (チャープ) 信号。[Linear] モード、[Logarithmic] モード、[Quadratic] モード ([周波数スイープ] パラメーターで設定) では、ブロックは周波数と時間のパラメーターで指定された瞬時周波数でスイープ周波数の余弦を出力します。[Swept cosine] モードでは、ブロックは周波数と時間のパラメーターで指定されたものとは異なる可能性のある線形瞬時出力周波数スイープ周波数の余弦を出力します。

ブロックが出力を計算する方法の詳細については、アルゴリズムを参照してください。

データ型: single | double

パラメーター

すべて展開する

出力瞬時周波数スイープのタイプ、fi(t): [Linear][Logarithmic][Quadratic] または [Swept cosine]。詳細については、周波数スイープの整形アルゴリズムを参照してください。

制限

線形スイープ チャープ信号が必要な場合、[Linear] 周波数掃引を使用することを推奨します。[Swept cosine] 周波数掃引でも、線形のスイープ チャープ信号を出力しますが、出力に予期しない周波数成分が含まれていることがあります。

  • [ターゲット時間] での余弦スイープ掃引値は、必ずしも [ターゲット周波数] であるとは限りません。これは、余弦スイープ周波数掃引の出力を計算する方法で示されているように、ユーザーの指定スイープが余弦スイープ周波数掃引の実際の出力ではないことが理由です。[ターゲット時間] における余弦スイープ掃引の実際値については、表瞬時周波数スイープ値を参照してください。

  • [Swept cosine] モードでは、1/Tsw[初期周波数] パラメーターと [ターゲット周波数] パラメーターの値よりも十分大きくなるようにパラメーターを設定してはなりません。このような場合、余弦スイープ周波数掃引の実際の成分は、1/Tsw に近い可能性があり、[初期周波数] パラメーターと [ターゲット周波数] パラメーターの値を大幅に超過しています。

[スイープ モード] パラメーターは、スイープが単方向か双方向かを決定します。これは、出力周波数スイープの形状に影響を与えます (周波数スイープの整形を参照)。次の表では、単方向スイープと双方向スイープの特性を説明します。

[スイープ モード] パラメーターの設定スイープの特性

単方向

  • 1 つの [スイープ時間]、Tsw の間に継続

  • Tsw ごとに 1 回繰り返す

双方向

  • [スイープ時間] の 2 倍の時間、2Tsw の間、継続

  • 2Tsw ごとに 1 回繰り返す

  • 最初の半分は対応する単方向と同一である。

  • 残りの半分は最初の半分の鏡像である。

次の図では、両方のスイープ モードでの線形スイープを説明します。スイープで周波数値を設定する方法の詳細については、瞬時周波数スイープ値の設定を参照してください。

[Linear][Quadratic] および [Swept cosine] の各スイープでは、出力チャープ信号の初期周波数 f0[初期周波数 (Hz)] は、ゼロ以上のスカラーとして指定できます。[Logarithmic] スイープでは、[初期周波数] はスイープの実際の初期周波数より 1 小さい値です。また、スイープが [Logarithmic] の場合、[初期周波数][ターゲット周波数] より小さく設定しなければなりません。

詳細については、瞬時周波数スイープ値の設定を参照してください。

調整可能: Yes

[Linear][Quadratic] および [Logarithmic] の各スイープでは、[ターゲット時間] tg での出力の瞬時周波数 fi(tg)。[ターゲット周波数 (Hz)] は、ゼロ以上のスカラーとして指定できます。[Swept cosine] スイープでは、[ターゲット周波数][ターゲット時間] の半分 tg/2 での出力の瞬時周波数。[周波数スイープ][Logarithmic] の場合、[ターゲット周波数][初期周波数] より大きくなるように設定しなければなりません。

詳細については、瞬時周波数スイープ値の設定を参照してください。

調整可能: Yes

[Linear]、[Quadratic][Logarithmic] の各スイープでは、[ターゲット周波数] fi(tg) はスイープが到達する時間 tg です。[Swept cosine] スイープでは、[ターゲット時間] はスイープが 2fi(tg) - f0 に到達する時間。[ターゲット時間] はゼロ以上で [スイープ時間], Tswtg 以下のスカラーでなければなりません。

詳細については、瞬時周波数スイープ値の設定を参照してください。

調整可能: Yes

[単方向] [スイープ モード] では、[スイープ時間] Tsw は出力周波数スイープの周期です。[双方向] [スイープ モード] では、[スイープ時間] は出力周波数スイープの周期の半分です。[スイープ時間][ターゲット時間] Tswtg 以上のスカラーでなければなりません。

調整可能: Yes

t=0; ϕ0 での余弦出力の位相 ychirp(t)=cos(ϕ0)[初期位相 (rad)] は、ゼロ以上のスカラーとして指定できます。

調整可能: Yes

出力のサンプル周期 Ts。出力フレーム周期は MoTs です。ここで、Mo はフレームあたりのサンプル数です。

各出力フレームにバッファリングする、サンプル数 Mo。正の整数スカラーとして指定します。

出力のデータ型。単精度または倍精度として指定します。

ブロックの特性

データ型

double | single

直達

なし

多次元信号

なし

可変サイズの信号

なし

ゼロクロッシング検出

なし

詳細

すべて展開する

アルゴリズム

すべて展開する

Chirp ブロックは、[周波数スイープ] パラメーターの設定に応じて、ブロック出力の計算に 2 つの式のいずれかを使用します。詳細については、以降の節を参照してください。

拡張機能

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

バージョン履歴

R2006a より前に導入