Having troubles getting a rect function ussing fft and the sinc function

18 Ansichten (letzte 30 Tage)
As the title says I am unable to get the rect function when I fft my sinc function
Heres my code to begin with:
x = linspace(-10, 10, 10000);
y = sinc(x);
Pretty simple stuff imo.
when I do:
plot(x, y)
I get
sinc.jpg
but then when I do:
plot(x, fft(y))
I get
fft.jpg
any help would be apprecaited

Antworten (1)

Star Strider
Star Strider am 2 Apr. 2019
Bearbeitet: Star Strider am 2 Apr. 2019
You are not plotting your Fourier transform correctly.
Try this:
x = linspace(-10, 10, 10000);
y = sinc(x);
Fs = 1/mean(diff(x)); % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
Y = fft(y)/numel(y);
Ys = fftshift(Y);
Fv = linspace(-1, 1, fix(numel(Y)))*Fn;
figure
plot(Fv, abs(Ys)*2)
grid
xlim([-5 5])
EDIT — (2 Apr 2019 at 20:09)
Added plot figure:
Having troubles getting a rect function ussing fft and the sinc function- 2019 04 02.png

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by