5-01 1kHzのサイン波の自己相関を見る
●EXCELで自己相関を体感しよう!
信号解析の手法の一つとして「自己相関」があります。このExcelをダウンロードして開いてみましょう。最初のREADMEシート(図5‐01)にEXCELファイルの簡単な説明があります。
同図に自己相関関数の定義式があります(*1)。その式の下にあるように本EXCELではN=500,
M=45とします。
(*1)自己相関の定義には「x[i]からその平均値を引いてから積和」して、さらに「積和結果をNで割る」といった定義もあるが、それらは省略してある。 |
図5-01 最初のシートREADME
●隣のcalcInputシートを見る
自己相関関数への入力 x[i] はデフォルトで 1kHzのサイン波になります(図5‐02、calcInputシート)。サンプリング周波数が44.1kHzなので、同図のグラフのように約44サンプルで1周します。 |
図5-02 定義式における x[i] を計算するシート
●サイン波をkサンプルずらすシート
shifterシートでは x[i+k] の計算を行います。図5‐03のように例えばE列(k =
3)なら x[i+3] なので、図5‐02のサイン波 (x[i]) を3個ずらしたものになります(各セルをクリックすると計算式を見ることができる)。 |
図5-03 B列は0サンプル、C列は1サンプル、D列は2サンプルとずらしていく
●サイン波どうしを掛け合わせるシート
multiplyerシートでは x[i] x[i+k] の乗算を行います。例えばE列 (k=3) ではshifterシートのB列
(k=0)とE列 (k=3) の乗算を行います(図5‐04のようにセルをクリックすると計算式を見れる)。 |
図5-04 各列500個の乗算結果がある
●各kにおいて乗算結果500個を加算して1個の結果を得る
accumulatorシートでは図5‐05のようにmultiplyerシートの各列を累積します。例えば k=3 のセルは図5‐04のE列を累積したものです。k は0〜44まであり、自己相関結果をグラフにすると同図のようになります。 |
図5-05 k = 0, 44で極大、22で極小
●なぜこのような結果になるのか
入力が1kHz、サンプリングが44.1kHzなので約22サンプルでサイン波が反転します。したがってその位置
(k=22) の自己相関値は極小になります(*2)。
そして44サンプルずらすとサイン波は同相になり、符号が揃うため自己相関値は極大になります。
(*2)22サンプルずらすと x[i] と x[i+k] の符号が常に逆になる。44サンプルだと符号は常に同じになる。
本EXCELではM=44、すなわちk = 0, 1, 2... 44まで計算しますが、k=66 だとまた極小になり、k=88だとまた極大になることは容易に想像できます。このように自己相関値は周期が約44で波打つ関数になります。 |
次のページへ
目次へ戻る |