今日のおじさん、なに食べました? (仮)

妻の料理と、おじさんの毎日の記録です。ほんのり工学テイスト。

gang01.jpg
↑↑↑夏休みの自由研究。画像クリックで記事一覧を表示します↑↑↑
キッチンタイマー音の周波数は?~フーリエ変換
【今日の料理】 2011/11/29 夕食
 今日は,妻と娘(9.6ヶ月)と,娘の靴下や衣類を買いに行きました.
 先日,娘を連れて熊谷駅付近を歩いていたら,見知らぬおばあさんに,「寒そうね,靴下を買ってあげようか?」と聞かれてしまったのです.そのときは,ちょっとの外出だったこともあり,娘は靴下をはいていませんでした.最近,急に寒くなったので,心配だったのだと思います.
 今回は,大丈夫ですと断ることができましたが,もしも「寒そうに見えたから,そこで靴下を買ってきたわ.」などと来られると,断るのが難しそうです.今後は,寒い日にはきちんと靴下をはかせて,「周囲から暖かく見える格好」をさせるよう,心がけたいと思います.
CIMG7164.jpg

★焼きそば
 マルちゃん焼きそばです.具は,豚肉・玉ねぎ・人参・ピーマン・もやし.マルちゃんの焼きそばは,私のような料理下手でも,おいしくできます.安価なものとは,麺が違うようです.

★みそ汁,大根・ごぼう・人参
 娘の離乳食用に圧力鍋で炊いた根菜を使いました.

★こまつなおひたし

★おでん
 昨晩の残り.

★京イモ
 母からの頂き物の残り.


↓↓↓靴下を買った育休おじさんを,ポチッと応援!↓↓↓
にほんブログ村 科学ブログ 技術・工学へ
にほんブログ村


【今日の料理工学】 キッチンタイマー音の周波数は?~フーリエ変換
 前回は,キッチンタイマーの音の波形をグラフ化して,機種による音の違いを比較しました.

 前回は,波形の波の周期を目視で読んで,音の周波数を調べました.しかし,周波数を調べる手段としては,フーリエ変換が,よく用いられます.今回は,フーリエ変換を利用して,音の周波数を調べてみます.


★フーリエ変換のいろいろ
 フーリエ変換は,時間波形(時間信号)を周波数波形(周波数信号)に変換するものです.この変換によって,時間波形がどのような周波数成分で構成されるかを,分析できます.
 フーリエ変換には,主に次のようなものがあります.
 ・フーリエ変換(FT,Fourier Transform)
 ・離散フーリエ変換(DFT,Discrete Fourier Transform)
 ・高速フーリエ変換(FFT,Fast Fourier Transform)

 「フーリエ変換」は,時間に関して連続な関数に対する変換です.しかし,音データを実際に測定する場合には,一定時間おきに音の強さを取得する,という方法がとられます.つまり,音データは,時間に対して連続ではなく,とびとびのデータになります.このようなデータを,「離散データ」と呼びます.また,測定値の取得間隔を,サンプリング周期(単位:s)と呼びます.サンプリング周期の逆数が,サンプリング周波数(単位:Hz)です.
 フーリエ変換を用いると,時間に関して連続な関数f(t)を,次式1のように,周期T,T/2,…,の三角関数の線形結合として,表すことができます.ここで,f(t)は,時間t=0~Tの範囲で定義されるとします.
<式1>
20111129s01.jpg
 ここで,a0,an,bnは,次式2で計算できます(n=1,2,…,∞).これらのa0,an,bnを求める計算手順を,フーリエ変換と呼びます.(フーリエ変換は,複素数の指数関数で表されることも多いのですが,ここではとっつきやすさと,プログラム上の利便を考えて,三角関数で表示しています.)
<式2>
20111129s02.jpg
 式1は,次式3のようにも表せます.Gnを「ゲイン」,Θnを「位相」と呼びます.ゲインGnは,周期T/n(周波数n/T)の成分の強さを示します.
<式3>
20111129s03.jpg

 「DFT(離散フーリエ変換)」は,離散データに対する変換です.実際の音データは離散データなので,離散フーリエ変換を用いれば,周波数波形を得ることができます.周波数波形とは,もとの音データがどのような周波数成分でできているかを示す波形です.離散化によって,有用性は増しますが,「折り返し誤差」や「波形のゆがみ」などの誤差要因が現れること,分析可能な周波数の範囲が限られること(サンプリング定理),に注意が必要です.
 DFTを用いると,離散関数g(k)を,次式4で近似的に表せます.Nは,データ点数です.式1のf(t)を離散化してg(k)を得た場合は,g(k)=f(k*T/N)となります(T:f(t)の定義域).
