Logo

TA Signal Processings
デジタル信号処理豆知識

Contents

Home

News

信号処理豆知識

ソフトウェア

業務委託

リンク

会社概要

サイト・ポリシー

窓関数(その1)

今回は窓関数(Window Function)の話です。デジタル信号処理の話では、必ずと言っていいほど、よく出てくる窓関数は、簡単にいうと、信号のうち対象とする部分を切り出す関数です。

まず、切り出すとはどういうことかを考えて見ましょう。自然に存在する信号は無限の長さがあるのが普通ですが、現実に解析するには、ある部分を取り出しか方法がありません。もちろん、"sa" と発音したときの音声ということであれば、独立した1つの音声として、解析可能ですし、そのような方法もあります。しかし、現実には母音の安定している部分の特徴を分析するなど、連続信号の一部を切り出して解析する場合が多いのです。

上図(音声ではありません)で、帯になっている部分が窓です。この窓をどこか適当なところに合わせて "Expand" ボタンをクリックしてみてください。次に、"Spectrum" ボタンをクリックしてスペクトルを出して見てください。どうでしょうか?波形の性質を表しているように見えますか?スペクトルを出している状態でも、窓は移動できますので、いろいろと試してください。

では、もうちょっと単純な波形で考えてみましょう。下の図では、サイン波を切り出して、FFTを行うところを示しています。左側のサイン波の位相と周波数を変化させることで、切り出す区間の変更をシミュレートしています。位相を Phase の "<" と ">" で、周波数を Frequency の "Up" と "Down" で、位相と周波数を変化させて、右側のスペクトルを観測してみてください。(赤が振幅で、緑が位相です)

位相を変化させると、スペクトルの振幅はあまり変化せず、位相だけが変化していることが分かります。さて、周波数を変化させるとどうでしょう。スペクトルの振幅が、周波数によって、大きく形を変えてしまいます。これは、周期の整数倍と波が一致しない場合に、エネルギーが他の周波数成分へ分散してしまうからです。原信号の振幅は変化していないのに、エネルギーが分散するために、振幅がわからなくなってしまうのは大きな問題です。

実は、これまでの話では、ある部分を単純に切り出しただけ(対象とする部分には1を掛けて、他は0とする)の窓、すなわち矩形窓を用いていましたが、実は他にも切り出し方あります。その切り出し方を関数として表すので窓関数と呼ぶのです。次回は代表的な窓関数についてお話します。

Prev Top Home Next


リンク切れなどの不具合が発見されましたら、ご面倒とは存じますが、
web_master@tasignal.comまでご連絡ください。

Copyright(C) 2004, TA Signal Processings, Inc. All rights reserved.