Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

gausswin

説明

w = gausswin(L) では、L 点のガウス ウィンドウが返されます。

w = gausswin(L,alpha) では、幅係数 alpha をもつ L 点のガウス ウィンドウが返されます。

メモ

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

すべて折りたたむ

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

L = 64;
wvtool(gausswin(L))

Figure Window Visualization Tool contains 2 axes objects and other objects of type uimenu, uitoolbar, uipanel. Axes object 1 with title Time domain, xlabel Samples, ylabel Amplitude contains an object of type line. Axes object 2 with title Frequency domain, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

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

gausswin と定義式を使って長さ N=64 のガウス ウィンドウを作成します。α=8 を設定すると、結果は (N-1)/2α=63/16 の標準偏差となります。ガウスが基本的に平均値 +/-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 = "+N)
legend(["gausswin" "Definition"])

Figure contains an axes object. The axes object with title Gaussian Window, N = 64, xlabel Samples contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent gausswin, Definition.

4N=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")
legend(["fft" "Definition"])

Figure contains an axes object. The axes object with title Fourier Transform of Gaussian Window, xlabel Normalized frequency ( times pi blank rad/sample) contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent fft, Definition.

入力引数

すべて折りたたむ

ウィンドウの長さ。正の整数で指定します。

データ型: single | double

幅係数。正の実数スカラーとして指定します。alpha はウィンドウの幅に反比例します。

データ型: single | double

出力引数

すべて折りたたむ

ガウス ウィンドウ。列ベクトルとして返されます。

アルゴリズム

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

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

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

参照

[1] Hansen, Eric W. Fourier Transforms: Principles and Applications. New York: John Wiley & Sons, 2014.

[2] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入