Fourier-related transform suited to signals that change rather quickly in time
短時間 フーリエ変換 ( STFT ) は、 時間とともに変化する信号の局所的な部分の正弦波周波数と位相内容を決定するために使用される フーリエ関連の変換です。 [1] 実際には、STFT を計算する手順は、長い時間信号を等しい長さの短いセグメントに分割し、各短いセグメントに対して別々にフーリエ変換を計算することです。これにより、各短いセグメントのフーリエスペクトルが明らかになります。次に通常、変化するスペクトルを時間の関数としてプロットします。これは スペクトログラム または ウォーターフォールプロットと呼ばれ、 ソフトウェア定義無線 (SDR) ベースのスペクトル表示でよく使用されます 。SDR の全範囲をカバーするフル帯域幅の表示では、一般的に高速フーリエ変換 (FFT) が使用されます。
「nineteenth century」という単語のSTFT結果を視覚化したスペクトログラム。縦軸は周波数の増加、横軸は時間の増加を示しています。右側の凡例は、色の強度が密度とともに増加していることを示しています。
フォワードSTFT
連続時間STFT 簡単に言うと、連続時間の場合、変換対象の関数に、 短時間のみ非ゼロとなる 窓関数を乗じます。得られた信号に対して フーリエ変換 (1次元関数)を行い、窓関数を時間軸に沿って最後までスライドさせることで、信号の2次元表現が得られます。数学的には、これは次のように表されます。
S T F T { x ( t ) } ( τ , ω ) ≡ X ( τ , ω ) = ∫ − ∞ ∞ x ( t ) w ( t − τ ) e − i ω t d t {\displaystyle \mathbf {STFT} \{x(t)\}(\tau ,\omega )\equiv X(\tau ,\omega )=\int _{-\infty }^{\infty }x(t)w(t-\tau )e^{-i\omega t}\,dt} ここで 、 は 窓関数 で、通常は ゼロを中心とする ハン窓 または ガウス窓で あり、は変換される信号です(窓関数 と周波数 の違いに注意してください )。 は本質的に のフーリエ変換であり 、 信号の位相と振幅を時間と周波数にわたって表す 複素関数です。多くの場合、 位相アンラッピング は時間軸 と周波数軸 のいずれか、または両方で使用され、STFT の位相結果の ジャンプ不連続 を抑制します 。 時間インデックスは通常「 遅い 」時間であると考えられており 、通常、時間 ほど高解像度では表現されません 。 STFT は本質的にフーリエ変換と窓関数の積であるため、STFT はウィンドウフーリエ変換または時間依存フーリエ変換とも呼ばれます。 w ( τ ) {\displaystyle w(\tau )} x ( t ) {\displaystyle x(t)} w {\displaystyle w} ω {\displaystyle \omega } X ( τ , ω ) {\displaystyle X(\tau ,\omega )} x ( t ) w ( t − τ ) {\displaystyle x(t)w(t-\tau )} τ {\displaystyle \tau } ω {\displaystyle \omega } τ {\displaystyle \tau } t {\displaystyle t}
離散時間STFT 離散時間の場合、変換対象となるデータはチャンクまたはフレーム(通常は境界におけるアーティファクトを低減するため、互いに重なり合う)に分割されます。各チャンクは フーリエ変換され 、その結果は複素行列に加算されます。行列は、時間と周波数の各点における振幅と位相を記録します。これは次のように表すことができます。
S T F T { x [ n ] } ( m , ω ) ≡ X ( m , ω ) = ∑ n = 0 N − 1 x [ n ] w [ n − m ] e − i ω n {\displaystyle \mathbf {STFT} \{x[n]\}(m,\omega )\equiv X(m,\omega )=\sum _{n=0}^{N-1}x[n]w[n-m]e^{-i\omega n}} 信号 とウィンドウも同様です 。この場合、 mは離散変数、 ω は連続変数ですが、ほとんどの典型的なアプリケーションでは、STFTは 高速フーリエ変換 を用いてコンピュータ上で実行される ため、両方の変数は離散変数であり 量子化されています 。 x [ n ] {\displaystyle x[n]} w [ n ] {\displaystyle w[n]}
STFT の大きさの二乗は、 関数 の パワー スペクトル密度の スペクトログラム表現になります。
spectrogram { x ( t ) } ( τ , ω ) ≡ | X ( τ , ω ) | 2 {\displaystyle \operatorname {spectrogram} \{x(t)\}(\tau ,\omega )\equiv |X(\tau ,\omega )|^{2}} 重複ウィンドウを使用するフーリエ関連の変換である、 修正離散コサイン変換 (MDCT)も参照してください。
スライディングDFT 少数のωだけが必要な場合、またはSTFTを ウィンドウのシフト mごとに評価する必要がある場合は、 スライディングDFT アルゴリズムを使用してSTFTをより効率的に評価できます。 [2]
逆STFT STFTは 可逆であり 、つまり逆STFTによって元の信号を復元することができます。STFTを逆変換する最も一般的な方法は、 オーバーラップ・アド(OLA)法です。この方法では、STFT複素スペクトルの修正も可能です。この手法は、 修正を伴うオーバーラップ・アド法と 呼ばれる 汎用性の高い信号処理手法 [3] となります。
連続時間STFT 窓関数w ( t )の幅と定義が与えられているので 、最初に窓関数の面積を次のようにスケーリングする必要がある。
∫ − ∞ ∞ w ( τ ) d τ = 1. {\displaystyle \int _{-\infty }^{\infty }w(\tau )\,d\tau =1.} 簡単に言えば、
∫ − ∞ ∞ w ( t − τ ) d τ = 1 ∀ t {\displaystyle \int _{-\infty }^{\infty }w(t-\tau )\,d\tau =1\quad \forall \ t} そして
x ( t ) = x ( t ) ∫ − ∞ ∞ w ( t − τ ) d τ = ∫ − ∞ ∞ x ( t ) w ( t − τ ) d τ . {\displaystyle x(t)=x(t)\int _{-\infty }^{\infty }w(t-\tau )\,d\tau =\int _{-\infty }^{\infty }x(t)w(t-\tau )\,d\tau .} 連続フーリエ変換は
X ( ω ) = ∫ − ∞ ∞ x ( t ) e − i ω t d t . {\displaystyle X(\omega )=\int _{-\infty }^{\infty }x(t)e^{-i\omega t}\,dt.} 上記の x ( t )を代入すると:
X ( ω ) = ∫ − ∞ ∞ [ ∫ − ∞ ∞ x ( t ) w ( t − τ ) d τ ] e − i ω t d t {\displaystyle X(\omega )=\int _{-\infty }^{\infty }\left[\int _{-\infty }^{\infty }x(t)w(t-\tau )\,d\tau \right]\,e^{-i\omega t}\,dt} = ∫ − ∞ ∞ ∫ − ∞ ∞ x ( t ) w ( t − τ ) e − i ω t d τ d t . {\displaystyle =\int _{-\infty }^{\infty }\int _{-\infty }^{\infty }x(t)w(t-\tau )\,e^{-i\omega t}\,d\tau \,dt.} 統合の順序を入れ替える:
X ( ω ) = ∫ − ∞ ∞ ∫ − ∞ ∞ x ( t ) w ( t − τ ) e − i ω t d t d τ {\displaystyle X(\omega )=\int _{-\infty }^{\infty }\int _{-\infty }^{\infty }x(t)w(t-\tau )\,e^{-i\omega t}\,dt\,d\tau } = ∫ − ∞ ∞ [ ∫ − ∞ ∞ x ( t ) w ( t − τ ) e − i ω t d t ] d τ {\displaystyle =\int _{-\infty }^{\infty }\left[\int _{-\infty }^{\infty }x(t)w(t-\tau )\,e^{-i\omega t}\,dt\right]\,d\tau } = ∫ − ∞ ∞ X ( τ , ω ) d τ . {\displaystyle =\int _{-\infty }^{\infty }X(\tau ,\omega )\,d\tau .} したがって、フーリエ変換は、 x ( t )のSTFTの位相コヒーレント和のようなものとみなすことができます 。逆フーリエ変換は
x ( t ) = 1 2 π ∫ − ∞ ∞ X ( ω ) e + i ω t d ω , {\displaystyle x(t)={\frac {1}{2\pi }}\int _{-\infty }^{\infty }X(\omega )e^{+i\omega t}\,d\omega ,} すると x ( t )は X (τ,ω) から次のように復元できる。
x ( t ) = 1 2 π ∫ − ∞ ∞ ∫ − ∞ ∞ X ( τ , ω ) e + i ω t d τ d ω . {\displaystyle x(t)={\frac {1}{2\pi }}\int _{-\infty }^{\infty }\int _{-\infty }^{\infty }X(\tau ,\omega )e^{+i\omega t}\,d\tau \,d\omega .} または
x ( t ) = ∫ − ∞ ∞ [ 1 2 π ∫ − ∞ ∞ X ( τ , ω ) e + i ω t d ω ] d τ . {\displaystyle x(t)=\int _{-\infty }^{\infty }\left[{\frac {1}{2\pi }}\int _{-\infty }^{\infty }X(\tau ,\omega )e^{+i\omega t}\,d\omega \right]\,d\tau .} 上記と比較すると、 x ( t ) のウィンドウ化された「粒子」または「ウェーブレット」は
x ( t ) w ( t − τ ) = 1 2 π ∫ − ∞ ∞ X ( τ , ω ) e + i ω t d ω . {\displaystyle x(t)w(t-\tau )={\frac {1}{2\pi }}\int _{-\infty }^{\infty }X(\tau ,\omega )e^{+i\omega t}\,d\omega .} τ を固定した場合のX (τ,ω) の逆フーリエ変換。
τ の近傍でのみ有効な別の定義では、逆変換は次のようになります。
x ( t ) = 1 w ( t − τ ) 1 2 π ∫ − ∞ ∞ X ( τ , ω ) e + i ω t d ω . {\displaystyle x(t)={\frac {1}{w(t-\tau )}}{\frac {1}{2\pi }}\int _{-\infty }^{\infty }X(\tau ,\omega )e^{+i\omega t}\,d\omega .} 一般に、ウィンドウ関数に は次の特性があります。 w ( t ) {\displaystyle w(t)}
(a) 偶対称性: ; w ( t ) = w ( − t ) {\displaystyle w(t)=w(-t)} (b) 非増加(正の時間の場合) の場合 : w ( t ) ≥ w ( s ) {\displaystyle w(t)\geq w(s)} | t | ≤ | s | {\displaystyle |t|\leq |s|} (c) コンパクトサポート: |t| が大きい場合、ゼロになります。 w ( t ) {\displaystyle w(t)}
解像度の問題 STFTの落とし穴の一つは、解像度が固定されていることです。窓関数の幅は信号の表現方法に関係し、周波数分解能(近接する周波数成分を分離できる)と時間分解能(周波数が変化する時間)のどちらが優れているかを決定します。窓関数の幅が広いほど周波数分解能は向上しますが、時間分解能は低下します。窓関数の幅が狭いほど時間分解能は向上しますが、周波数分解能は低下します。これらはそれぞれ狭帯域変換と広帯域変換と呼ばれます。
STFT解像度の比較。左は時間解像度が高く、右は周波数解像度が高い。 これが、ウェーブレット変換 と 多重解像度解析 が考案された理由の 1 つであり 、これにより、高周波イベントに対しては優れた時間解像度が得られ、低周波イベントに対しては優れた周波数解像度が得られ、この組み合わせは多くの実際の信号に最適です。
この特性は ハイゼンベルクの 不確定性原理 と関連していますが、直接的なものではありません 。議論については ガボール限界を参照してください。時間と周波数の 標準偏差 の積は有限です。不確定性原理の境界(両者の同時分解能が最も優れている境界)は、ガウス窓関数(またはマスク関数)によって到達されます。これは、ガウス窓関数が フーリエ不確定性原理を 最小化するためです。これは ガボール変換と呼ばれます(多重解像度に対応するように修正すると、 モルレウェーブレット 変換になります )。
下の例に示すように、ウィンドウサイズを変化させたSTFTを2次元領域(時間と周波数)として考え、ウィンドウサイズを変化させることで計算することができます。ただし、これは厳密に時間周波数表現ではなく、カーネルは信号全体にわたって一定ではありません。
例 元の関数が次の場合:
X ( t , f ) = ∫ − ∞ ∞ w ( t − τ ) x ( τ ) e − j 2 π f τ d τ {\displaystyle X(t,f)=\int _{-\infty }^{\infty }w(t-\tau )x(\tau )e^{-j2\pi f\tau }d\tau } 簡単な例を挙げてみましょう:
w(t) = 1、|t| が B 以下の場合
それ以外の場合はw(t) = 0
B = ウィンドウ
ここで、短時間フーリエ変換の元の関数は次のように変更できる。
X ( t , f ) = ∫ t − B t + B x ( τ ) e − j 2 π f τ d τ {\displaystyle X(t,f)=\int _{t-B}^{t+B}x(\tau )e^{-j2\pi f\tau }d\tau } 別の例:
以下のサンプル信号は 、4つの正弦波が連続して結合されたものです。各波形は、4つの周波数(10、25、50、100 Hz )のいずれか1つの周波数のみで構成されています。の定義は次の とおりです。 x ( t ) {\displaystyle x(t)} x ( t ) {\displaystyle x(t)}
x ( t ) = { cos ( 2 π 10 t ) 0 s ≤ t < 5 s cos ( 2 π 25 t ) 5 s ≤ t < 10 s cos ( 2 π 50 t ) 10 s ≤ t < 15 s cos ( 2 π 100 t ) 15 s ≤ t < 20 s {\displaystyle x(t)={\begin{cases}\cos(2\pi 10t)&0\,\mathrm {s} \leq t<5\,\mathrm {s} \\\cos(2\pi 25t)&5\,\mathrm {s} \leq t<10\,\mathrm {s} \\\cos(2\pi 50t)&10\,\mathrm {s} \leq t<15\,\mathrm {s} \\\cos(2\pi 100t)&15\,\mathrm {s} \leq t<20\,\mathrm {s} \\\end{cases}}} その後、400 Hzでサンプリングされます。以下のスペクトログラムが生成されました。
25ミリ秒のウィンドウ 125ミリ秒のウィンドウ 375ミリ秒のウィンドウ 1000ミリ秒のウィンドウ
25ミリ秒のウィンドウでは、信号が変化する正確な時間を特定できますが、正確な周波数を特定するのは困難です。一方、1000ミリ秒のウィンドウでは、周波数を正確に確認できますが、周波数の変化間の時間は不明瞭になります。
その他の例:
w ( t ) = e x p ( σ − t 2 ) {\displaystyle w(t)=exp(\sigma -t^{2})} 通常、ガウス 関数 またはガボール関数と呼びます 。これを使用する場合、短時間フーリエ変換は「ガボール変換」と呼ばれます。 e x p ( σ − t 2 ) {\displaystyle exp(\sigma -t^{2})}
説明 サンプリングと ナイキスト周波数 を参照して説明することもできます。
任意の実数値信号からサンプリングレート f sで N 個 のサンプルのウィンドウを取ります 。フーリエ変換により N 個 の複素係数が生成されます。これらの係数のうち、実際に有効なのは半分だけです(最後の N/2 は、実数値信号であるため、最初の N/2 の逆順
の 複素共役 です)。
これらの N/2係数は 0 から f s /2 (ナイキスト)の周波数を表し 、連続する 2 つの係数の間隔は f s / N Hz です。
ウィンドウの周波数分解能を高めるには、係数の周波数間隔を狭める必要があります。変数は2つだけですが、 f s を小さく( Nを 一定に保ちながら )すると、単位時間あたりのサンプル数が減るため、ウィンドウサイズが大きくなります。もう一つの選択肢は Nを 増やすことですが、これもウィンドウサイズを大きくしてしまいます。つまり、周波数分解能を高めようとすると、ウィンドウサイズが大きくなり、結果として時間分解能が低下します。逆もまた同様です。
レイリー周波数 ナイキスト 周波数は 意味のある分析が可能な最大周波数の制限であり、レイリー周波数は最小周波数の制限です。
レイリー周波数は、有限期間の時間窓で分解できる最小の周波数である。 [4] [5]
T 秒の長さの時間ウィンドウが与えられた場合、分解できる最小周波数は 1/T Hz です。
レイリー周波数は、短時間フーリエ変換(STFT)の応用や、 有限記録長の信号に対する他のあらゆる 高調波解析手法において重要な考慮事項である。 [6] [7]
応用 STFTは、時間経過に伴うオーディオ信号を分析するために使用されます。 STFT や標準的なフーリエ変換などのツールは、音楽の分析によく使用されます。 例えば、 スペクトログラムでは、横軸に周波数が表示され、左側が最低周波数、右側が最高周波数となります。各バーの高さ(色で強調表示)は、その帯域内の周波数の 振幅 を表します。奥行きは時間を表し、新しいバーはそれぞれ独立した変換を表します。オーディオエンジニアは、この種の視覚的情報を利用して、オーディオサンプルに関する情報を取得します。例えば、特定のノイズの周波数を特定したり(特に高い周波数解像度で使用した場合)、信号が録音された空間で共鳴する可能性のある周波数を見つけたりします。この情報は、 イコライゼーション やその他のオーディオ効果の調整に使用できます。
実装 元の機能
X ( t , f ) = ∫ − ∞ ∞ w ( t − τ ) x ( τ ) e − j 2 π f τ d τ {\displaystyle X(t,f)=\int _{-\infty }^{\infty }w(t-\tau )x(\tau )e^{-j2\pi f\tau }d\tau } 離散形式に変換すると次のようになります。
t = n Δ t , f = m Δ f , τ = p Δ t {\displaystyle t=n\Delta _{t},f=m\Delta _{f},\tau =p\Delta _{t}} X ( n Δ t , m Δ f ) = ∑ − ∞ ∞ w ( ( n − p ) Δ t ) x ( p Δ t ) e − j 2 π p m Δ t Δ f Δ t {\displaystyle X(n\Delta _{t},m\Delta _{f})=\sum _{-\infty }^{\infty }w((n-p)\Delta _{t})x(p\Delta _{t})e^{-j2\pi pm\Delta _{t}\Delta _{f}}\Delta _{t}} 仮に
w ( t ) ≅ 0 for | t | > B , B Δ t = Q {\displaystyle w(t)\cong 0{\text{ for }}|t|>B,{\frac {B}{\Delta _{t}}}=Q} そして、元の関数を次のように書きます。
X ( n Δ t , m Δ f ) = ∑ p = n − Q n + Q w ( ( n − p ) Δ t ) x ( p Δ t ) e − j 2 π p m Δ t Δ f Δ t {\displaystyle X(n\Delta _{t},m\Delta _{f})=\sum _{p=n-Q}^{n+Q}w((n-p)\Delta _{t})x(p\Delta _{t})e^{-j2\pi pm\Delta _{t}\Delta _{f}}\Delta _{t}}
直接実装
制約 a. ナイキスト基準(エイリアシング効果の回避)
Δ t < 1 2 Ω {\displaystyle \Delta _{t}<{\frac {1}{2\Omega }}} 、 帯域幅は Ω {\displaystyle \Omega } x ( τ ) w ( t − τ ) {\displaystyle x(\tau )w(t-\tau )}
FFTベースの方法
制約 a. 、ここで 整数 Δ t Δ f = 1 N {\displaystyle \Delta _{t}\Delta _{f}={\tfrac {1}{N}}} N {\displaystyle N}
b. N ≥ 2 Q + 1 {\displaystyle N\geq 2Q+1}
c. ナイキスト基準(エイリアシング効果の回避)
Δ t < 1 2 Ω {\displaystyle \Delta _{t}<{\frac {1}{2\Omega }}} は 、 Ω {\displaystyle \Omega } x ( τ ) w ( t − τ ) {\displaystyle x(\tau )w(t-\tau )} X ( n Δ t , m Δ f ) = ∑ p = n − Q n + Q w ( ( n − p ) Δ t ) x ( p Δ t ) e − 2 π j p m N Δ t {\displaystyle X(n\Delta _{t},m\Delta _{f})=\sum _{p=n-Q}^{n+Q}w((n-p)\Delta _{t})x(p\Delta _{t})e^{-{\frac {2\pi jpm}{N}}}\Delta _{t}} if we have q = p − ( n − Q ) , then p = ( n − Q ) + q {\displaystyle {\text{if we have }}q=p-(n-Q),{\text{ then }}p=(n-Q)+q} X ( n Δ t , m Δ f ) = Δ t e 2 π j ( Q − n ) m N ∑ q = 0 N − 1 x 1 ( q ) e − 2 π j q m N {\displaystyle X(n\Delta _{t},m\Delta _{f})=\Delta _{t}e^{\frac {2\pi j(Q-n)m}{N}}\sum _{q=0}^{N-1}x_{1}(q)e^{-{\frac {2\pi jqm}{N}}}} where x 1 ( q ) = { w ( ( Q − q ) Δ t ) x ( ( n − Q + q ) Δ t ) 0 ≤ q ≤ 2 Q 0 2 Q < q < N {\displaystyle {\text{where }}x_{1}(q)={\begin{cases}w((Q-q)\Delta _{t})x((n-Q+q)\Delta _{t})&0\leq q\leq 2Q\\0&2Q<q<N\end{cases}}}
再帰法
制約 a. 、ここで 整数 Δ t Δ f = 1 N {\displaystyle \Delta _{t}\Delta _{f}={\tfrac {1}{N}}} N {\displaystyle N}
b. N ≥ 2 Q + 1 {\displaystyle N\geq 2Q+1}
c. ナイキスト基準(エイリアシング効果の回避)
Δ t < 1 2 Ω {\displaystyle \Delta _{t}<{\frac {1}{2\Omega }}} は 、 Ω {\displaystyle \Omega } x ( τ ) w ( t − τ ) {\displaystyle x(\tau )w(t-\tau )} d.矩形STFTの 実装のみ
長方形の窓は制約を課す
w ( ( n − p ) Δ t ) = 1 {\displaystyle w((n-p)\Delta _{t})=1} 置換すると次のようになります。
X ( n Δ t , m Δ f ) = ∑ p = n − Q n + Q w ( ( n − p ) Δ t ) x ( p Δ t ) e − j 2 π p m N Δ t = ∑ p = n − Q n + Q x ( p Δ t ) e − j 2 π p m N Δ t {\displaystyle {\begin{aligned}X(n\Delta _{t},m\Delta _{f})&=\sum _{p=n-Q}^{n+Q}w((n-p)\Delta _{t})&x(p\Delta _{t})e^{-{\frac {j2\pi pm}{N}}}\Delta _{t}\\&=\sum _{p=n-Q}^{n+Q}&x(p\Delta _{t})e^{-{\frac {j2\pi pm}{N}}}\Delta _{t}\\\end{aligned}}} 変数n -1を n に対して 変更 :
X ( ( n − 1 ) Δ t , m Δ f ) = ∑ p = n − 1 − Q n − 1 + Q x ( p Δ t ) e − j 2 π p m N Δ t {\displaystyle X((n-1)\Delta _{t},m\Delta _{f})=\sum _{p=n-1-Q}^{n-1+Q}x(p\Delta _{t})e^{-{\frac {j2\pi pm}{N}}}\Delta _{t}} N ポイントFFTで 計算します 。 X ( min n Δ t , m Δ f ) {\displaystyle X(\min {n}\Delta _{t},m\Delta _{f})}
X ( n 0 Δ t , m Δ f ) = Δ t e j 2 π ( Q − n 0 ) m N ∑ q = 0 N − 1 x 1 ( q ) e − j 2 π q m N , n 0 = min ( n ) {\displaystyle X(n_{0}\Delta _{t},m\Delta _{f})=\Delta _{t}e^{\frac {j2\pi (Q-n_{0})m}{N}}\sum _{q=0}^{N-1}x_{1}(q)e^{-j{\frac {2\pi qm}{N}}},\qquad n_{0}=\min {(n)}} どこ
x 1 ( q ) = { x ( ( n − Q + q ) Δ t ) q ≤ 2 Q 0 q > 2 Q {\displaystyle x_{1}(q)={\begin{cases}x((n-Q+q)\Delta _{t})&q\leq 2Q\\0&q>2Q\end{cases}}} 再帰式を適用して計算する X ( n Δ t , m Δ f ) {\displaystyle X(n\Delta _{t},m\Delta _{f})}
X ( n Δ t , m Δ f ) = X ( ( n − 1 ) Δ t , m Δ f ) − x ( ( n − Q − 1 ) Δ t ) e − j 2 π ( n − Q − 1 ) m N Δ t + x ( ( n + Q ) Δ t ) e − j 2 π ( n + Q ) m N Δ t {\displaystyle X(n\Delta _{t},m\Delta _{f})=X((n-1)\Delta _{t},m\Delta _{f})-x((n-Q-1)\Delta _{t})e^{-{\frac {j2\pi (n-Q-1)m}{N}}}\Delta _{t}+x((n+Q)\Delta _{t})e^{-{\frac {j2\pi (n+Q)m}{N}}}\Delta _{t}}
制約 exp ( − j 2 π p m Δ t Δ f ) = exp ( − j π p 2 Δ t Δ f ) ⋅ exp ( j π ( p − m ) 2 Δ t Δ f ) ⋅ exp ( − j π m 2 Δ t Δ f ) {\displaystyle \exp {(-j2\pi pm\Delta _{t}\Delta _{f})}=\exp {(-j\pi p^{2}\Delta _{t}\Delta _{f})}\cdot \exp {(j\pi (p-m)^{2}\Delta _{t}\Delta _{f})}\cdot \exp {(-j\pi m^{2}\Delta _{t}\Delta _{f})}} それで
X ( n Δ t , m Δ f ) = Δ t ∑ p = n − Q n + Q w ( ( n − p ) Δ t ) x ( p Δ t ) e − j 2 π p m Δ t Δ f {\displaystyle X(n\Delta _{t},m\Delta _{f})=\Delta _{t}\sum _{p=n-Q}^{n+Q}w((n-p)\Delta _{t})x(p\Delta _{t})e^{-j2\pi pm\Delta _{t}\Delta _{f}}} X ( n Δ t , m Δ f ) = Δ t e − j 2 π m 2 Δ t Δ f ∑ p = n − Q n + Q w ( ( n − p ) Δ t ) x ( p Δ t ) e − j π p 2 Δ t Δ f e j π ( p − m ) 2 Δ t Δ f {\displaystyle X(n\Delta _{t},m\Delta _{f})=\Delta _{t}e^{-j2\pi m^{2}\Delta _{t}\Delta _{f}}\sum _{p=n-Q}^{n+Q}w((n-p)\Delta _{t})x(p\Delta _{t})e^{-j\pi p^{2}\Delta _{t}\Delta _{f}}e^{j\pi (p-m)^{2}\Delta _{t}\Delta _{f}}}
実装の比較 方法 複雑 直接実装 O ( T F Q ) {\displaystyle O(TFQ)} FFTベース O ( T N log 2 N ) {\displaystyle O(TN\log _{2}N)} 再帰的 O ( T F ) {\displaystyle O(TF)} チャープZ変換 O ( T N log 2 N ) {\displaystyle O(TN\log _{2}N)}
参照 その他の時間周波数変換:
参考文献 ^ Sejdić E.; Djurović I.; Jiang J. (2009). 「エネルギー集中を用いた時間周波数特徴表現:最近の進歩の概要」. デジタル信号処理 . 19 (1): 153– 183. Bibcode :2009DSP....19..153S. doi :10.1016/j.dsp.2007.12.004. ^ E. JacobsenとR. Lyons、「スライディングDFT」、 Signal Processing Magazine vol. 20、第2号、pp. 74–80(2003年3月)。 ^ Jont B. Allen (1977年6月). 「離散フーリエ変換による短時間スペクトル分析、合成、および修正」. IEEE Transactions on Acoustics, Speech, and Signal Processing . ASSP-25 (3): 235– 238. doi :10.1109/TASSP.1977.1162950. ^ Kleinfeld, David; Mitra, Partha P. (2014年3月). 「機能的脳イメージングのためのスペクトル法」 Cold Spring Harbor Protocols . 2014 (3): 248– 262. doi :10.1101/pdb.top081075. PMID 24591695. ^ 「「要求された周波数解像度に十分なパディングがありません」とはどういう意味ですか? – FieldTrip ツールボックス」。 ^ Zeitler M, Fries P, Gielen S (2008). 「ガンマ振動の振幅の変動によるバイアス競争」 J Comput Neurosci . 25 (1): 89– 107. doi :10.1007/s10827-007-0066-2. PMC 2441488. PMID 18293071 . ^ ウィンガーデン、マリジン・ヴァン;ヴィンク、マーティン。ジャン・ランケルマ。 Pennartz、Cyriel MA (2010-05-19)。 「報酬期待時の眼窩前頭ニューロンのシータバンド位相ロック」。 神経科学ジャーナル 。 30 (20): 7078–7087 。 土井 :10.1523/JNEUROSCI.3860-09.2010。 ISSN 0270-6474。 PMC 6632657 。 PMID 20484650。
外部リンク DiscreteTFDs – 短時間フーリエ変換やその他の時間周波数分布を計算するソフトウェア 特異スペクトル解析 - マルチテーパー法ツールキット - 短いノイズの多い時系列を解析するための無料ソフトウェアプログラム SpectraWorks の Mac OS X 用 kSpectra Toolkit 超広帯域信号の時間周波数解析のための時間伸張短時間フーリエ変換 STFT と逆 STFT を実行する BSD ライセンスの Matlab クラス LTFAT – 短時間フーリエ変換と時間周波数解析を扱うための無料(GPL)Matlab / Octaveツールボックス ソノグラム可視音声 - 短時間フーリエ変換と時間周波数分析のための無料(GPL)フリーウェア 国立台湾大学、時間周波数解析とウェーブレット変換 2021、電気工学科 丁建俊教授