短時間フーリエ変換のソースを表示
←
短時間フーリエ変換
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{出典の明記|date=2023年1月8日 (日) 04:08 (UTC)}} {{読み仮名|'''短時間フーリエ変換'''|たんじかんフーリエへんかん|{{lang-en-short|short-time Fourier transform}}, '''STFT'''}}とは、関数に[[窓関数]]をずらしながら掛けて、それに[[フーリエ変換]]すること。 == 概要 == 短時間フーリエ変換(以下、STFT)は連続あるいは離散の[[信号 (電気工学)|信号]]に時間シフトした[[窓関数]]を掛けたうえで[[フーリエ変換]]する操作である(⇒ [[#定義]])。これは信号の一部区間を取り出して周波数解析しそれを各時刻でおこなうと解釈できるため<ref name=":0">"信号の一部を取り出すような関数を窓として用いて,信号の局所的な情報を解析・処理する" {{Harv|矢田部|2021|p=396}}</ref>(⇒ [[#解釈]])、音声など非定常信号の[[周波数]]と[[位相]]の変化を解析するためによく使われる。 理論上フーリエ係数を求めるには[[無限]]の区間に渡って[[積分]]を行わなければならないが、実験値等からフーリエ係数を求めるには範囲を区切らなければならない。そのために、ある範囲の実験値の[[フーリエ係数]]を求めるには、このある範囲の実験値が周期的に無限に繰り返されていると仮定して計算するのが一般的である。だがここで問題なのは、ある範囲の最初の値と最後の値を無理やりつなげることによって発生する[[連続|不連続]]な要素である。これを解決するため、中央が 1 付近の値でその範囲外で 0 に収束する関数を掛けて、不連続な要素を極力排除することが行われる。これが短時間フーリエ変換である。このとき、この掛け合わせる関数を[[窓関数]]と言う。 == 定義 == 定義に先立ち、以下のように連続/離散での記号を定める: {| class="wikitable" |+ ! rowspan="2" |対象 ! colspan="2" |記号 |- !連続 !離散 |- |時刻 |<math>t</math> |<math>n</math> |- |[[信号 (電気工学)|信号]] |<math>x(t)</math> |<math>x[n]</math> |- |[[窓関数]] |<math>w(t)</math> |<math>w[n]</math> |- |[[角周波数]] |<math>\omega</math> | |- |STFT表現 |<math> \mathrm{STFT}_{x,w} (t, \omega)</math> |<math>\mathrm{STFT}_{x,w} [n,\omega]</math> |} === 連続時間信号での定義 === [[連続時間信号]]のSTFTは以下で定義される<ref>"短時間フーリエ変換は ... 以下のように定義される。" {{Harv|矢田部|2021|p=396}}</ref>: {{Indent|<math> \mathrm{STFT}_{x,w} (t,\omega)=\int_{-\infty}^{\infty} x(\tau)w(\tau-t)e^{-i \omega \tau}\, d\tau</math>}} === 離散時間信号での定義 === [[離散時間信号]]のSTFTは以下で定義される: {{Indent|<math> \mathrm{STFT}_{x,w} [n,\omega]=\sum_{m=-\infty}^{\infty} x[n+m]w[m]e^{-i \omega m}</math>}} {{要出典範囲|この式では <math>\omega</math> が連続でもよい。しかし通常[[高速フーリエ変換]]を用いて計算機で計算されるので、<math>\omega\,</math>も離散化される|date=2025年2月}}。 == 解釈 == STFTでは時間シフトされた[[窓関数]]を用いて[[信号 (電気工学)|信号]]の一部を取り出している<ref name=":0" />。この取り出された短時間信号を[[フーリエ変換]]するため、STFTは時間局所的な周波数表現を得ていると解釈される<ref name=":0" />。 == 不確定性原理 == {{読み仮名|'''不確定性原理'''|ふかくていせいげんり}}とは、時刻の不確定さと周波数の不確定さの間に {{Indent|<math> \Delta x \Delta \omega \geq \frac{1}{2} </math>}} の関係があることである。'''フーリエ変換の不確定性原理'''とも。 一般化された言い方では、フーリエ変換で結ばれた2つの変数の対に対して上のような関係がなりたつことを指す。 STFTの問題点の一つは解像度が限られてしまうことである。窓関数の窓の幅などの形状によって、周波数分解能を良くするか時間分解能を良くするかの[[トレードオフ]]が決まってしまう。幅の広い窓は周波数分解能が良いが時間分解能は悪い。逆に幅の狭い窓は時間分解能は良いが周波数分解能が悪い。 [[ファイル:STFT - windows-en.svg|thumb|350px|none|STFTの解像度の比較。左は時間分解能が良く、右は周波数分解能が良い]] この事実は[[ウェーブレット変換]]を作る原因にもなった。ウェーブレット変換ではSTFTと異なり時間分解能と周波数分解能が両立することが出来る。 [[量子力学]]における[[運動量]]と[[位置]]に関する[[不確定性原理|ハイゼンベルクの不確定性原理]]とは普通区別されるが、実はフーリエ変換の不確定性原理に基因するものである。[[シュレディンガー方程式]]によれば、定常な場合、 {{Indent|<math> \psi(x,t) = \psi(x)e^{- {i E t \over {\hbar}} } = \psi(x)e^{- i \omega t }</math>}} であり、フーリエ級数の形になっているので、<math> \Delta x \Delta \omega \geq 1 / 2 </math>が成り立つ。これに<math>\omega = p / \hbar</math>を代入したものが、いわゆるハイゼンベルクの不確定性原理の式 {{Indent|<math>\Delta x \Delta p \geq \frac{\hbar}{2}</math>}} である。 ===例=== 周波数が 10,25,50,100 Hz の順に 5 秒ごとに変化していく信号を考える。 {{Indent| <math> x(t) = \cos ( 2 \pi f t), \,</math><br /> <math> f / \mathrm{Hz} = \begin{cases} 10, & \mbox{if } 0 \leq t / \mathrm{s} < 5 \\ 25, & \mbox{if } 5 \leq t / \mathrm{s} < 10 \\ 50, & \mbox{if } 10 \leq t / \mathrm{s} < 15 \\ 100, & \mbox{if } 15 \leq t / \mathrm{s} < 20 \end{cases} </math> }} 窓の幅を変えてSTFTすると次のようなスペクトラムが得られる。25ミリ秒の窓は信号の周波数変化の時刻を完全に識別できているが、信号の周波数を特定できない。一方で1000ミリ秒の窓は信号の周波数を特定できるが、信号の周波数変化をしたところがボケてしまっている。 <gallery> ファイル:STFT_Spectrogram_25ms.png|25ミリ秒の窓 ファイル:STFT_Spectrogram_125ms.png|125ミリ秒の窓 ファイル:STFT_Spectrogram_375ms.png|375ミリ秒の窓 ファイル:STFT_Spectrogram_1000ms.png|1000ミリ秒の窓 </gallery> == 逆短時間フーリエ変換 == {{読み仮名|'''逆短時間フーリエ変換'''|ぎゃくたんじかんフーリエへんかん|{{lang-en-short|inverse short-time Fourier transform}}, '''ISTFT'''}}は時間周波数表現を時間表現へ逆変換する操作である<ref>"短時間フーリエ変換表現された信号を時間領域に戻す操作を逆短時間フーリエ変換と呼ぶ。" {{harv|小野順貴|2016|p=766}}</ref>。各フレームのフーリエ係数を逆変換して時間表現へ戻し、合成窓 <math>w_s</math> を掛け、フレーム群を位置合わせしながら重畳加算することで1つの時間表現を合成する。 時間的に重なった信号を重畳加算するため、元信号の完全再構成は一般に可能でない。<math>w_s</math> に矩形窓を採用して複数のフレームを重ねると元信号より大きくなることからこれは明らかである。「信号 →(STFT)→ 係数 →(ISTFT)→再構成信号」で完全な再構成を可能にする条件を{{読み仮名|'''完全再構成条件'''|かんぜんさいこうせいじょうけん}}という<ref>"完全再構成条件 任意の信号 x(t) に対して,短時間フーリエ変換と逆短時間フーリエ変換により信号が元に戻る" {{harv|小野順貴|2016|p=766}}</ref>。 == 派生 == {{See also|スペクトログラム}} STFTの絶対値を2乗することで、[[パワースペクトル]]の時間変化が得られる: {{Indent|<math> \mathrm{power}_{x,w} (t, \omega) = | \mathrm{STFT}_{x,w} (t, \omega) | ^ 2 \,</math>}} また、位相スペクトルの時間変化は、STFTの偏角で得られる: {{Indent|<math> \mathrm{phase}_{x,w} (t, \omega) = \arg \mathrm{STFT}_{x,w} (t, \omega) </math>}} ==脚注== {{脚注ヘルプ}} === 出典 === {{reflist}} ==参考文献== * {{Cite journal2 |last=小野 |first=順貴 |year=2016 |title=短時間フーリエ変換の基礎と応用 |url=https://www.jstage.jst.go.jp/article/jasj/72/12/72_764/_article/-char/ja/ |journal=日本音響学会誌 |volume=72 |issue=12 |pages=764-769 |doi=10.20697/jasj.72.12_764}} * {{Cite journal2 |last=矢田部 |first=浩平 |year=2021 |title=第三回:短時間フーリエ変換 |url=https://www.jstage.jst.go.jp/article/jasj/77/6/77_396/_article/-char/ja/ |journal=日本音響学会誌 |volume=77 |issue=6 |pages=396-403 |doi=10.20697/jasj.77.6_396}} ==関連項目== * [[フーリエ変換]] * [[窓関数]] * [[不確定性原理]](ハイゼンベルクの不確定性原理) * [[ウェーブレット変換]] {{デフォルトソート:たんしかんふうりえへんかん}} [[Category:解析学]] [[Category:フーリエ解析]] [[Category:信号処理]] [[Category:ジョゼフ・フーリエ]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Cite journal2
(
ソースを閲覧
)
テンプレート:Harv
(
ソースを閲覧
)
テンプレート:Indent
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:See also
(
ソースを閲覧
)
テンプレート:出典の明記
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
テンプレート:要出典範囲
(
ソースを閲覧
)
テンプレート:読み仮名
(
ソースを閲覧
)
短時間フーリエ変換
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報