[R] R-help Digest, Vol 35, Issue 24

Keith.Chamberlain@colorado.edu Keith.Chamberlain at colorado.edu
Tue Jan 24 23:06:50 CET 2006

Dear Prof Ripley,

First of all, unless you are an english professor, then I do not think you have
any business policing language. I'm still very much a student, both in R, and
regarding signal analysis. My competence on the subject as compared too your
own level of expertise, or my spelling for that matter, may be a contension for
you, but it would have been better had you kept that opinion too yourself. There
are plenty of other reasons besides laziness or carelessness that people will
consistently error in language use, such as learning disorders, head injuries,
and/or vertigo.

On the contrary, I am aware of the definition of a periodogram, and I know what
the unnormalized periodogram in the data I presented looks like. Spec.pgram()
is actually normalized too something, because it's discrete integral is not
well above the SS amplitude of the signal it computed the periodogram for. In
other words, the powers are not in units of around 4,000, which the peak would
be if the units were merely the modulus squared of the Fourier coeficients of
the data I presented. Alas, the modulus squared of the Fourier coeficients IS
the TWO SIDED unnormalized periodogram, ranging from [-fc, fc] | fc=nyquist
critical frequency. The definition of the ONE SIDED periodogram IS the modulus
squared of the Fourier coeficients ranging over [0, fc], but since the function
is even, data points in (0, fc) non-inclusive, need to be multiplied by 2. Thus
is according too the "definition" given by Press, et al (1988, 1992, 2002, c.f.
cp 12 & 13). I'm assuming that R returns an FFT in the same layout as Press, et
al describe.

Press, et al. are also very clear about the existence of far too many ways of
normalizing the periodogram too document, which they stated before delving into
particularly how they normalized to the mean squared amplitude of the signal
that the periodogram was computed from. In the page before, and perhaps this is
where some of the confusion arises from, they document the calculations for MS
and SS amplitudes and "time integral squared amplitude" of the signal in the
"time" domain, not the frequency domain. The page after that, their example
only shows how to normalize a periodogram so its sum is equal too the MS
amplitude. In short, but starting from SS amplitude:

a). sum(a[index=(1:N) or t=(0:N-1)]^2) = SS amplitude calculated in time domain

b). 1/N * sum(Mod(fft[-fc:fc])^2) = two sided periodogram that sums too the SS

c). Same as b but over the range [0, fc], and (0, fc) multiplied by 2 is the one
sided periodogram, also sums too the SS amplitude

For MS amplitude, the procedures are identical, only the time domain is divided
by N, and the frequency domain figures are divided by N^2 instead of N.

When the periodogram is in power per unit time, as in the above, so that the
power is interpretable at N/2+1 independent frequencies, it is a normalized
periodogram. spec.pgram() IS normalized, I just do not know what it's
normalized too because I can not seem to get spec.pgram to stop tapering (at
which point the normalization should be dead on, not just "close").

By the way, "normalized" does not automatically mean anything unless "to what"
is stated. I could normalize something arbitrarily to the number of tics on my
dogs back side, and still call it normed, or erroneously refer too it as
unnormed. If "normalized" is suposed to mean something specific, then I am
confident that more than 90% of undergraduates are not familiar with what the
term "should" mean. Stats and coding and using programs are a human endeavor.
This human seems to have made meaning out of terms differently than what those
who wrote the documentation seem to have intended. Only, I do not know where
the documentation or my understanding may have been missled (R docs, Numerical
Recipes, or any other source I looked at since I started).


First, please look up `too' in your dictionary.

Second, please study the references on the help page, which give the
details.  That is what references are for!  The references will also
answer your question about the reference distribution.

The help page does not say it is `normalized' at all: it says it computes
the peridogram, and you seem unaware of the definitions of the latter (and
beware, there are more than one).

On Tue, 24 Jan 2006, Keith Chamberlain wrote:

More information about the R-help mailing list