Почему я получаю два всплеска частоты от простой функции sin через БПФ в R?

Я узнал о преобразовании Фурье на уроках математики и думал, что понял их. Теперь я пытаюсь поиграть с R (статистическим языком) и на практике интерпретировать результаты дискретного БПФ. Вот что я сделал:

x = seq(0,1,by=0.1)
y = sin(2*pi*(x))

calcenergy <- function(x) Im(x) * Im(x) + Re(x) * Re(x)

fy <- fft(y)
plot(x, calcenergy(fy))

и получил этот график:

energy density spectrum of sin(2*pi*(x)) from 0 to 1 with a 0.1 step

Если я правильно понимаю, это представляет «половину» спектра плотности энергии. Поскольку преобразование симметрично, я мог бы просто отразить все значения в отрицательных значениях x, чтобы получить полный спектр.

Однако я не понимаю, почему я получаю два спайка? Здесь только одна синусовая частота. Это эффект алиасинга?

Кроме того, я понятия не имею, как получить частоты из этого графика. Предположим, что единицами функции синуса были секунды, тогда пик на 1,0 в спектре плотности соответствует 1 Гц?

Еще раз: я понимаю теорию БПФ; практическое применение - проблема :).

Спасибо за любую помощь!

7
задан Peter Müller 11 May 2012 в 10:29
поделиться