無料ブログはココログ

« 6.  簡単理解FFT・gnuplotでグラフ表示 | トップページ | 8. 簡単理解FFT・信号解析と表示例( これで終り) »

2013年3月 9日 (土)

7. 簡単理解 FFTテスト信号の作成

20130309_test

今回は、FFT分析に使用するテスト信号を作成します。

信号の種類は①正弦波、②矩形波、③三角波、④ノコギリ波の4種類です。

データ数をN,周波数をfとします。f=1と置くと、信号データ0N-1で一周期です。

1.     正弦波: 正弦関数を利用してsin(ωt)=sin(2πft)=sin(2πf k/N)で作成します。

ここで、k0,1,2,・・・N-1です。

プログラムでは、3信号の混合波として、

0.5*sin(radian)+0.3*sin(4*radian)+0.2*sin(6*radian)を使います。

ここで、radian=2πfk/Nです。sin記号の前の定数は振幅で、3信号の振幅の合計を1にすることにより混合波の振幅を最大1に制限しています。なお、プログラム例では1信号だけなので、2~3信号の場合は適当に振幅定数を設定してください。

 

20130309_test_4   2.     矩形波は図に示すデータ数8(最小値)で一周期を作成します。

1/2周期の点(図ではX軸の4)を半周期インデックスk1(=N/(2f))jを信号数カウンタとすると

j=0またはk1で振幅Y=0j<k1Y=0.5j>k1Y=-0.5にセットします。jN/fj=0にリセットします。

 3.三角波:も図に示すデータ数8(最小値)で一周期を作成します。

1/2周期の点(図ではX軸の4)を半周期インデックスk1=N/(2f))、増減分k2=1/k1jを信号数カウンタとするとj=0で振幅Y=-0.5j<kY=Y+k2jkY=Y-k2にします。jN/fj=0にリセットします。

  4.     ノコギリ波も図に示すデータ数8(最小値)で一周期を作成します。

一周期の点(図ではX軸の8)を周期インデックスk1(=N/(f))、増分k2=2/(n/f-1)jを信号数カウンタとするとj=0で振幅Y=0j<k1Y=Y+k2jk1j=0にリセットします。

注意事項としては、矩形波、三角波、ノコギリ波ともにデータ数8点で一周期を作ります。一周期のデータ数は最低8以上(N/f8以上)にしてください。波形を整数個数表示するには、N/f8の整数倍にしてください。なお,これらのチェックプログラムはくみこまれていません。

また、わざと整数倍波形にしない場合のテスト信号をFFTすると、高調波が増加するのが観測できると思います。

それでは、以下に「FFTテスト信号」テキストファイルを添付します。この例では、N=256f=8としています。

「20130309_test_sig.rtf」をダウンロード

実行するときには、このファイルをコピーして、コンパイル後に実行してみてください。

なお、いつものことながら間違い等についてはご容赦。

以上

« 6.  簡単理解FFT・gnuplotでグラフ表示 | トップページ | 8. 簡単理解FFT・信号解析と表示例( これで終り) »

電子工作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1269828/50672390

この記事へのトラックバック一覧です: 7. 簡単理解 FFTテスト信号の作成:

« 6.  簡単理解FFT・gnuplotでグラフ表示 | トップページ | 8. 簡単理解FFT・信号解析と表示例( これで終り) »