How to calculate and sketch the Fourier Transform of a gaussian function?

28 views (last 30 days)
Nathan on 22 Sep 2022
Commented: Paul on 22 Sep 2022
Hello,
I have the following function:
(exp(-pi.*x.^2) + 0.25.*exp((-pi.*x.^2)/16))
Unrecognized function or variable 'x'.
I'm trying to calculate and sketch its fourier transform version.
This is what I tried but it seems wrong.
x_fit_func = @(x) (exp(-pi.*x.^2) + 0.25.*exp((-pi.*x.^2)/16));
x = linspace(-10, 10, 50);
x_F = fft(x_fit_func(x))/numel(x);
Fs = 1/mean(diff(x));
Fn = Fs/2;
Fv = linspace(-1, 1, numel(x_F))*Fn;
Iv = 1:numel(Fv);
figure
plot(Fv, fftshift(abs(x_F)))
grid

Paul on 22 Sep 2022
Hi Steven
What doesn't seem correct? The only issue I see is the calculation of Fv, modified below.
x_fit_func = @(x) (exp(-pi.*x.^2) + 0.25.*exp((-pi.*x.^2)/16));
x = linspace(-10, 10, 50);
x_F = fft(x_fit_func(x))/numel(x);
Fs = 1/mean(diff(x));
Fv = (-25:24)/50*Fs; % frequency vector for N = 50 (N is even)
figure
plot(Fv, fftshift(abs(x_F)))
grid
Paul on 22 Sep 2022
I'm not sure how impulse response has entered the dicussion or what fft(f_x) means without seeing a definition of f_x.
My code is your code. All I did was correct the calculation of the Fv vector. Is that the part that needs further explanation?

Categories

Find more on Discrete Fourier and Cosine Transforms in Help Center and File Exchange

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by