[R] Fourier Transform fft help
delic
kranius at optonline.net
Wed Sep 16 19:13:43 CEST 2009
I wrote a script that I anticipating seeing a spike at 10Hz with the
function 10* sin(2*pi*10*t).
I can't figure out why my plots do not show spikes at the frequencies I
expect. Am I doing something wrong or is my expectations wrong?
require(stats)
layout(matrix(c(1,2,3), 3, 1, byrow = TRUE))
#SETUP
n <- 256 #nextn(1001) gives next power 2
F <- 100 #Hz -50 to 50 Hz
dt <- 1/F
T <- n*dt
df <- 1/T
t <- seq(0,T,by=dt) #also try ts function
t<-t[1:length(t)-1]
freq <- 5 #Hz
#SIGNAL FUNCTION
y <- 10* sin(2*pi*10*t) #10*sin(2*pi*freq*t)
#FREQ ARRAY
#f <- seq(-F/2,F/2,by=df)
f <- F/2*seq(-1,1,length.out=n+1)
f<-f[1:length(f)-1]
#FOURIER WORK
Y <- fft(y)
mag <- sqrt(Re(Y)^2+Im(Y)^2)
phase <- atan(Im(Y)/Re(Y))
Yr <- Re(Y)
Yi <- Im(Y)
#PLOT SIGNALS
plot(t,y,type="l",xlim=c(0,T))
plot(f,Re(Y),type="l")
plot(f,Im(Y),type="l")
--
View this message in context: http://www.nabble.com/Fourier-Transform-fft-help-tp25475063p25475063.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list