【数分解説】離散フーリエ変換: 離散的周期的な時間領域と周波数領域の間を双方に変換. 周波数とその強さを求める. コンピュータでの計算を可能にする手法【高速フーリエ変換3/4】
ฝัง
- เผยแพร่เมื่อ 15 ธ.ค. 2024
- 離散フーリエ変換は、離散的周期的な時間領域と周波数領域を双方に変換できるようにする計算です. 実際にコンピュータ上の計算で音楽などにおける周波数の波の表現を得ることができます.
フーリエ級数展開をオイラーの公式で整理することで複素フーリエ級数展開へと書き換え、されにその周期Tを無限にすることで、フーリエ変換を導出することができます. しかし、このフーリエ変換は時間領域も周波数領域もともに連続値であることが前提でした. 飛び飛びの値を使ってしまうことを前提としておらず、通常のコンピュータでは扱えません.
離散値になったことで、データをサンプリングした際に思ったような周波数が得られないことがあります. これはサンプリング定理または標本化定理と呼び、サンプリングする頻度、サンプリング周波数の半分の頻度までしか検出できないことに起因します. そのため、周波数は基本周波数からナイキスト周波数までの間の値のみを取ることとなります.
その概念の理解を含めた解説を行います.
高速フーリエ変換をわかりやすく解説するためのpart 3の動画になります.
複素フーリエ級数展開やフーリエ変換を抑えた上でご視聴ください.
今回は高速フーリエ変換を11分で紹介します.
ThothChildrenは数分でアルゴリズムのポイントをわかりやすく簡単に理解できること、メリットデメリットの把握を目指した解説を投稿する動画チャンネルです.
技術学術集積所 : ThothChildrenVideo
アニメーションを目で見て理解するアルゴリズム
www.thothchildr...
参考:
【数分解説】フーリエ変換: 時間領域と周波数領域の間を双方に変換. 周波数とその強さを求める. 複素フーリエ級数展開の導出から【高速フーリエ変換2/4】
• 【数分解説】フーリエ変換: 時間領域と周波...
【数分解説】フーリエ級数展開: ほぼ全ての関数を重み付けしたsin関数とcos関数等の三角関数の和で表現し周波数の分析を行う. 特定の区間を繰り返す周期関数が対象.【高速フーリエ変換1/4】
• 【数分解説】フーリエ級数展開: ほぼ全ての関...
【概要速修】Stable Diffusion(テキストから画像生成)はどうやって実現するのかざっくり仕組みを知る(DiffusionModel,Deep Learninig)【機械学習解説動画】
• 【概要速修】Stable Diffusion...
【疑問】答えたくない質問(やましい、プライベートな言えないこと)に正直に答えてもらうには?【技術テーマ】
• 【疑問】答えたくない質問(やましい、プライベ...
【数分解説】LU分解: 行列を上三角行列と下三角行列に分解して高速に連立一次方程式や行列式を求める【LU Decomposition】
• 【数分解説】LU分解: 行列を上三角行列と下...
【数分解説】ハフマン符号: パターンの出現確率に応じて符号長さを調整する汎用的な圧縮を実現する【Huffman Code】
• 【数分解説】ハフマン符号: パターンの出現確...
【数分解説】GrabCut(GraphCut): 指定された領域やヒントで画像から物体を切出したい【画像処理/グラブカット】
• 【数分解説】GrabCut(GraphCut...
【数分解説】尤度(尤度関数): あるデータが与えられる時そのデータが出やすいパラメータを求める評価値が欲しい【Likelihood Function】
• 【数分解説】尤度(尤度関数): あるデータが...
【数分解説】パーティクルフィルタ(粒子フィルタ): 観測できない内部の状態の予測分布を粒子で表現して、観測値と制御量、ひとつ前の予測から次の予測をしたい【Particle Filter】
• 【数分解説】パーティクルフィルタ(粒子フィル...
【数分解説】決定木学習(前編:基本とID3): 特徴量から予測でき、重要な特徴量を把握、判断を説明できる軽量な学習がしたい【DecisionTree Model】
• 【数分解説】決定木学習(前編:基本とID3)...
【数分解説】混合ガウス分布: 複数のガウス分布の足し合わせで確率分布を表現したい【Gaussian Mixture Model : GMM】
• 【数分解説】混合ガウス分布: 複数のガウス分...
【数分解説】K-means法(k平均法) : クラスタ数を指定してデータを分割、クラスタリングしたい
• 【数分解説】K-means法(k平均法) :...
【数分解説】ベイズとかp(A|B)、画像や文字列を絡めた確率、条件付き確率のイメージを持てるようにする解説動画【初学者向け】
• 【数分解説】ベイズとかp(A|B)、画像や文...
【数分解説】ラグランジュの未定乗数法 : 拘束条件を守りつつ関数の値を最大化するパラメータを求めたい【Lagrange multiplier】
• 【数分解説】ラグランジュの未定乗数法 : ...
【数分解説】レーベンバーグ・マーカート法 : 非線形な式を扱う場合でも関数の極小値を高速に求めたい:関数フィッティングなどに応用【Levenberg-Marquardt algorithm】
• 【数分解説】レーベンバーグ・マーカート法 ...
【数分解説】ガウス・ニュートン法 : 非線形な式を扱う場合でも関数の極小値を高速に求めたい:関数フィッティングなどに応用【Gauss Newton Method】
• 【数分解説】ガウス・ニュートン法 : 非線...
【数分解説】ニュートン法による最適化 : 非線形な式を扱う場合でも関数の極小値を求めたい:関数フィッティングなどに応用【Newton Methods】
• 【数分解説】ニュートン法による最適化 : ...
【数分解説】拡張カルマンフィルタ : 非線形でもノイズを考慮してリアルタイムに直接観測できない状態を推定したい【Extended Kalman FIlter】
• 【数分解説】拡張カルマンフィルタ : 非線...
【数分解説】カルマンフィルタ : ノイズを考慮してリアルタイムに直接観測できない状態を推定したい【Kalman FIlter】
• 【数分解説】カルマンフィルタ : ノイズを...
【数分解説】ベイズ更新 : データを受けて確率を逐次的に更新して推定したい
• 【数分解説】ベイズ更新 : データを受けて確...
ThothChildren
www.thothchildr...
抜粋:
今日は離散フーリエ変換についてです.それでは早速始めましょう.
フーリエ変換は連続値の時間と周波数を前提とした方法です.
しかしこれでは、必ず値が飛び飛びになるコンピュータで扱うことができません.
そこで離散フーリエ変換によって両方を離散値で扱います.
N個のデータ点を与えられるとNこの周波数がもとまります.
フーリエ級数展開ではサインとcosで関数を表現していました.
時間は連続で周期的な関数でしたが、周波数は離散値でした.
これをオイラーの公式ですっきりとした形に直したのが、複素フーリエ級数展開でした.
しかしまで区間に制限があるので、区間を無限にすることでフーリエ変換、並びに逆フーリエ変換を得ます.
この時、時間も周波数も連続した関数として表現されます.
しかし、前述の通りこれでは連続値となっていることを前提とするため、コンピュータでは扱えません.
どうやっても一点一点のデータは時間的にも連続しません. 周波数も同じです.
そのため離散フーリエ変換が必要になります.
この方法では、時間も周波数も周期的で離散的になります.
この離散フーリエ変換を高速に計算できる工夫をしたアルゴリズムが高速フーリエ変換です.
----
波が持っている周波数の2倍の周波数でサンプルが取れれば、元の波が復元できることがわかっています. サンプリングをする頻度をサンプリング周波数と呼びます. ここではΔtがその周期になるので、1/Δtが周波数です.
復元できることを標本化定理といい、もしそれ以上に高い周波数が入力されると低い周波数としてつまり意図しないノイズとして誤検知されてしまいます. この現象をエイリアシングと言います.
---
厳密な導出ではデータ点の飛び飛びを表現するデルタ関数を使って証明しますが、ここでは簡易的な導出にとどめます.
フーリエ変換からではなく、複素フーリエ級数展開から離散フーリエ変換へいきます.
複素フーリエ級数展開では入力が連続のため、このような関数を与えますが、今回は離散的な点を考え、点ごとに幅を持った短冊で近似するものとします.
-----
ナイキスト周波数、エイリアシング、ノイズ、折り返し周波数、回転因子などを含めたわかりやすい解説を行います.