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

3 vues (au cours des 30 derniers jours)
Nathan
Nathan le 22 Sep 2022
Commenté : Paul le 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

Réponse acceptée

Paul
Paul le 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
  2 commentaires
Nathan
Nathan le 22 Sep 2022
I'm still new to matlab and read this code from another forum, which is why I'm not so sure if the impulse response looks correct. I initially tried fft(f_x) where f_x is my function in time domain but the graph came out looking very weird. Do you mind explain your code briefly? Thank you!
Paul
Paul le 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?

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by