Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

チャープ信号の生成

この例では、ThingSpeak™ で線形チャープ信号を生成する方法を説明します。チャープは、時間と共に周波数が増加 (アップチャープ) するか、減少 (ダウンチャープ) する信号です。この例では、TimeControl アプリで使用するとアップチャープからダウンチャープに連続的に変化する線形チャープを説明します。

メモ

この例を実行するには、DSP System Toolbox を使用するライセンスの与えられた MathWorks アカウントにログインしていなければなりません。

チャープ信号発生器の定義

チャープの初期周波数を 0 Hz に、ターゲット周波数 (スイープの終わりの周波数) を 10 Hz に設定します。周波数スイープは、ターゲット時間 10 秒で発生するよう設定します。信号の瞬間最大周波数が 10 Hz であることから、エイリアシングを回避するためにサンプルレートを 50 に設定します。また、フレーム当たりのサンプル数を 500 に設定して、完全なスイープが必ず行われるようにします。

hchirp = dsp.Chirp( ... 
    'InitialFrequency', 0,... 
    'TargetFrequency', 10, ...  
    'TargetTime', 10, ...
    'SweepTime', 100, ...
    'SampleRate', 50, ...
    'SamplesPerFrame', 500);

チャープ信号の生成

関数 step を使用してチャープを生成します。1 分間の評価を使い、TimeControl からの連続呼び出し全体で連続的にスイープする性質をチャープに与えます。TimeControl を 5 分に 1 回実行するように設定して、コードを偶数分と奇数分に交互に評価します。このスイッチング現象は、スイープの方向を変えるために使用します。

chirpData = (step(hchirp))';
evenFlag = mod(minute(datetime('now')),2);
if evenFlag
    chirpData = fliplr(chirpData);
end

チャープ信号のプロット

thingSpeakPlot を使用してチャープ信号をプロットします。

% Plot the chirp signal
thingSpeakPlot(chirpData);

参考

System object

関数