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

15 ビュー (過去 30 日間)
Pouya Tavakoli
Pouya Tavakoli 2019 年 4 月 2 日
編集済み: Star Strider 2019 年 4 月 2 日
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

回答 (1 件)

Star Strider
Star Strider 2019 年 4 月 2 日
編集済み: Star Strider 2019 年 4 月 2 日
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

カテゴリ

Help Center および File ExchangeFourier Analysis and Filtering についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by