www.gusucode.com > signal 案例源码程序 matlab代码 > signal/GaussianWindowAndTheFourierTransformExample.m
%% Gaussian Window and the Fourier Transform % 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. % Copyright 2015 The MathWorks, Inc. %% % Create a Gaussian window of length 64 by using |gausswin| and the % defining equation. Set $\alpha = 8$, 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 xlabel('Normalized frequency (\times\pi rad/sample)') title('Fourier Transform of Gaussian Window')