<式4>
20111129s11.jpg
 係数a0,an,bnは,次式5で計算できます(n=1,2,…,N-1).これらのa0,an,bnを求める計算手順を,離散フーリエ変換と呼びます.連続関数に対するフーリエ変換とは,nが有限個である点が異なります.
<式5>
20111129s12.jpg
 式4は,次式6のようにも書けます.Gnが「ゲイン」,Θnが「位相」です.ゲインGnは,周期T/n(周波数n/T)の成分の強さを表します.
<式6>
20111129s13.jpg

 「FFT(高速フーリエ変換)」は,計算内容はDFTと同じです.しかし,計算アルゴリズムが違います.FFTでは,解析されるデータ数を2のべき乗に制限する代わりに,DFTに比べて非常に短時間で計算を完了できます(例えばデータ数N=1024個のとき,必要な掛け算の回数はDFT:約100万回,FFT:約1万回).
 普通,機械屋が「フーリエ変換」というと,FFTを指すことが多いです.
 高速フーリエ変換(FFT)の計算アルゴリズムについては,別の記事に詳細をまとめました.→こちら

 今回は,当方の勉強を兼ねて,自分でフーリエ変換のプログラムを作成しました(エクセルのマクロで作成).このため,低速ですが,アルゴリズムが単純な「DFT」を使いました.低速とはいえ,最近のパソコンを用いれば,データ数が1000点くらいならば,数秒で計算は完了します.
 また,本来は,周波数波形のゆがみを防ぐために,「ハミング窓」や「ハニング窓」などの「窓関数」を用いるべきなのですが,今回は省略しました.すなわち,「矩形窓」を用いています.


★比較する波形
 前回同様,下図1の3種類のキッチンタイマーを用います.
 a)リンゴ型
 b)黒色コンパクト
 c)青色大型
<図1>
20111128z1.jpg
 タイマー音は,前回録音したものを使います.波形は,下図2の通りです.横軸:時間,縦軸:音の強さ(録音レベルの最大値=±1)です.
<図2>
a)
20111128z21.jpg
b)
20111128z22.jpg
c)
20111128z23.jpg


 参考のため,下図3のハーモニカ(トンボ複音ハーモニカ,イ長調)も使いました.
<図3>
20111128z2.jpg
 ハーモニカの「ド」の音階(音名は「イ」)の波形は,下図4の通りでした.
<図4>
20111128z3.jpg

 いずれの波形とも,サンプリング周波数は約22kHz,データ点数は1000点です.


★フーリエ変換の結果
 キッチンタイマーの音をフーリエ変換した結果を,下図5に示します.横軸は周波数,縦軸はゲインです.
<図5>
a)
20111129z11.jpg
b)
20111129z12.jpg
c)
20111129z13.jpg
 aとbでは,2kHz(=2000Hz)のところに大きなピークが立っています.すなわち,aとbのキッチンタイマーの音は,主に2kHzの周波数成分で構成されていることが分かります.
 これに対して,cでは,4kHz(=4000Hz)のところに大きなピークが立っています.つまり,cのキッチンタイマーの音は,主に4kHzの周波数成分で構成されています.

 ハーモニカの音のフーリエ変換の結果は,下図6です.
<図6>
20111129z14.jpg
 たくさんのピークが見えますが,最も高いピークは約440Hzのものです.440Hzは,音名「イ」の周波数として,定義されています.この結果を見ると,当方自作のフーリエ変換は,正しく動作していそうです.ひと安心です.


 以上のように,フーリエ変換を行うと,音がどのような周波数成分で構成されているか,ひとめで分かります.音の波形から目視で周波数(周期)を読み取るのとは違い,人による差が出ないのが利点だと思います.


 次回は,複音ハーモニカの音の周波数を,詳しく調べてみます.


【今回の結論】
 フーリエ変換によって,音を構成する周波数成分が分かります.


娘が活発に動くようになり,ブログに割ける時間が減りつつある育休おじさんを,応援よろしくお願いします.
にほんブログ村 科学ブログ 技術・工学へ
にほんブログ村

関連記事
スポンサーサイト
omocha201612.jpg
↑↑↑画像クリックで、我が家のおもちゃを紹介します!↑↑↑









管理者にだけ表示を許可する





トラックバック
TB*URL







Copyright © 今日のおじさん、なに食べました? (仮). all rights reserved.