窓関数の処理によるFFT結果の違いとは?

このQ&Aのポイント
  • 窓関数の処理によるFFT結果の違いをシミュレーションして調査しました。
  • (2)と(3)の2次以降が同じになる理由について解説します。
  • ハミング窓関数の処理によって得られる結果についても比較します。
回答を見る
  • ベストアンサー

窓関数の処理の仕方によるFFT結果の違いについて

ある1周期分のデータX(n)={X0,X1,・・・,Xn-1}があるとき(nは2の乗数)、ハミング窓関数K=0.54-0.46cos(2πn/N-1)を以下のように処理 (1)Y(n)=K*X(n) (2)Y(n)=K*X(n)+A (3)Y(n)=K*{X(n)+A} ただし、AはX(n)の平均値。 ここで、Y(n)をFFTした場合の違いについてシミュレーションしましたが、振幅スペクトルの結果が次のようになりました。  (1)と(2)は0次のみ異なる(1次以降は同じ)  (2)と(3)((1)と(3))は0次と1次が異なる(2次以降は同じ) 【質問1】 (2)と(3)の2次以降が同じになる理由はどうしてでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • dedenden
  • ベストアンサー率52% (9/17)
回答No.1

(3)は簡単な書換えで、以下のようにかけます。 Y(n)=K(n)*X(n)+A*K(n) 一般に、離散フーリエ変換(FFT)は線形演算です。このため、(3)のFFTの値は、(1)のFFTに、A*K(n)のFFTを加えた値になります。したがって、(1)と(3)のFFTの値の差は、K(n)のFFTに定数Aを掛けた値になるはずです。 また、ハミング窓のFFTは周波数の低域に大きなゲインを有する特性を持ちます。したがって、0次や1次の項に比較的絶対値の大きな値が入ります。しかし、2次以降の項が0になるということは一般的には成り立ちません。 以上の考察から、質問にあるように、(2)と(3)の2次以降が同じになるというのは、ややおかしいように思います。たまたま数値計算誤差などで、一致してしまっているということはないでしょうか?

参考URL:
http://www.orixrentec.co.jp/tmsite/know/know_mado.html
at1151
質問者

お礼

私も2次以降が同じになるのはおかしいのでは?とおもっていましたが、 ハミング窓関数の特性を考えれば、おっしゃる通りかも・・・と思います。 ご回答ありがとうございました。

