ShortTimeFourier

ShortTimeFourier[data]

data の短時間フーリエ変換(STFT)をShortTimeFourierDataオブジェクトとして返す.

ShortTimeFourier[data,n]

長さ n のパーティションを使う.

ShortTimeFourier[data,n,d]

オフセット d のパーティションを使う.

ShortTimeFourier[data,n,d,wfun]

各パーティションに平滑化窓 wfun を適用する.

ShortTimeFourier[data,n,d,wfun,m]

変換の計算前に,ゼロから長さ m まででパーティションを充填する.

詳細とオプション

  • 短時間フーリエ変換(STFT)は,信号の時間・周波数表現で,信号を時間と周波数の両方で,変換したり,フィルタをかけたり,分析したりするためにしばしば使われる.
  • ShortTimeFourier[data]data のパーティションの離散フーリエ変換(DFT)を計算し,ShortTimeFourierDataオブジェクトを返す.
  • Spectrogramdata または結果のShortTimeFourierDataオブジェクトに使ってスペクトログラムをプロットする.
  • ShortTimeFourier[data]は長さ n=2^Round[InterpretationBox[{log, _, DocumentationBuild`Utils`Private`Parenth[2]}, Log2, AutoDelete -> True](sqrt(m))+1]でオフセット d=Round[n/3]のパーティションを使う.ただし,Length[data]である.
  • パーティションの長さ n とオフセット d は,(サンプル数として解釈される)整数として,あるいは時間またはサンプル量として 表すことができる.
  • 必要な場合は,すべてのパーティションが同じ長さになるように,右側に固定充填が使われる.
  • ShortTimeFourier[data,n,d,wfun]の平滑化窓 wfun は,からまでの間でサンプルを取る,あるいは長さ n のリストの窓関数を使って指定できる.デフォルトの窓はDirichletWindowで,事実上平滑化は行わない.
  • data は以下の任意のものでよい.
  • list任意階数の数値配列
    audioAudioオブジェクトまたはSoundオブジェクト
    videoVideoオブジェクト
  • 多チャンネルの音声オブジェクトについては,全チャンネルの合計についてスペクトログラムが計算される.
  • ShortTimeFourierFourierParametersオプションを取る.デフォルト設定はFourierParameters->{1,-1}である.

例題

すべて開くすべて閉じる

  (2)

正弦波の短時間フーリエ変換:

音声信号の短時間フーリエ変換:

結果をプロットする:

スコープ  (7)

データ  (3)

音声録音の短時間フーリエ変換:

配列の短時間フーリエ変換:

動画の音声トラックの短時間フーリエ変換:

パラメータ  (4)

デフォルトで,自動パーティションサイズが使われる:

各パーティション中のサンプル数を指定する:

時間Quantityを使ってパーティションサイズを指定する:

デフォルトで,自動パーティションオフセットが使われる:

サンプル数を使ってオフセットを指定する:

時間Quantityを使ってオフセットを指定する:

Scaledを使ってパーティションサイズと相対的なオフセットを指定する:

デフォルトで,平滑化はパーティションには適用されない:

NoneまたはDirichletWindowを使うことは平滑化を行わないことに等しい:

HannWindowを平滑化窓関数として使用する:

計算済みのリストを平滑化窓関数として使用する:

デフォルトで,パーティションは充填されない:

各パーティションがサンプル20個分の長さになるように充填する:

時間Quantityを使って充填を指定する:

オプション  (3)

FourierParameters  (3)

正規化は行わない:

で正規化する:

による正規化:

アプリケーション  (6)

信号の完全な短時間フーリエ変換を計算する:

ShortTimeFourierデータの振幅のプロット:

平滑化窓関数を適用する:

信号分割の振幅スペクトログラム:

信号の完全な短時間フーリエ変換を計算する:

振幅スペクトログラムを計算する:

パワースペクトログラムを計算する:

パワースペクトログラムをデシベル単位で計算する:

信号の前進および後退短時間フーリエ変換を計算する:

短時間フーリエ変換を計算する:

InverseShortTimeFourierを使って逆変換を近似する:

チャープ信号のノイズを除去する:

信号の完全な短時間フーリエ変換を計算する:

低振幅成分を押し潰す非線形関数を定義する:

この関数を短時間フーリエ変換データに適用する:

InverseShortTimeFourierを使って短時間フーリエ変換を逆にする:

別のSTFT分割オフセットを使って音声録音のスピードを変える:

"PartitionOffset"特性を変える:

録音をスピードアップするために,短時間フーリエ変換の逆変換を計算する:

短時間フーリエ変換をリサンプリングして音声信号を遅くする:

データをリサンプリングする:

もとの録音を遅くしたバージョンを得るために,短時間フーリエ変換の逆変換を計算する:

特性と関係  (2)

短時間フーリエ変換データはSpectrogramArrayを使って計算した値と同じである:

ShortTimeFourierSpectrogramはもとの信号のSpectrogramと等価である:

デフォルトのパーティションパラメータは異なる点に注意のこと:

Wolfram Research (2019), ShortTimeFourier, Wolfram言語関数, https://reference.wolfram.com/language/ref/ShortTimeFourier.html (2024年に更新).

テキスト

Wolfram Research (2019), ShortTimeFourier, Wolfram言語関数, https://reference.wolfram.com/language/ref/ShortTimeFourier.html (2024年に更新).

CMS

Wolfram Language. 2019. "ShortTimeFourier." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/ShortTimeFourier.html.

APA

Wolfram Language. (2019). ShortTimeFourier. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ShortTimeFourier.html

BibTeX

@misc{reference.wolfram_2024_shorttimefourier, author="Wolfram Research", title="{ShortTimeFourier}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/ShortTimeFourier.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_shorttimefourier, organization={Wolfram Research}, title={ShortTimeFourier}, year={2024}, url={https://reference.wolfram.com/language/ref/ShortTimeFourier.html}, note=[Accessed: 05-November-2024 ]}