Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

gausswin

Descripción

ejemplo

w = gausswin(L) devuelve una ventana gaussiana de L puntos.

w = gausswin(L,alpha) devuelve una ventana gaussiana de L puntos con factor de ancho alpha.

Nota

Si la ventana parece estar cortada, incremente L, el número de puntos.

Ejemplos

contraer todo

Cree una ventana gaussiana de 64 puntos. Muestre el resultado en wvtool.

L = 64;
wvtool(gausswin(L))

Figure Window Visualization Tool contains 2 axes and other objects of type uimenu, uitoolbar, uipanel. Axes 1 with title Time domain contains an object of type line. Axes 2 with title Frequency domain contains an object of type line.

Este ejemplo muestra que la transformada de Fourier de la ventana gaussiana también es gaussiana con una desviación estándar recíproca. Esta es una ilustración del principio de incertidumbre de tiempo-frecuencia.

Cree una ventana gaussiana de longitud 64 utilizando gausswin y la ecuación de definición. Configure α=8, que da como resultado a desviación estándar de 64/16 = 4. De este modo, se espera que la gaussiana se limite a las desviaciones de -3 o 3, o a un soporte aproximado de [-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')

Figure contains an axes. The axes with title Gaussian Window, N = 64 contains 2 objects of type line.

Obtenga la transformada de Fourier de la ventana gaussiana a 256 puntos. Utilice fftshift para centrar la transformada de Fourier a frecuencia cero (DC).

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

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

La transformada de Fourier de la ventana gaussiana también es gaussiana con una desviación estándar que es recíproca en la desviación estándar de tiempo-dominio. Incluya el factor de normalización gaussiano en su computación.

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')

Figure contains an axes. The axes with title Fourier Transform of Gaussian Window contains 2 objects of type line.

Argumentos de entrada

contraer todo

Longitud de la ventana, especificada como un entero positivo.

Tipos de datos: single | double

Factor de amplitud, especificado como un escalar real positivo. alpha es inversamente proporcional al ancho de la ventana.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Ventana gaussiana, devuelta como vector columna.

Algoritmos

Los coeficientes de una ventana gaussiana se calculan con la siguiente ecuación:

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

donde –(L – 1)/2 ≤ n ≤ (L – 1)/2, y α es inversamente proporcional a la desviación estándar σ de una variable aleatoria gaussiana. La correspondencia exacta con la desviación estándar de una función de probabilidad de densidad gaussiana es σ = (L – 1)/(2α).

Referencias

[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.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Consulte también

Apps

Funciones

Introducido antes de R2006a