Chirp
スイープ周波数の余弦 (チャープ) 信号の生成
ライブラリ:
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) を超える周波数が含まれているため、"この例の出力チャープは期待どおりの動作とならない可能性があります"。後続のスペクトログラムを模したチャープ出力が予期せず得られた場合は、チャープのスイープにサンプリング周波数の半分を超える周波数が含まれている可能性があります。
モデルを実行して、信号出力とスペクトログラムを確認します。
端子
出力
Port_1 — スイープ周波数の余弦 (チャープ) 信号
スカラー | ベクトル
スイープ周波数の余弦 (チャープ) 信号。[Linear]
モード、[Logarithmic]
モード、[Quadratic]
モード ([周波数スイープ] パラメーターで設定) では、ブロックは周波数と時間のパラメーターで指定された瞬時周波数でスイープ周波数の余弦を出力します。[Swept cosine]
モードでは、ブロックは周波数と時間のパラメーターで指定されたものとは異なる可能性のある線形瞬時出力周波数スイープ周波数の余弦を出力します。
ブロックが出力を計算する方法の詳細については、アルゴリズムを参照してください。
データ型: single
| double
パラメーター
周波数スイープ — 周波数スイープのタイプ
Linear
(既定値) | Swept cosine
| Logarithmic
| Quadratic
出力瞬時周波数スイープのタイプ、fi(t): [Linear]
、[Logarithmic]
、[Quadratic]
または [Swept cosine]
。詳細については、周波数スイープの整形とアルゴリズムを参照してください。
制限
線形スイープ チャープ信号が必要な場合、[Linear]
周波数掃引を使用することを推奨します。[Swept cosine]
周波数掃引でも、線形のスイープ チャープ信号を出力しますが、出力に予期しない周波数成分が含まれていることがあります。
[ターゲット時間] での余弦スイープ掃引値は、必ずしも [ターゲット周波数] であるとは限りません。これは、余弦スイープ周波数掃引の出力を計算する方法で示されているように、ユーザーの指定スイープが余弦スイープ周波数掃引の実際の出力ではないことが理由です。[ターゲット時間] における余弦スイープ掃引の実際値については、表瞬時周波数スイープ値を参照してください。
[Swept cosine] モードでは、1/Tsw が [初期周波数] パラメーターと [ターゲット周波数] パラメーターの値よりも十分大きくなるようにパラメーターを設定してはなりません。このような場合、余弦スイープ周波数掃引の実際の成分は、1/Tsw に近い可能性があり、[初期周波数] パラメーターと [ターゲット周波数] パラメーターの値を大幅に超過しています。
スイープ モード — スイープ モード
単方向
(既定値) | 双方向
[スイープ モード] パラメーターは、スイープが単方向か双方向かを決定します。これは、出力周波数スイープの形状に影響を与えます (周波数スイープの整形を参照)。次の表では、単方向スイープと双方向スイープの特性を説明します。
[スイープ モード] パラメーターの設定 | スイープの特性 |
---|---|
|
|
|
|
次の図では、両方のスイープ モードでの線形スイープを説明します。スイープで周波数値を設定する方法の詳細については、瞬時周波数スイープ値の設定を参照してください。
初期周波数 (Hz) — 初期周波数
1000
(既定値) | スカラー
[Linear]
、[Quadratic]
および [Swept cosine]
の各スイープでは、出力チャープ信号の初期周波数 f0。[初期周波数 (Hz)] は、ゼロ以上のスカラーとして指定できます。[Logarithmic]
スイープでは、[初期周波数] はスイープの実際の初期周波数より 1 小さい値です。また、スイープが [Logarithmic]
の場合、[初期周波数] を [ターゲット周波数] より小さく設定しなければなりません。
詳細については、瞬時周波数スイープ値の設定を参照してください。
調整可能: Yes
ターゲット周波数 (Hz) — ターゲット周波数
4000
(既定値) | スカラー
[Linear]
、[Quadratic]
および [Logarithmic]
の各スイープでは、[ターゲット時間] tg での出力の瞬時周波数 fi(tg)。[ターゲット周波数 (Hz)] は、ゼロ以上のスカラーとして指定できます。[Swept cosine]
スイープでは、[ターゲット周波数] は [ターゲット時間] の半分 tg/2 での出力の瞬時周波数。[周波数スイープ] が [Logarithmic]
の場合、[ターゲット周波数] が [初期周波数] より大きくなるように設定しなければなりません。
詳細については、瞬時周波数スイープ値の設定を参照してください。
調整可能: Yes
ターゲット時間 (s) — スイープのターゲット時間
1
(既定値) | スカラー
[Linear
]、[Quadratic]
、[Logarithmic]
の各スイープでは、[ターゲット周波数] fi(tg) はスイープが到達する時間 tg です。[Swept cosine]
スイープでは、[ターゲット時間] はスイープが 2fi(tg) - f0 に到達する時間。[ターゲット時間] はゼロ以上で [スイープ時間], 以下のスカラーでなければなりません。
詳細については、瞬時周波数スイープ値の設定を参照してください。
調整可能: Yes
スイープ時間 (s) — スイープ時間
1
(既定値) | スカラー
[単方向]
の [スイープ モード] では、[スイープ時間] Tsw は出力周波数スイープの周期です。[双方向]
の [スイープ モード] では、[スイープ時間] は出力周波数スイープの周期の半分です。[スイープ時間] は [ターゲット時間] 以上のスカラーでなければなりません。
調整可能: Yes
初期位相 (rad) — コサイン出力の初期位相
0
(既定値) | スカラー
t=0; での余弦出力の位相 。[初期位相 (rad)] は、ゼロ以上のスカラーとして指定できます。
調整可能: Yes
サンプル時間 — 出力サンプル周期
1/8000
(既定値) | 正のスカラー
出力のサンプル周期 Ts。出力フレーム周期は MoTs です。ここで、Mo はフレームあたりのサンプル数です。
フレームあたりのサンプル数 — フレームあたりのサンプル数
1
(既定値) | 正の整数
各出力フレームにバッファリングする、サンプル数 Mo。正の整数スカラーとして指定します。
出力データ型 — 出力データ型
Double
(既定値) | Single
出力のデータ型。単精度または倍精度として指定します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
周波数スイープの整形
出力瞬時周波数スイープの標準形状 fi(t) は、[周波数スイープ] パラメーターと [スイープ モード] パラメーターを使用して制御します。
スイープ形状を設定するためのパラメーター | 可能な設定 | パラメーターの説明 |
---|---|---|
周波数スイープ | Linear Quadratic Logarithmic Swept cosine | スイープ周波数が線形的、二次的または対数的に変化するかどうかを決定します。線形と余弦スイープは両方とも線形的に変化します。 |
スイープ モード | 単方向 双方向 | スイープが単方向か双方向かを決定します。詳細については、スイープ モードを参照してください。 |
次の図では、[周波数スイープ] パラメーターと [スイープ モード] パラメーターを設定して取得できる周波数スイープの形状を説明します。
スイープで周波数値を設定する方法の詳細については、瞬時周波数スイープ値の設定を参照してください。
瞬時周波数スイープ値の設定
次のパラメーターを設定して、出力周波数スイープの周波数値を調整します。
初期周波数 (Hz)、f0
ターゲット周波数 (Hz)、fi(tg)
ターゲット時間 (s)、tg
次の表は、すべての [周波数スイープ] の設定について、特定時間でのスイープ値をまとめています。他の時間でのスイープ値の計算に使用する式の詳細については、アルゴリズムを参照してください。
瞬時周波数スイープ値
周波数スイープ | t = 0 での スイープ値 | t = t g でのスイープ値 | スイープ値がターゲット周波数 f i ( t g ) の場合の時間 |
---|---|---|---|
Linear | f0 | fi(tg) | tg |
Quadratic | f0 | fi(tg) | tg |
Logarithmic | f0 | fi(tg) | tg |
Swept cosine | f0 | 2fi(tg) - f0 | tg/2 |
アルゴリズム
Chirp ブロックは、[周波数スイープ] パラメーターの設定に応じて、ブロック出力の計算に 2 つの式のいずれかを使用します。詳細については、以降の節を参照してください。
出力計算の方程式
次の表では、ユーザー指定の出力周波数スイープ fi(t)、ブロック出力 ychirp(t) および実際の出力周波数スイープ fi(actual)(t) を計算するためにブロックが使用する方程式を説明します。ユーザー指定のスイープが実際の出力スイープと異なるのは、[周波数スイープ] パラメーターが [Swept cosine]
に設定されている場合のみです。
メモ
以下の方程式は、fi(0) < fi(tg) の場合の単方向スイープにのみ適用されます。他の場合に方程式を派生させる場合は、周波数スイープの整形にある表と図を調べます。
ブロックで使用される方程式の表には次の変数が含まれています。
fi(t) — ユーザー指定の周波数スイープ
fi(actual)(t) — 実際の出力周波数スイープ。通常、fi(t) と等しい
y(t) — Chirp ブロックの出力
— チャープ信号の位相。ここで と は位相の導関数
— [初期位相] パラメーターの値。ここで
単方向の正のスイープに対する方程式
周波数スイープ | ブロックの出力チャープ信号 | ユーザー指定の周波数スイープ f i ( t ) | 実際の周波数スイープ f i(actual) ( t ) | |
---|---|---|---|---|
| ||||
|
| |||
|
| ここで、fi(tg) > f0> 0 | N/A | |
|
|
|
線形、二次および対数に対応する周波数掃引の出力計算方法
チャープ関数の位相導関数は、チャープ関数の瞬時周波数を与えます。Chirp ブロックはこの原則を使用して、[周波数スイープ] パラメーターが [Linear]
、[Quadratic]
または [Logarithmic]
に設定されている場合にチャープ出力を計算します。
位相 のある線形、二次または対数チャープ信号 | |
位相導関数は瞬時周波数 |
たとえば、線形瞬時周波数掃引をもつチャープ信号が必要な場合、[周波数スイープ] パラメーターを [Linear]
に設定し、他のパラメーターを適切に設定して線形スイープ値を調整します。ブロックはチャープ信号を出力し、その位相導関数は指定された線形スイープになります。これにより、出力の瞬時周波数が確実に目的の線形スイープになります。線形、二次および対数のスイープを説明する方程式の詳細については、出力計算の方程式を参照してください。
余弦スイープ周波数掃引の出力を計算する方法
余弦スイープ チャープ信号を生成するには、ブロックでスイープ余弦チャープ出力を次のように設定します。
余弦スイープ チャープ出力 (瞬時周波数方程式は維持されません)。 |
線形、二次および対数に対応する周波数掃引の出力計算方法で示す瞬時周波数方程式は余弦スイープ チャープに対して維持されないため、ユーザー定義の周波数掃引 fi(t) は、余弦スイープ チャープ周波数掃引の実際の出力 fi(actual)(t) ではないことに注意してください。したがって、余弦スイープ出力が予期したように動作しないことがあります。余弦スイープ チャープの動作の詳細については、[周波数スイープ] パラメーターについて説明している周波数スイープおよび出力計算の方程式を参照してください。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)