ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

gausswin

構文

w = gausswin(N)
w = gausswin(N,Alpha)

説明

w = gausswin(N) では、列ベクトル wN 点のガウス ウィンドウが返されます。N は正の整数です。

w = gausswin(N,Alpha) では、N 点のガウス ウィンドウが返されます。ここで、Alpha は標準偏差の逆数に比例します。ウィンドウの幅は α の値に反比例します。α の値が増大するにつれてウィンドウの幅が狭くなります。α の既定値は 2.5 です。

メモ:

ウィンドウの一部が切り取られて表示される場合は、点の数 N を大きくします。

すべて折りたたむ

64 点のガウス ウィンドウを作成します。結果を wvtool で表示します。

L = 64;
wvtool(gausswin(L))

この例では、ガウス ウィンドウのフーリエ変換も逆数の標準偏差をもつガウスとなることを示します。これは、時間と周波数の間の不確かさの原理を示したものです。

gausswin と定義式を使って長さ 64 のガウス ウィンドウを作成します。 を設定すると、結果は 64/16 = 4 の標準偏差となります。したがって、ガウスが基本的に平均値 +/- 3 の標準偏差に制限される、すなわちおよそ [-12, 12] をサポートすることが予想されます。

N = 64;
n = -(N-1)/2:(N-1)/2;
alpha = 8;

w = gausswin(N,alpha);

stdev = (N-1)/(2*alpha);
y = exp(-1/2*(n/stdev).^2);

plot(n,w)
hold on
plot(n,y,'.')
hold off

xlabel('Samples')
title('Gaussian Window, N = 64')

256 点でガウス ウィンドウのフーリエ変換を求めます。fftshift を使用してフーリエ変換の中央を周波数ゼロ (DC) に揃えます。

nfft = 4*N;
freq = -pi:2*pi/nfft:pi-pi/nfft;

wdft = fftshift(fft(w,nfft));

ガウス ウィンドウのフーリエ変換もまた、時間領域の標準偏差の逆数を標準偏差とするガウスです。ガウスの正規化係数を計算に含めます。

ydft = exp(-1/2*(freq/(1/stdev)).^2)*(stdev*sqrt(2*pi));

plot(freq/pi,abs(wdft))
hold on
plot(freq/pi,abs(ydft),'.')
hold off

xlabel('Normalized frequency (\times\pi rad/sample)')
title('Fourier Transform of Gaussian Window')

アルゴリズム

ガウス ウィンドウの係数は、次の方程式から計算されます

w(n)=e12(αn(N1)/2)2=en2/2σ2,

ここで、–(N – 1)/2 ≤ n ≤ (N – 1)/2 であり、α は、ガウス確率変数の標準偏差 σ に反比例します。ガウス確率密度関数の標準偏差との完全一致は σ = (N – 1)/(2α) の場合です。

参照

[1] Harris, Fredric J. “On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform.” Proceedings of the IEEE®. Vol. 66, January 1978, pp. 51–83.

[2] Roberts, Richard A., and C. T. Mullis. Digital Signal Processing. Reading, MA: Addison-Wesley, 1987, pp. 135–136.

拡張機能

R2006a より前に導入