This function computes the Fejér kernel.
FEJER — Function value. (Output)
M — Spectral window parameter. (Input)
RANGLE — Angle in radians. (Input)
EPS — Positive
bound on |RANGLE| that
determines when an approximation to the Fejér kernel is appropriate.
(Input)
EPS
must be between 0 and π inclusive. The approximation is used when |RANGLE| is less than
EPS.
Generic: FEJER(M, RANGLE, EPS)
Specific: The specific interface names are S_FEJER and D_FEJER.
Single: FEJER(M, RANGLE, EPS)
Double: The double precision name is DFEJER.
Routine FEJER evaluates the Fejér kernel, FM(θ), for a given parameter M, angle θ = RANGLE, and tolerance ε = EPS. The computational form of the function is given by
The first case is an approximation to FM(θ) for small θ, and the second case is the usual theoretical definition.
In spectral analysis, the Fejér kernel corresponds to the modified Bartlett spectral window, and M is called the spectral window parameter. Since the Fejér kernel is nonnegative for all values of θ, the modified Bartlett estimate of the spectral density is also nonnegative. This is a desirable property since the true spectral density is a nonnegative function. See Priestley (1981, pages 439–440) and Anderson (1971, pages 508–511) for further discussion.
1. The Fejér kernel is equivalent to the modified Bartlett spectral window. The spectral window parameter denotes the truncation point in the weighted sum of sample autocovariances used to estimate the spectral density.
2. The Fejér kernel produces nonnegative values for all values of RANGLE. Thus, spectral windows based on the Fejér kernel are always nonnegative.
3. The Fejér kernel is defined between −π and π, inclusive, and is zero otherwise.
In this example, FEJER is used to compute the Fejér kernel at θ = ±kπ/M for k = 0, 1, …, M where M = 11 and ε = 0.01.
USE UMACH_INT
USE FEJER_INT
IMPLICIT NONE
INTEGER K, M, NOUT
REAL EPS, PI, REAL, THETA, WT
INTRINSIC REAL
!
M = 11
EPS = .01
PI = 3.14159265
CALL UMACH (2, NOUT)
!
WRITE (NOUT,99998)
99998 FORMAT (' K THETA WEIGHT ')
DO 10 K=0, M
THETA = (PI*REAL(K))/REAL(M)
WT = FEJER(M,THETA,EPS)
WRITE (NOUT,99999) K, THETA, WT
99999 FORMAT (1X, I2, 2(3X,F8.5))
10 CONTINUE
!
END
K THETA
WEIGHT
0 0.00000
1.75070
1 0.28560
0.71438
2 0.57120
0.00000
3 0.85680
0.08384
4 1.14240
0.00000
5 1.42800
0.03374
6 1.71360
0.00000
7 1.99920
0.02044
8 2.28479
0.00000
9 2.57039
0.01572
10 2.85599
0.00000
11 3.14159 0.00000
PHONE: 713.784.3131 FAX:713.781.9260 |