You are here : matlabSignal Processinggausswin

# gausswin() - Signal Processing

w = gausswin(N) returns an N-point
Gaussian window in a column vector, w. N is
a positive integer.w = gausswin(N,Alpha) returns
an N-point Gaussian window with Alpha proportional
to the reciprocal of the standard deviation. The width of the window
is inversely related to the value of α. A
larger value of α produces a more narrow
window. The value of α defaults to 2.5.Note

If the window appears to be clipped, increase N,
the number of points.

### Syntax

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

### Example

Gaussian WindowOpen This Example
Create a 64-point Gaussian window. Display the result in wvtool.
L = 64;
wvtool(gausswin(L))

Gaussian Window and the Fourier TransformOpen This Example
This example shows that the Fourier transform of the Gaussian window is also Gaussian with a reciprocal standard deviation. This is an illustration of the time-frequency uncertainty principle.
Create a Gaussian window of length 64 by using gausswin and the defining equation. Set
, which results in a standard deviation of 64/16 = 4. Accordingly, you expect that the Gaussian is essentially limited to the mean plus or minus 3 standard deviations, or an approximate support of [-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')

Obtain the Fourier transform of the Gaussian window at 256 points. Use fftshift to center the Fourier transform at zero frequency (DC).nfft = 4*N;
freq = -pi:2*pi/nfft:pi-pi/nfft;

wdft = fftshift(fft(w,nfft));
The Fourier transform of the Gaussian window is also Gaussian with a standard deviation that is the reciprocal of the time-domain standard deviation. Include the Gaussian normalization factor in your computation.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