Это первый раз, когда я использую функцию fft и пытаюсь построить частотный спектр простой функции косинуса:
f = cos(2* pi*300*t)
Частота дискретизации 220500. Я рисую одну секунду функции f.
Вот моя попытка:
time = 1;
freq = 220500;
t = 0 : 1/freq : 1 - 1/freq;
N = length(t);
df = freq/(N*time);
F = fftshift(fft(cos(2*pi*300*t))/N);
faxis = -N/2 / time : df : (N/2-1) / time;
plot(faxis, real(F));
grid on;
xlim([-500, 500]);
Почему я получаю странные результаты, когда я увеличиваю частоту до 900 Гц? Эти странные результаты можно исправить, увеличив пределы по оси x, скажем, с 500 Гц до 1000 Гц. Кроме того, это правильный подход? Я заметил, что многие другие люди не использовали fftshift(X)
(но я думаю, что они проводили только односторонний спектральный анализ).
Спасибо.