[R] Inverse transform after applying function in frequency domain?

From: Keith Alan Chamberlain <Keith.Chamberlain_at_Colorado.EDU>
Date: Sat, 19 Apr 2008 04:30:49 -0600

Dear R-Help,

I wish to simulate a process so that it has certain properties in the frequency domain. What I attempted was to generate a random time-series signal, use spec-pgram(), apply a function in the frequency domain, and then inverse transform back to the time-domain. This idea does not seem as straight forward in practice as I anticipated.

x<-ts(rnorm(1000, 0,1), frequency=256)

plot(x)				## looks like noise.
pgm<-spec.pgram(x, taper=0)	## a flat spectra, white noise
fx<-pgm$freq^(-1)+pgm$spec	## apply a function
plot(log(fx)~log(pgm$freq))	## scaling properties
x2<-fft(fx, inverse=T)
plot(Re(x2))			## not quite what I intended

. Which, although I get some fantastic looking plots, isn't quite what I anticipated. How do I apply a function or filter in the frequency domain, then inverse transform to the scale of my original time series?

Psych Undergrad, CU Boulder
RE McNair Scholar [U.S]

        [[alternative HTML version deleted]]

R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Sat 19 Apr 2008 - 10:48:30 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 19 Apr 2008 - 13:30:29 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive