データに窓関数を掛け合わせることを窓を掛ける (windowing) という。

窓関数(まどかんすう、英: window function)とは、ある有限区間(台)以外で0となる関数である。 ある関数や信号(データ)に窓関数が掛け合わせられると、区間外は0になり、有限区間内だけが残るので、数値解析が容易になる。 窓関数は、スペクトル分析、フィルタ・デザインや、音声圧縮に応用される。 窓関数を単に窓 (window) ともいい、データに窓関数を掛け合わせることを窓を掛ける (windowing) という。実装可能な有限のタップ数を持つフィルタにおいて生じる制約の範囲内で周波数分解能とダイナミックレンジのバランスの調節を行うための関数である。

フーリエ変換は、区分的に 級な任意の関数 を、三角関数(あるいは指数関数)の線形結合で表す。 なお、 のフーリエ変換を で表す。

フーリエ変換では、関数 も三角関数も、無限区間 で定義されている。 しかし、実データを数値的にフーリエ変換するなら、無限の長さは扱えないので、有限区間フーリエ変換をおこない、区間外は無視することになる。 これは、関数 を区間外で0とみなすことに等しい(「区間内のデータを周期的に繰り返す」という表現をすることもあるが、DFT(離散フーリエ変換)の場合はこの2つは等価である)。

つまり、関数 と関数


の積 を求め、そのフーリエ変換 を、 の代わりに得ていることになる。 このとき掛け合わせた関数 が窓関数である。

ここで定義した窓関数 (矩形窓という)でなくても、有限区間外が0で区間内が有界な関数ならば、窓関数として使える。 そこで、さまざまな窓関数が考案されている。 実際、上の矩形窓はあまり性能がよくない。それは、 にいちじるしい不連続があるからである。 実際に使われる窓関数のほとんどは、両端が滑らかに小さくなり区間外の0につながる、山形の関数である。