View
256
Download
6
Embed Size (px)
Citation preview
計算のスピードアップ• コンピュータでも、 sin、 cosの計算は大変です
• 足し算、引き算、掛け算、割り算は早いです
• 対称性を利用して sin、 cosを計算するとよい
高速フーリエ変換( FFT)
対称性の利用
対称性を利用すると計算速度は上がるが、データ数に制限が付く
• 一周 (2π)を 4分割、8分割、 16分割、32分割、 64分割、 128分割、 256分割で考える
Excelの FFT
32データにしましょう
xをつくる
これを例にしてみます
mの作成
データ分析の利用
入力データを選択
出力先を決める
フーリエ分析
フーリエ係数の計算
フーリエ係数の作成
フーリエ係数
わかりやすい例
a1=1それ以外は 0
FFTの結果OK!
?
m=31の正体
エイリアシング
信号解析• まず、1周期分を取り出す
取り出し方によって、偶関数、奇関数、どちらでもない関数
それぞれでフーリエ係数も変わってしまう
信号の作成
n=100まで
n=0から 31まで貼り付ける
n=8から n=39まで貼り付ける
n=12から n=43まで貼り付ける
それぞれをフーリエ解析してみる
やはり結果が違う
ノルム /(データ数 /2) を計算してみる
ノルムは同じになる
周期の取り出しについて
こういう波が連続していると解釈できる
実際の波では周期が厳密にわからないこともある
周期の取り方が少しでもおかしいと、結果がめちゃくちゃになるようでは困る
周波数を使ったフーリエ解析データの作成
t: 0から 0.1刻みで 10秒まで
1周期分切り出す
0秒から 3.1秒まで
周期は 3.2秒
フーリエ解析の準備
周期
フーリエ解析とノルムの計算
同様に、二周期分を取ってみる
周期は 6.4秒
0秒から 6.3秒まで
周波数で見たフーリエ解析の結果
どちらも周波数 0.3125[Hz]のところの振幅が1となる。周波数で考えれば、まちがえて2周期分を1周期としても問題ない
周期に切れ目でうまく切り出せない場合
• 1周期がどこなのか、わかりにくい• 32、64、128などのデータ数にならない
周期:約 4.19秒周波数 0.239[Hz]
周期:約 2.51秒周波数:0.398[Hz]
周期は約 12.6秒だが(正確には4 π秒)そこで切ると FFTが出来ない
0秒から 12.7秒の 128データで FFTをしてみる
周波数 0.390625[Hz]の振幅が 1.919211周波数 0.234375[Hz]の振幅が 1.051395
正解は周波数 0.398[Hz]の振幅が 2周波数 0.239[Hz]の振幅が 1
まあまあ合っている