関連するQ&A

  • FFTの結果の非対象性について

    FFTの結果で腑に落ちない点があります。 対称な2次元関数f(x, y)をFFTしたところ、 結果F(X, Y)が非対象となりました。 具体的には、0.5だけずれました。 もとの関数では、3.5で対称ですが、結果では、4.0で対称となっています。(実際には、N=256です) FFTには「FFTW」と自分でコーディングしたものを用いましたが、 同じ結果です。 どのように解釈したら良いのでしょうか? よろしくお願いします。 f(x, y): 0 1 2 3 4 5 6 7 --------------- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 2 4 4 2 0 0 0 0 2 4 4 2 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F(X, Y): 0 1 2 3 4 5 6 7 --------------- Z 0 0 0 X 0 0 0 Z 0 A A X A A 0 Z 0 A B X B A 0 Z X X X X X X X Z 0 A B X B A 0 Z 0 A A X A A 0 Z 0 0 0 X 0 0 0 Z Z Z Z Z Z Z Z (値は適当です)

  • 以下の不等式の証明を少し頭使いながらやってみました。

    以下の不等式の証明を少し頭使いながらやってみました。 n,kを正の整数、x1,x2,・・・・,xnを正の実数とする。このとき  x1^k+x2^k+・・・・+xn^k≧((x1+・・・+xn)^k)/n^(k-1) ・・・・・(#) が成立することを示せ。 (説明)普通は数学的帰納法で示す(模範回答で確認済み)が、ここでは少し見方を変えて示す。 まずk=1のとき (#)の右辺,左辺ともにx1+・・・・+xnで等号成立する。 以降k≧2とする。 まずx1=・・・・・=xn=aのとき (#)の右辺,左辺ともにna^kで等号成立する。 次に0<x1<x2≦x3≦・・・・・≦xnとする。 (#)の両辺に1/nをかけて   (x1^k+x2^k+・・・・+xn^k)/n≧((x1+・・・+xn)/n)^k ・・・・・(##) を示す。 ここでx1,・・・,xnの平均xa=(x1+・・・+xn)/nとし、区間[x1,xn]内で任意にx2,x3,・・・ ・,x(n-1)を(x1,xnを先に定めて)プロットする。そして f(x)=x^k (k≧2)について考える。またx1<xa≦xnである。 g(x)を(xa,f(xa))についての接線の方程式とすれば f(xa)=(g(x1)+g(x2)+・・・・・+g(xn))/n である。 さらにf(x)は区間[x1,xn]において下に凸だから f(x1)>g(x1),f(x2)≧g(x2),・・・,f(xn)≧g(xn) が成り立つ。 したがって (f(x1)+・・・・+f(xn))/n >(g(x1)+g(x2)+・・・・・+g(xn))/n=f(xa) となる。 よってxa=(x1+・・・+xn)/n ,f(x)=x^k から (##)が言えて、(#)が以上から成り立つことが言えた。 模範解答にもこの方法は載っておらず、独自で思いついて示しました。この証明方法でも良いですか? ここのポイントはy=f(x)=x^kと(xa,f(xa))についての接線の方程式を考えればうまく応用できるというところです。問題は間違っていないかどうかですが自分でも面白く感動しました。

  • MDCT→FFTへの変換?(オーディオ信号)

    いまオーディオ圧縮アルゴリズムの勉強をしています。 IMDCTの式が    y[n]= (2/N)*Σ{x[k]*cos((2π/N)*(n+a)*(k+0.5))}         k ただし0≦n<N, aは定数, Σはk=0,1,…N/2-1 とあるのですが、これをFFTで計算するには どのような処理をすればいいのでしょうか? また、cos(x)の計算は何回すればいいのでしょうか? #cos(x)の値をテーブルで持っておくには、 #何種類の値をもっていればいいのでしょうか? 本やネットで調べたら、DCTの式はあるのですが、 MDCTについてはあまり触れられていないので… よろしくお願いします。

  • 論理回路

    2n変数論理関数 fn(x1,x2,...,xn,y1,y2,...,yn)={ 1 N(x1,x2,...,xn)>N(y1,y2,...,yn)の時                 0 その以外 について、以下の問に答えよ。ここで、Nは入力を2進数とみなしたときの数を値として持つ関数であり、N(x1,x2,...,xn)=Σ(i=1~n)xi2^n-iと表すことができる。 問 任意のn>=2に対して     fn(x1,x2,...,xn,y1,y2,...,yn)= x1・y1(bar) + (x1+y1(bar))・fn-1(x2,...,xn,y2,...yn) が成り立つことを示せ。ただし、(bar)が論理否定、・が論理積、+は論理和を表す という問なのですが、どのように証明をすればよいのでしょうか? お願いします。

  • 数学B 数列 センター向けの問題です

    数列{xn}は x1=5,x(n+1)=xn+2 (n=1,2,3,・・・) で定義された数列である。 x2=7,x3=9 であり、 xn=2n+3 である。 次に、数列{yn}は y1=3,y(n+1)=yn+2n+3 (n=1,2,3,・・・) で定義された数列である。このとき yn=n^ア+イn Σ[k=1→n]yk=(1/6)n(n+ウ)(エn+オ) である。 さらに、数列{zn}を x1,y1,y2,x1,x2,x3,y1,y2,y3,y4,・・・ とし、この数列{zn}を x1|y1,y2|x1,x2,x3|y1,y2,y3,y4|・・・ のように、1個、2個、3個、4個、・・・と区画に分ける。すなわち、l=1,2,3,・・・として 第(2l-1)区画にはx1,x2,x3,・・・,x(2l-1) の項があり、 第2l区画にはy1,y2,y3,・・・,y2l の項があるように区画に分ける。 このとき、z199は第カキ区間のク番目の項であるから z199=ケコ である。また Σ[k=200→240]zk=サシスセ である。 解答 n^ア+イn=n^2+2n (1/6)n(n+ウ)(エn+オ)=(1/6)n(n+1)(2n+7) カキ=20 ク=9 ケコ=99 サシスセ=3815 この問題の解き方がわかりません 解き方を教えて下さい よろしくお願いします

  • ベクトルの係数比較が一次独立じゃないとできないのは

    何故ですか? 「K上の線形空間Xの元 x1,x2,・・・,xn について、  a1x1+a2x2+・・・+anxn=0 を満たす ak (k=1,2,・・・,n) が、  a1=a2=・・・=an=0 だけであるとき、x1,x2,・・・,xn は線形独立」 みたいですが、これを見ても何故一次従属だと係数比較出来ないのかが分かりません 教えてください

  • 期待値?平均?意味不明!

    統計の勉強をしていて????な内容に出くわし困惑しております。どなたかお知恵をお貸しください。 E(a1X1+a2X2+.....+anXn)=a1E(X1)+a2E(X2)+...+anE(Xn)・・・・(1) X1,X2,....,Xnが独立ですべて期待値μ、分散σ^2の同一分布に従い"a1=a2=...=an=1/n"の時 E(X1)=E(X2)=....=E(Xn)=μ E(X1/n+X2/n+....+Xn/n)=μ/n+μ/n+...+μ/n=μ X~=(X1+x2+....+Xn)/nとすると E(X~)=μ これまではいいんですが後に (1)の性質で"X1,X2,.....,Xn"が独立でどれも平均μとすると E(X~)=E(X1/n+X2/n+....+Xn/n) =E(X1)/n+E(X2)/n+...+E(Xn)/n =μ/n+μ/n+.....μ/n=μ と書いてありました。 μっていったい期待値なんでしょうか?平均なんでしょうか?それともどちらでもこのE(X~)=μは成立するのでしょうか? μが平均の場合はなぜE(Xk)=μ(kは第k項の意味です)とできるのか理由も付けて教えてください。 読みにくくてすみませんがよろしくお願いします。

  • 代数学☆イデアルの問題!!

    次の問題について教えてください!! N:自然数 R:環 L,M:左イデアル LM={x1・y1+x2・y2+・・・+xn・yn |         xi∈L,yi∈M (i=1,2,・・・,n),n∈N} LMがイデアルであることを示せ。 左イデアルであることは示せたんですが、右イデアルであることが示せません。 右イデアルを示すために a∈LM,r∈Rに対して a=x1・y1+x2・y2+・・・+xn・yn (xi∈L,yi∈M) とおくと、 a・r=(x1・y1+x2・y2+・・・+xn・yn)・r    =(x1・y1)・r+(x2・y2)・r+・・・+(xn・yn)・r    =x1・(y1・r)+x2・(y2・r)+・・・+xn・(yn・r) になって、 a・r∈LMを示すのにyi・r∈Mを示すのかな、と思ったのですが、 どう示すのか分りません。  やり方自体間違っているのでしょうか、それともyi・r∈Mを示す方法があるのでしょうか。教えてください!!

  • 微積分の証明問題についての質問です。

    微積分の証明問題についての質問です。 xの2乗をx^{2}のように表しています。 f:R^{n} → R , p∈R とする。 fが微分可能のとき、次の(1),(2)が同値であることを示せ。 (1)任意のα>0 と(x1,x2,…,xn)∈R^{n} に対して、 f(αx1,αx2,…,αxn) = α^{p}f(x1,x2,…,xn) …(※) (2)任意の(x1,x2,…,xn)∈R^{n}に対して、 Σ[k=1,n]xk{∂f(x1,x2,…,xn)/∂xk} = pf(x1,x2,…,xn) …(♯) ヒントとして、 ・(1)⇒(2) (※)の両辺をαで微分して、α=1とおく。 ・(2)⇒(1) F(x1,x2,…,xn,α) := α^{-p}f(αx1,αx2,…,αxn) を考えて、 ∂F(x1,x2,…,xn,α)/∂α = 0 を示せ。 が与えられています。アドバイスお願いします。

  • ラグランジュの乗数法についてです

    ラグランジュの乗数法についてです 条件:x1,.....,xn≧0, x1+x2+...+xn=C (>0) のもとに (x1)^1/2+...+(xn)^1/2 の最大値を求めよ という問題がどうしても解けません よろしくお願い致します