音声認識の学習中(フーリエ変換③)
こんばんは。
今回は、フーリエ変換で学んだことの続きを書いたものであり、今回で3回目になります。1回目と2回目の記事はこちらです。
前回から日にちが空いてしまいましたが、今日も少しだけ記事を書きたいと思います。
おさらい
音とは空気中の圧力の変化(振動)であり、その空気の振動の瞬間瞬間の数値は音圧で表すことができます。
その音圧を時系列で描いてみると、複雑な波のような形になりますが、フーリエ変換とは、その一つの複雑な波の形を何百、何千、何万通りもの複数の周波数の波に分解することです。
そして、前回の記事では音という複雑な波を、一つの【周期を持つ】複雑な波であると仮定するところから始めました。そのように仮定することで、一つの【周期を持つ】複雑な波は、複数の【周期を持つ】単純な波に分解することができ、そして【周期を持つ】波はその波の複雑さに関わらず、数学の三角関数のcos、sinの2種を用いて表すことができます。
(※2022年3月17日追記 約1か月経って公開した記事を見直した際、以下の単語について、単語の意味の捉え方によっては、誤って伝わるような気がしましたので、だいぶ日は経ちましたが、訂正いたします。
修正前:【干渉しない】
修正後:【独立する】
記事を公開した後の修正で申し訳ありません。
なお、見出しのところ以外は、【干渉しない】というように取り消し線を付けて修正前の単語を残します。)
複数の単純な波に分解するときは、それぞれの波に【独立する】ことが重要。
さて、実際にはどのように分解していくのだろう、と知りたいところですが、その前に重要なポイントを押さえる必要があると考えております。
それは、複数の【周期を持つ】単純な波に分解する時、分解された後のそれぞれの波は互いに【独立する】【干渉しない】ということです。
【独立する】【干渉しない】とは何のことかピンとこない人もいると思いますので、以降は例を使って説明したいと思います。
「歩く」方向と「ジャンプ」方向は被らない。
例えば、以下の図を見てみてください。
人がリンゴの実が高いところになっている木を見つけ、そのリンゴの実を取って食べたいと思ったとき、まず、下の図のように
①リンゴの実の真下の位置まで歩く(横移動)
②ジャンプしてリンゴを掴む(縦移動)
という順番でリンゴを取ろうとするかと思います。(①と②を同時にやってしまうこともありますが…)
わたしが上の図で一番伝えたいことは、「歩く」方向と「ジャンプ」方向は被っていないということです。
つまり、被っていない=【独立する】【干渉しない】ということです。
「歩く」方向に移動する力(大きさ)と、「ジャンプ」方向に移動する力(大きさ)は被らない(【独立する】【干渉しない】)のと同じように、複数の【周期を持つ】単純な波にも、それぞれの大きさは全て他の波と被らない(【独立する】【干渉しない】)ということです。
【独立する】は、数学的には【関数の直交】と同じ。
上記の例は、おおざっぱなものですので、もう少し数学的な言葉で表現してみます。例えば、次の図を見てください。
これは、A君の移動範囲をX軸とY軸の二次元座標を使って表現したものです。A君は一次元の世界の住人であり、X軸上なら自由に動けるとします。
しかし、A君は、Y軸上のある一点(X=0、Y=3)には、いくら移動しても辿り着くことができません。
なぜかというと、A君はX軸上でしか移動できないのですが、X軸上はどこに移動しても必ずY=0になります。そのため、Y軸上のある一点(X=0、Y=3)には決して辿り着けないのです。
また、次の図も見てください。
こちらは、先ほどと同様に、B君の移動範囲をX軸とY軸の二次元座標を使って表現したものです。B君も一次元の世界の住人であるところは同じですが、先ほどとの違いは、B君はY軸上なら自由に動けることです。
ですが、やはりB君も、X軸上のある一点(X=3、Y=0)には、いくら移動しても辿り着くことができません。
B君はY軸上でしか移動できないのですが、Y軸上はどこに移動しても必ずX=0になります。そのため、X軸上のある一点(X=3、Y=0)には決して辿り着けないのです。
このようにA君とB君でそれぞれの移動範囲がありますが、それぞれが自分自身の移動できる世界と異なる世界にある一点へ移動しようとしても、決して辿り着くことができません。これが、【独立する】【干渉しない】ということであり、数学的には【関数の直交】として表現します。
上のA君の住む世界(移動範囲)とB君の住む世界(移動範囲)をイメージで表してみたものがこちらです。以下の図のように、A君の住む世界とB君の住む世界のそれぞれの境界線でぴったりくっつく(例:X=0、Y=0の交点)ことはあっても、面と面自体が重なるところがありません。これを【独立する】【干渉しない】、【関数の直交】として表現します。
直線でなく、波(曲線)でも【独立する】ものはあるらしい。
先ほどの例では、X軸とY軸という二つの直線を使って、表しましたが、同様のことが、波(曲線)、つまり三角関数でも、【独立する】【干渉しない】、【関数の直交】があります。
実は、三角関数の中でも一番単純と思われる、cos(余弦関数)とsin(正弦関数)は互いに【独立する】【干渉しない】(【関数の直交】がある)のです。
まずは次の図を見てください。
上記のように、cosωtと、sinωtで描いた2つの波がありますが…………
本当に【独立する】【干渉しない】(【関数の直交】がある)のでしょうか???
わたしも最初はピンと来ませんでした。
ですが、本を参考に勉強していくうちに、目からウロコというか、なるほど!と思うものがありましたので、次回はその内容を紹介いたします。
ここまで読んでくださってありがとうございます。
次回に続きます。無理はしないようにしつつも、間隔を空けすぎないようにいたしますね・・・汗
よろしくお願いいたしますm(_ _)m
参考
・どんな構造?どんな原理?ダイナミックマイクロフォン概要
https://www.shimamura.co.jp/shop/nagoya/pa-rec/20210804/8263
・ぷち マンガでわかるフーリエ解析
https://www.ohmsha.co.jp/book/9784274219054/
・【画像45枚あり】フーリエ変換を宇宙一わかりやすく解説してみる
https://www.yukisako.xyz/entry/fourier-transform
・【イラストで解説】耳の仕組みと聞こえの仕組みって?わかりやすく解説します
https://ohmiminavi.co.jp/how-to-ear/
この記事が気に入ったらサポートをしてみませんか?