Signal Processing Toolbox | ![]() ![]() |
波形の生成: 時間ベクトルと正弦波
ツールボックスには、波形を生成するための種々の関数が用意されています。ほとんどの関数では、時間を表わすベクトルを必要とします。たとえば、1000Hzのサンプリング周波数で、データを生成するとします。これに対応する時間ベクトルは、
t = (0:0.001:1)';
となります。ここで、MATLABのコロン(:)演算子は、1ミリ秒単位で、0秒から1秒までの時間を表す1001要素の行ベクトルを作成します。転置演算子(')は、行ベクトルを列ベクトルに変換し、セミコロン(;)により、計算のみを行い、結果は表示しません。
t
が与えられると、50Hzの正弦波と、その2倍の振幅をもつ120Hzの正弦波からなるサンプル信号y
を作成することができます。
y = sin(2*
pi*
50*
t) + 2*
sin(2*
pi*
120*
t);
ベクトルt
から生成される新しい変数y
も、1001要素の長さとなります。つぎのステートメントを用いると、正規分布の白色雑音を信号に加え、その結果の最初の50個の点をプロットすることができます。
randn('state',0);
yn = y + 0.5*
randn(size(t));
plot(t(1:50),yn(1:50))
![]() | 信号の表現 | よく使われるデータ列: 単位インパルス、 単位ステップ、単位ランプ | ![]() |