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

조회 수: 6 (최근 30일)
Nathan
Nathan 2022년 9월 22일
댓글: Paul 2022년 9월 22일
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
Paul 2022년 9월 22일
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
Nathan
Nathan 2022년 9월 22일
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 2022년 9월 22일
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?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Discrete Fourier and Cosine Transforms에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by