Main Content

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

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 N=64 mediante gausswin y la ecuación de definición. Establezca α=8, que da como resultado una desviación estándar de (N-1)/2α=63/16. La gaussiana se limita en esencia a la media más o menos 3 desviaciones estándar, 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 = "+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.

Obtenga la transformada de Fourier de la ventana gaussiana en los puntos 4N=256. 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")
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.

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

Historial de versiones

Introducido antes de R2006a

Consulte también

Apps

Funciones