窓関数のソースを表示
←
窓関数
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{読み仮名|'''窓関数'''|まどかんすう|{{lang-en-short|window function}}}}はある有限[[区間 (数学)|区間]]([[関数の台|台]])以外で0となる[[関数 (数学)|関数]]である<ref name=":0">{{Ilq|窓関数 ある有限区間以外で0となる,通常正値をとる関数}}亀岡. (2014). ''[http://hil.t.u-tokyo.ac.jp/~kameoka/sp2/SP13_05.pdf 信号処理論第二 第5回]''. 東京大学.</ref>。{{読み仮名|'''窓'''|まど|{{lang-en-short|window}}}}とも。 == 概要 == 窓関数はある有限[[区間 (数学)|区間]]以外で0となる[[関数 (数学)|関数]]である<ref name=":0" />(⇒ [[#定義]])。窓は関数や信号に掛け合わせて適用されることが主であり、これにより関数の有限区間のみを切り出す(⇒ [[#窓掛け]])。様々な数学的変換のなかに登場し(⇒ [[#利用]])、[[応用数学]]や[[工学]]への応用範囲も広い(⇒ [[#応用]])。窓関数の性能はその[[周波数スペクトル]]を用いて議論されることが多く(⇒ [[#性能]])、目的に応じた様々な性能の窓関数が提唱されている(⇒ [[#例]])。 == 定義 == 実数 <math>a</math>, <math>b</math> と任意の関数 <math>g(x)</math> を用いて窓関数 <math>w(x)</math> は次のように定義される<ref name=":0" />:{{Indent|<math> w(x) = \begin{cases} g(x), & \mbox{if } a \leq x \leq b \\ 0, & \mbox{otherwise} \end{cases} </math>}} == 窓掛け == {{読み仮名|'''窓掛け'''|まどかけ|{{lang-en-short|windowing}}}}は関数や信号に窓関数を掛けることである。 窓掛けは時間領域において関数と窓関数の[[アダマール積|要素積]]である。すなわち窓関数 <math>w(x)</math> は関数 <math>f(x)</math> に以下の形で適用される:{{Indent|<math>y(x) = w(x) f(x)</math>}} === 窓掛けの効果 === ==== 時間領域の窓掛け効果 ==== 時間領域において窓掛けは関数の区間切り出しという効果を持つ。 窓 <math>w(x)</math> はその定義から有限区間 <math>a \leq x \leq b</math> でのみ非ゼロの値を取りそれ以外では <math>0</math> である<ref name=":0" />。[[窓関数#窓掛け|窓掛け]]は関数と窓の[[アダマール積|要素積]]であるから、関数 <math>f(x)</math> を窓掛けして得た関数 <math>y(x)</math> もまた有限区間 <math>a \leq x \leq b</math> でのみ非ゼロの値を取りそれ以外では <math>0</math> である。つまり以下の式を満たす:{{Indent|<math> y(x) = \begin{cases} w(x)f(x), & \mbox{if } a \leq x \leq b \\ 0, & \mbox{otherwise} \end{cases} </math>}}これは関数のある有限区間を([[フェードイン]]/[[フェードアウト]]しながら)切り出す効果と理解できる。切り出し(= 区間外 <math>0</math> 保証)により、信号の特定時刻周辺における特性解析(参考: [[音声分析#短時間分析]])や、無限区間関数における[[積分]]や[[和]]の正しい計算打ち切りを可能にする。 ==== 周波数領域の窓掛け効果 ==== 周波数領域において窓掛けは意味を持つ。 窓掛けされた関数 <math>wf</math> の[[周波数スペクトル]] <math>\mathfrak{F} (wf)</math> と関数本来のスペクトル <math>\mathfrak{F} f</math> は同じではない。積のフーリエ変換はフーリエ変換の[[畳み込み]]、つまり、{{Indent|<math>\mathfrak{F} (wf) = \mathfrak{F} w * \mathfrak{F} f</math>}} である。余分な <math>\mathfrak{F} w</math> が畳み込まれることによって、フーリエ変換の結果は変化するが、この変化は望ましいものではない。 ==性能== {{出典の明記| date = 2025年2月| section = 1}} [[ファイル:Main lobe.png|thumb|250px|窓関数スペクトルの特性]] 窓関数 <math>w</math> の性能はその[[周波数スペクトル]] <math>\mathfrak{F} w</math> を用いてしばしば議論される。これは窓関数が[[窓関数#窓掛け|窓掛け]]の形で適用されることが殆どであり、窓掛けが関数の周波数特性へ影響するからである(⇒ [[#周波数領域の窓掛け効果]])。 一般に <math>\mathfrak{F} w</math> は、中心が絶対値が大きく、両側に離れるにつれ小さくなるが、0になることはない(<math>w(x) \,</math> が有限区間外で0ならば、常にそうなる)。ただし、単峰性ではなく、図のように、無数の峰('''ローブ''')を持つ。中央のいちばん大きいローブをメインローブ、他をサイドローブという。このような <math>\mathfrak{F} w</math> が畳み込まれることにより、スペクトルは、ピークがなまり(周波数分解能が下がり)、ノイズ・フロアが上がる(ダイナミック・レンジが狭まる)ことになる。 窓関数には以下の2つの特性が要求される: # メインローブが狭い(周波数[[分解能]]が良い) # サイドローブが低い([[ダイナミックレンジ]]が広い) しかしこの2つはトレード・オフの関係にある。そのため窓関数の性能の良し悪しは用途に依存する。 === 雑音帯域幅 === 周波数[[分解能]]と[[ダイナミックレンジ]]の概念は、窓関数の使用者が何を行おうしているかに依存しており、やや主観的な傾向がある。しかしながら、周波数[[分解能]]や[[ダイナミックレンジ]]は、定量化可能な全リーク<ref group="注釈">'''リーク'''とは、[[パワースペクトル]]のピークが隣の[[ヒストグラム|ビン]]に広がる現象のこと。({{Cite web|和書 | url = http://www.lecroy.com/japan/pdf/manual/lc_manual/lc_manual08.pdf | title = スペクトル解析の追加 | publisher = LeCroy | page = 12 | accessdate = 2012-08-19 }})</ref>量と密接に関連する。リークは一般的に等価の[[帯域幅]] <math>B</math> として表される。リークについて[[DTFT]]による長方形(高さは[[スペクトル]]の最大で幅は <math>B</math> )への再分配を考えた場合、より多くのリークはより大きな[[帯域幅]]となる。入力信号が[[ランダム・ノイズ]]成分を含む時、それぞれの[[離散フーリエ変換|DFT]][[ヒストグラム|ビン]]に含まれる平均電力に[[比例]]するため、この帯域幅は''雑音等価帯域幅''もしくは''等価雑音帯域幅''と呼ばれる。一定時間で平均化した[[パワースペクトル]]のグラフが一般的に水平な[[ノイズフロア]]として現れる現象は、この結果発生している。ノイズフロアの高さは <math>B</math> に比例する。よって、2つの異なる窓関数では、異なるノイズフロアが発生する。 ==利用== 窓関数は様々な数学的変換のなかで利用される。以下はその一例である: * [[窓関数#窓掛け|窓掛け]] ** [[短時間フーリエ変換|短時間フーリエ変換(STFT)]]: 任意窓による窓掛けで短時間信号を切り出し<ref>{{Ilq|信号の一部を取り出すような関数を窓として用いて,信号の局所的な情報を解析・処理する}}{{Harv|矢田部|2021|p=396}}</ref> ** [[離散コサイン変換|離散コサイン変換(DCT)]] ** [[修正離散コサイン変換|修正離散コサイン変換(MDCT)]]: [[カイザー窓#カイザー-ベッセル派生 (KBD) 窓|プリンセン‐ブラッドリー]]条件<ref group="注釈">Princen-Bradley condition</ref> を満たす窓<ref group="注釈">MDCT窓、プリンセン‐ブラッドリー窓とも</ref>による窓掛け ** 連続[[ウェーブレット変換]] 変わった利用では、窓関数を畳み込むという手法がある。<math>\mathfrak{F} (w * f) = \mathfrak{F} w \mathfrak{F} f</math>(畳み込みのフーリエ変換はフーリエ変換の積)なので、窓関数が[[デジタルフィルタ]]として働く。 === フーリエ変換 === [[フーリエ変換]]では関数と[[三角関数]]が無限区間 <math> (-\infty,\infty) </math> で値を取る。しかしフーリエ変換を数値計算する場合、無限長を扱えないため、有限区間 <math>[a,b] \,</math> でフーリエ変換をおこなって区間外は無視する。これは関数 <math>f(x) \,</math> を区間外で0とみなすことに等しい(「区間内のデータを周期的に繰り返す」という表現をすることもあるが、[[離散フーリエ変換|DFT(離散フーリエ変換)]]の場合はこの2つは等価である)。これは数学的に[[窓関数#矩形窓|矩形窓]]による[[窓関数#窓掛け|窓掛け]]と同義である。 == 応用 == 窓関数は[[応用数学]]や[[工学]]で広く応用される。以下はその一例である: * [[スペクトル分析]] * [[コーデック#音声圧縮のコーデック|音声圧縮]] * [[窓関数#フィルタデザイン|フィルタデザイン]] === フィルタデザイン === {{main|{{仮リンク|フィルター・デザイン|en|Filter design}}}} 窓関数は[[デジタルフィルタ]]のデザインに応用される。一例として、[[Sinc関数]]により理想的的な無限系列中の[[IIRフィルタ]]処理を有限系列中の[[FIRフィルタ]]処理に変換する(''window method'')<ref>http://www.labbookpages.co.uk/audio/firWindowing.html</ref><ref>[http://www.cg.tuwien.ac.at/research/vis/vismed/Windows/MasteringWindows.pdf Mastering Windows: Improving Reconstruction]</ref>。 ==例== 特に断らない限り、本節では窓関数 <math>w(x)</math> について以下の表現を採用する: * 台区間: <math>[0,1]</math> * [[正規化]]: <math>\max_{x} w(x) = 1</math> * 場合分け: 台の外側「<math>w(x) = 0, \mbox{ otherwise}</math>」を省略 なお、他の文献では区間 <math>[-1,1]</math> や <math>[-0.5,0.5]</math><ref group="注釈">例: [[音響信号処理]]全般(中心時間 <math>x=0</math> の前後で音量を[[フェードアウト]]させるという音楽的ニュアンス)</ref> を採用する場合もある。[[離散化]]するには、<math>k = 0, \ldots , N - 1</math> に対して、<math>x = k / (N - 1) \,</math> と、<math>x = (k + 0.5) / N \,</math> の2種類の方法があるが、特殊な用途を除き、どちらでも大差はない。また、初めから <math>k \,</math> に対する関数 <math>w(k) \,</math> や系列 <math>w_k \,</math> を表す資料もあるので、注意してほしい。グラフは、<math>x = k / (N - 1) \,</math> と離散化したときの、窓関数自身と、DFTで求めた[[パワースペクトル]]である。 {| class="wikitable" |+表. 窓関数の比較 ! colspan="3" |名称 !式 <math>w(x) </math> |- | colspan="4" |三角関数系 |- | rowspan="12" | | colspan="2" |[[窓関数#サイン窓|サイン窓]] |<math>\sin \pi x </math> |- | colspan="2" |[[窓関数#Vorbis窓|Vorbis窓]] |<math>\sin (0.5\pi \sin^2 \pi x ) </math> |- | colspan="2" |[[窓関数#一般化ハミング窓|一般化ハミング窓]] |<math>a - (1 - a) \cos 2 \pi x </math><ref name=":0" group="注釈">非ゼロの区間端点は打ち切り(非連続性に0)</ref> |- | rowspan="3" | |[[窓関数#矩形窓|矩形窓]] (<math>a = 1 </math>) |<math>1 </math><ref name=":0" group="注釈" /> |- |[[窓関数#ハン窓|ハン窓]] (<math>a = 0.50 </math>) |<math>0.50 - 0.50 \cos 2 \pi x </math> |- |[[窓関数#ハミング窓|ハミング窓]](<math>a = 0.54 </math>) |<math>0.54 - 0.46 \cos 2 \pi x </math><ref name=":0" group="注釈" /> |- | colspan="2" |[[窓関数#ブラックマン窓|ブラックマン窓]] |<math>0.420 - 0.5 \cos 2 \pi x + 0.080 \cos 4 \pi x </math> |- | colspan="2" |[[窓関数#赤池窓|赤池窓]] |<math>0.625 - 0.5 \cos 2 \pi x - 0.125 \cos 4 \pi x </math> |- | colspan="2" |[[窓関数#ナットール窓|ナットール窓]] |<math>0.3557680 - 0.4873960 \cos 2 \pi x + 0.1442320 \cos 4 \pi x - 0.0126040 \cos 6 \pi x </math> |- | colspan="2" |[[窓関数#ブラックマン‐ハリス窓|ブラックマン‐ハリス窓]] |<math>0.3587500 - 0.4882900 \cos 2 \pi x + 0.1412800 \cos 4 \pi x - 0.0116800 \cos 6 \pi x </math> |- | colspan="2" |[[窓関数#ブラックマン‐ナットール窓|ブラックマン‐ナットール窓]] |<math>0.3635819 - 0.4891775 \cos 2 \pi x + 0.1365995 \cos 4 \pi x - 0.0106411 \cos 6 \pi x </math> |- | colspan="2" |[[窓関数#フラット・トップ窓|フラット・トップ窓]] |<math>1 - 1.93 \cos 2 \pi x + 1.29 \cos 4 \pi x - 0.388 \cos 6 \pi x + 0.032 \cos 8 \pi x </math> |- | colspan="3" |[[窓関数#バートレット‐ハン窓|バートレット‐ハン窓]] |<math>0.62 - 0.48 | x - 0.5 | - 0.38 \cos 2 \pi x </math> |- | colspan="3" |[[窓関数#テューキー窓|テューキー窓]] | |- | colspan="4" |多項式系 |- | rowspan="4" | | colspan="2" |[[窓関数#バートレット窓|バートレット窓]] |<math>1 - 2|x - 0.5| </math> |- | colspan="2" |[[窓関数#ウェルチ窓|ウェルチ窓]] |<math>4 x (1 - x) </math> |- | colspan="2" |[[窓関数#パルザン窓|パルザン窓]] |<math>\begin{cases} 1 - 1.5 x^2 + 0.75 |x|^3, & \mbox{if } |x| \leq 1 \\ 0.25 (2 - |x|)^3, & \mbox{if } 1 \leq |x| \leq 2 \end{cases}</math> |- | colspan="2" |[[窓関数#MDCT窓関数|MDCT窓関数]] | |- | colspan="4" |パラメータ系 |- | rowspan="3" | | colspan="2" |[[窓関数#カイザー窓|カイザー窓]] | |- | colspan="2" |[[窓関数#ガウス窓|ガウス窓]] |<math>\exp (-(x-0.5)^2 / \sigma^2) </math><ref name=":0" group="注釈" /> |- | colspan="2" |[[窓関数#指数窓|指数窓]] |<math>\exp (-x/T) </math><ref name=":0" group="注釈" /> |} === 矩形窓 === [[ファイル:Window_function_(rectangular).svg|thumb|矩形窓]] {{読み仮名|'''矩形窓'''|くけいまど|{{lang-en-short|rectangular window}}}}。{{読み仮名|'''方形窓'''|ほうけいまど}}とも。 単に有限長のデータを用意しただけのとき、暗黙のうちにこの窓関数を使っている。理論上、周波数分解能は最も良い。一方で <math>x = 0, 1</math> にいちじるしい不連続があり、時間領域での信号飛び、周波数特性での高いサイドローブ(=低[[ダイナミックレンジ]])の所以となっている。 *<math>w(x) = 1 </math>{{clear}} === ガウス窓 === [[ファイル:Window_function_(gauss).svg|thumb|ガウス窓]] Gauss window。ガウシアン窓 (Gaussian window) とも。 [[ガウス関数]]のフーリエ変換は再びガウス関数になる(フーリエ変換の[[固有関数]]である)。ガウス関数は無限に広がるため、実用上必要な長さまでで計算を打ち切る必要がある。無限に広がる窓関数を不連続に打ち切った場合、矩形窓を掛けた事になり、通過帯域と阻止帯域にリップルが発生し、サイドローブも大きく上昇する。主に、[[ガボール変換]] (Gabor transform)や連続ウェーブレット変換で使われる。 *<math>w(x) = \exp \left( -\frac{(x-0.5)^2}{\sigma^2} \right) </math>{{clear}} === ハン窓 === [[ファイル:Window_function_(hann).svg|thumb|ハン窓]] {{main|{{仮リンク|ハン関数|en|Hann function}}}} {{読み仮名|'''ハン窓'''|ハンまど|{{lang-en-short|hann window}}}}<ref group="注釈">hannは人名由来だが慣習的に小文字で書く</ref>。{{読み仮名|'''フォンハン窓'''|フォンハンまど|{{lang-en-short|von Hann window}}}}、{{要出典範囲|{{lang-en-short|'''raised cosine window'''}}|date=2025年2月}} 、{{要出典範囲|'''2乗余弦窓'''|date=2025年2月}}とも。 {{仮リンク|ユリウス・フォン・ハン|en|Julius von Hann}}が考案した。{{要出典範囲|最もよく使われる窓関数の一つ|date=2025年2月}}。ハン窓及び後述のハミング窓は、後の研究で後述する一つの関数族「一般化ハミング窓("raised cosine" または "generalized Hamming" 窓)」に分類されたため、ハン(Han)と[[リチャード・ハミング|ハミング]](Hamming)両名の名前から合成された「ハニング窓(hanning window)」という呼び方でハン窓を指す場合もある。 *<math>w(x) = 0.5 - 0.5 \cos 2 \pi x </math>{{clear}} === ハミング窓 === [[ファイル:Window_function_(hamming).svg|thumb|ハミング窓]] {{読み仮名|'''ハミング窓'''|ハミングまど|{{lang-en-short|hamming window}}}}<ref group="注釈">hammingは人名だが、慣習的に小文字で書く</ref>。 ハン窓の改良版として、[[リチャード・ハミング]]が考案した。{{要出典範囲|最もよく使われる窓関数の一つ|date=2025年2月}}。ハン窓より周波数分解能が良く、ダイナミック・レンジが狭い。区間の両端で不連続なのが特徴。 *<math>w(x) = 0.54 - 0.46 \cos 2 \pi x </math>{{clear}} === テューキー窓 === [[ジョン・テューキー]]が考案した。コサイン関数を用いて以下のように表される<ref name=earl>{{cite| 和書 |author=Earl G. Williams |translator=吉川茂、西條献児 |title=フーリエ音響学 |publisher=シュプリンガーフェアラーク東京 |year=2005 |page=129 |isbn=4-431-71174-0}}</ref>。 :<math>w(x)= \begin{cases}1,& x\leq \frac{L_x}{2}-x_w \\ \frac{1}{2}-\frac{1}{2}\cos\left(\frac{\pi\left(x-\frac{L_x}{2}\right)}{x_w}\right),& \frac{L_x}{2}-x_w<x<\frac{L_x}{2}\\0,& x>\frac{L_x}{2} \end{cases}</math> ここで''x<sub>w</sub>'' は窓の幅である。 === ブラックマン窓 === [[ファイル:Window_function_(blackman).png|thumb|ブラックマン窓]] {{読み仮名|'''ブラックマン窓'''|ブラックマンまど|{{lang-en-short|Blackman window}}}}。 {{仮リンク|ラルフ・ブラックマン|en|Ralph Beebe Blackman}}が考案した。{{要出典範囲|最もよく使われる窓関数の一つ|date=2025年2月}}。ハン窓/ハミング窓より、周波数分解能が悪く、ダイナミック・レンジが広い。 *<math>w(x) = 0.42 - 0.5 \cos 2 \pi x + 0.08 \cos 4 \pi x </math>{{clear}} === カイザー窓 === [[ファイル:Window_function_(Kaiser; alpha = 2 pi).png|thumb|カイザー窓、<math>\alpha = 2 \,</math>]] [[ファイル:Window_function_(Kaiser; alpha = 3 pi).png|thumb|カイザー窓、<math>\alpha = 3 \,</math>]] {{main|[[カイザー窓|カイザー関数]]}} Kaiser window。カイザー‐ベッセル窓 (Kaiser‐Bessel window) ともいうが、後述のカイザー‐ベッセル派生窓と紛らわしい。[[J・F・カイザー]]<!--James F. Kaiser-->が考案した。 柔軟な特性変更ができるためデジタル信号処理において良く用いられる。 実数パラメタ <math>\alpha \geq 0 \,</math> を持つ( <math>\beta = \pi \alpha \,</math> をパラメタとすることもある)。<math>\alpha \,</math>が0であれば矩形窓そのものである。<math>\alpha \,</math>を大きくするほどD/A変換の理論上において最も理想的な特性を持つガウス窓への近似度を高めることができ、周波数分解能が悪くなる代わりにダイナミックレンジが広くなる。<math>\alpha \,</math>の調節だけで2種類の窓関数の特性の間を連続的に推移できるのが最大の特長である。周波数分解能はおおよそ <math>\sqrt \alpha</math> に反比例する。 <math>\alpha = 0 \,</math> では矩形窓と同じ。<math>\alpha = 1.5 \,</math> ではハミニング窓に、<math>\alpha = 2 \,</math> ではハン窓に、<math>\alpha = 3 \,</math> ではブラックマン窓に似た形になる。 *<math>w(x) = \frac{ I_0 \left\{ \pi \alpha \sqrt{ 1 - (2 x - 1) ^ 2 } \right\} }{ I_0( \pi \alpha ) } </math> ただし、<math>I_0 \,</math> は第1種の0次の変形[[ベッセル関数]]。{{clear}} === バートレット窓 === [[ファイル:Window_function_(bartlett).png|thumb|バートレット窓]] <!--[[ファイル:Window_function_(triangular).png|thumb|バートレット窓]] x=(k+0.5)/N--> Bartlett window。三角窓 (triangular window) とも。 教科書には必ず出てくるが、実際に使うことは少ない。 *<math>w(x) = 1 - 2|x - 0.5| </math>{{clear}} === 指数窓 === exponential window。 減衰積分をおこなうとき、暗黙のうちにこの窓関数を使っている。コンパクト・サポートでないので、実際に使うときは適当な区間の外を0にする。左右非対称なので、エコー検出など、時間非対称な問題に使う。 *<math>w(x) = \exp \frac{-x}{T} </math> === 一般化ハミング窓 === ハン窓とハミング窓の一般化。実数パラメタ <math>a, \ 0.5 \leq a \leq 1</math> を持ち、<math>a = 0.5 \,</math> でハン窓、<math>a = 0.54 \,</math> でハミング窓、<math>a = 1 \,</math> で矩形窓になる。 *<math>w(x) = a - (1 - a) \cos 2 \pi x </math> === バートレット‐ハン窓 === [[ファイル:Window_function_(bartlett-hann).png|thumb|バートレット‐ハン窓]] Bartlett‐Hann window。修正バートレット‐ハン窓 (modified Bartlett‐Hann window) とも。 バートレット窓とハン窓の線形混合。異なる比率のものを使うこともある。 *<math>w(x) = 0.62 - 0.48 | x - 0.5 | - 0.38 \cos 2 \pi x </math>{{clear}} === ナットール窓 === [[ファイル:Window_function_(nuttall).png|thumb|ナットール窓]] {{読み仮名|'''ナットール窓'''|ナットールまど|{{lang-en-short|Nuttall window}}}}。 *<math>w(x) = 0.355768 - 0.487396 \cos 2 \pi x + 0.144232 \cos 4 \pi x - 0.012604 \cos 6 \pi x </math>{{clear}} === ブラックマン‐ハリス窓 === [[ファイル:Window_function_(blackman-harris).png|thumb|ブラックマン‐ハリス窓]] Blackman‐Harris window。 *<math>w(x) = 0.35875 - 0.48829 \cos 2 \pi x + 0.14128 \cos 4 \pi x - 0.01168 \cos 6 \pi x </math>{{clear}} === ブラックマン‐ナットール窓 === [[ファイル:Window_function_(blackman-nuttall).png|thumb|ブラックマン‐ナットール窓]] {{読み仮名|'''ブラックマン‐ナットール窓'''|ブラックマン‐ナットールまど|{{lang-en-short|Blackman‐Nuttall window}}}}。 *<math>w(x) = 0.3635819 - 0.4891775 \cos 2 \pi x + 0.1365995 \cos 4 \pi x - 0.0106411 \cos 6 \pi x </math>{{clear}} === フラット・トップ窓 === [[ファイル:Window_function_(flat_top).png|thumb|フラット・トップ窓]] {{読み仮名|'''フラット・トップ窓'''|フラット・トップまど|{{lang-en-short|flat top window}}}}。 スペクトルのメインローブの頂部が平らであることから、こう呼ぶ。別の式で表される窓関数を「フラット・トップ窓」と呼ぶことがある。 *<math>w(x) = 1 - 1.93 \cos 2 \pi x + 1.29 \cos 4 \pi x - 0.388 \cos 6 \pi x + 0.032 \cos 8 \pi x </math>{{clear}} === パルザン窓 === Parzen window。 ガウス窓の区分3次関数による近似。 *<math>w(x) = \begin{cases} 1 - 1.5 x^2 + 0.75 |x|^3, & \mbox{if } |x| \leq 1 \\ 0.25 (2 - |x|)^3, & \mbox{if } 1 \leq |x| \leq 2 \end{cases}</math> === 赤池窓 === Akaike window。 *<math>w(x) = 0.625 - 0.5 \cos 2 \pi x - 0.125 \cos 4 \pi x </math> === ウェルチ窓 === Welch window。 *<math>w(x) = 4 x (1 - x) </math> === MDCT窓関数 === [[修正離散コサイン変換|MDCT(修正離散コサイン変換)]]の前処理に使う。 MDCTでの変数定義の慣習にしたがい、離散化には、<math>x = (k + 0.5) / N, \ k = 0, \ldots ,N - 1</math> のデータ数を <math>2N \,</math> とした式 {{Indent|<math>x = \frac{ k + 0.5 }{ 2 N}, \ \ k = 0, \ldots ,2 N - 1</math>}} を用いることが多い。 === サイン窓 === {{読み仮名|'''サイン窓'''|サインまど|{{lang-en-short|sine window}}}}。半波余弦窓 (half cycle sine window) とも。 [[MP3]]など多くのフォーマットが使用。 *<math>w(x) = \sin \pi x </math> === Vorbis窓 === {{読み仮名|'''Vorbis窓'''|ヴォルビスまど|{{lang-en-short|Vorbis window}}}}。 [[Ogg Vorbis|Vorbis]]が使用。 *<math>w(x) = \sin \left( \frac{\pi}{2} \sin^2 \pi x \right) </math> === カイザー‐ベッセル派生窓 === Kaiser‐Bessel derived window。KBD窓 (KBD window) とも。 [[ドルビーデジタル|AC3]]や[[AAC]]が使用。 {{Indent|''詳細は「[[カイザー窓#カイザー-ベッセル派生 (KBD) 窓|カイザー-ベッセル派生 (KBD) 窓]]」を参照''}} === フィルタとして使う窓関数 === ====ランツォシュ窓==== {{main|{{仮リンク|ランチョス・リサンプリング|en|Lanczos resampling|label=ランツォシュ関数}}}} Lanczos window。ランツォシュ・フィルタとも<ref group="注釈">発音記号は{{IPAc-hu|ˈlaːnt͡soʃ}}となっているため、カナ表記としては「ラーンツォシュ」「ランツォシュ」が近いが、発音しやすさの観点から「ランチョシュ」「ランチョス」などとも表記される。</ref><ref group="注釈">Lanczosの発音については「[[ハンガリー人の一覧#現在のハンガリー領出身のユダヤ系ハンガリー人|現在のハンガリー領出身のユダヤ系ハンガリー人]]」および「[[コルネリウス・ランチョス]]」も参照。</ref>。 整数パラメタ <math>n \geq 1 \,</math> を持つ。<math>n \,</math> の値によって、<math>n \,</math> 次ランツォシュ窓、ランツォシュ <math>n \,</math> 窓などと呼ぶ。 データのデシメーション(画像縮小など)の前処理に、LPF([[低域通過フィルタ]])として使われる。 *<math>w(x) = \mathrm{sinc} x \cdot \mathrm{sinc} \frac{x}{n}, \ \mbox{if } |x| \leq n </math> ただし、<math>\mathrm{sinc}x = ( \sin \pi x ) / \pi x \,</math> は正規化[[sinc関数]]。 ====Sinc窓==== {{main|{{仮リンク|Sincフィルター|en|Sinc filter|label=Sinc窓}}|sinc関数}} 窓と言いつつ、無限長の台を持つ(つまり原点からどこまで離れても関数値が0にならない)関数である。無限回の計算が必要なため直接的な実装を考えた場合は実用的ではない。一方でフィルタの基礎理論としては重要で、近似的な窓であるランツォシュ窓などが考案され画像の拡大縮小などに広く活用されている。 Sinc窓はBrick-wall filtersとなる。 == 脚注 == {{脚注ヘルプ}} === 注釈 === {{Notelist}} === 出典 === <references/> == 参考文献 == * {{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}} == 関連項目 == * [[フーリエ変換]] * [[短時間フーリエ変換]] * [[修正離散コサイン変換]] * [[ウェーブレット変換]] * [[カイザー窓]] * [[デジタル信号処理]] * [[データ圧縮]] * [[窓関数 (SQL)]] == 外部リンク == * [https://web.archive.org/web/20100127104643/http://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/basic/chap9/index.htm 窓関数 (Window Function)] - 井澤裕司 * [https://web.archive.org/web/20050914080917/http://www.orixrentec.co.jp/tmsite/know/know_mado.html フーリエ変換と窓関数] - 測定器玉手箱 * [https://web.archive.org/web/20060504233948/http://astronomy.swin.edu.au/~pbourke/other/windows/ Windows] - Paul Bourke * [http://www.cis.rit.edu/resources/software/sig_manual/windows.html Window Functions] - Roger L. Easton, Jr. * [http://www.mp3-tech.org/programmer/docs/embedded_vorbis_thesis.pdf Ogg/Vorbis in embeded systems] {{DEFAULTSORT:まとかんすう}} [[Category:統計学]] [[Category:フーリエ解析]] [[Category:信号処理]] [[Category:データ分析]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Cite
(
ソースを閲覧
)
テンプレート:Cite journal2
(
ソースを閲覧
)
テンプレート:Clear
(
ソースを閲覧
)
テンプレート:Harv
(
ソースを閲覧
)
テンプレート:Ilq
(
ソースを閲覧
)
テンプレート:Indent
(
ソースを閲覧
)
テンプレート:Main
(
ソースを閲覧
)
テンプレート:Notelist
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
テンプレート:出典の明記
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
テンプレート:要出典範囲
(
ソースを閲覧
)
テンプレート:読み仮名
(
ソースを閲覧
)
窓関数
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報