SSWP

Estimates the nonnormalized spectral density of a stationary time series using a spectral window given the periodogram.

Required Arguments

N — Number of observations in the centered and padded time series X. (Input)
N must be greater than or equal to two.

PX — Vector of length N/2 + 1 containing the (modified) periodogram of X. (Input)
The periodogram ordinate evaluated at (angular) frequency wk = 2πk/N is given by
PX(k + 1), k = 0, 1, , N/2.

F — Vector of length NF containing the (angular) frequencies at which the spectral density is estimated. (Input)

M — Spectral window parameter. (Input)
M must be greater than or equal to one and less than N.

SX — Vector of length NF containing the estimate of the spectral density of the time series X. (Output)

Optional Arguments

NF — Number of (angular) frequencies. (Input)
NF must be greater than or equal to one.
Default: NF = size (F,1).

ISWVER — Option for version of the spectral window. (Input)
Default: ISWVER = 1.

 

ISWVER

Action

1

Modified Bartlett

2

Daniell

3

Tukey‑Hamming

4

Tukey‑Hanning

5

Parzen

6

Bartlett‑Priestley

Refer to the “Algorithm” section for further details.

FORTRAN 90 Interface

Generic: CALL SSWP (N, PX, F, M, SX [])

Specific: The specific interface names are S_SSWP and D_SSWP.

FORTRAN 77 Interface

Single: CALL SSWP (N, PX, NF, F, ISWVER, M, SX)

Double: The double precision name is DSSWP.

Description

Routine SSWP estimates the nonnormalized spectral density function of a stationary time series using a spectral window given the modified periodogram of the appropriately centered and padded data

 

 

The routine PFFT may be used to obtain the modified periodogram

 

over the discrete set of nonnegative frequencies

 

The symmetry of the periodogram is used to recover the ordinates at negative frequencies.

The estimate of the nonnormalized spectral density hX(ω) is computed according to

 

where the spectral window Wn(θ) is specified by argument ISWVER. The following spectral windows Wn(θ) are available.

Modified Bartlett

 

where FM(θ) corresponds to the Fejér kernel of order M.

Daniell

 

Tukey

 

where DM(θ) represents the Dirichlet kernel. The Tukey‑Hamming window is obtained when
a = 0.23 and the Tukey‑Hanning window is obtained when a = 0.25.

Parzen

 

where M is even. If M is odd, then M + 1 is used instead of M in the above formula.

Bartlett-Priestley

 

Only one window parameter M may be specified so that only one estimate of hX(ω) is computed. The nonnormalized spectral density is estimated over the set of frequencies

ω = ƒi,      i = 1, , nƒ

where nƒ = NF. These frequencies are in the scale of radians per unit time. The time sampling interval Δt is assumed to be equal to one.

Comments

1. The periodogram of X may be computed using the routine PFFT. Estimation of the spectral density of X using the modified periodogram preserves the scale of the spectral density up to adjustment for the time sampling interval.

2. The time sampling interval, TINT, is assumed to be equal to one. This assumption is appropriate for discrete parameter processes. The adjustment for continuous parameter processes (TINT > 0.0) involves multiplication of the frequency vector F by 1/TINT and multiplication of the spectral density estimate by TINT.

3. To convert the frequency scale from radians per unit time to cycles per unit time, multiply F by 1/(2π).

Example

Consider the Wölfer Sunspot Data (Anderson 1971, page 660) consisting of the number of sunspots observed each year from 1749 through 1924. The data set for this example consists of the number of sunspots observed from 1770 through 1869. Application of routine SSWP to these data produces the following results:

 

USE IMSL_LIBRARIES

 

IMPLICIT NONE

INTEGER LDPM, LDSM, NF, NM, NOBS

REAL PI, NPAD

PARAMETER (NF=20, NM=3, NOBS=100, PI=3.141592654, &

LDPM=NOBS, LDSM=NF)

!

INTEGER I, IPVER, ISWVER, J, M(NM), N, NCOL, NROW

REAL F(NF), PM(LDPM,5), PX(LDPM), RDATA(176,2), FLOAT, &

SM(NF,5), SX(NF), X(NOBS)

CHARACTER CLABEL(6)*9, FMT*20, RLABEL(1)*6, TITLE*60

INTRINSIC FLOAT

!

EQUIVALENCE (PX(1), PM(1,3)), (F(1), SM(1,1))

EQUIVALENCE (X(1), RDATA(22,2))

!

DATA RLABEL/'NONE'/, CLABEL/' ', 'Frequency', 'Period', &

'M = 10', 'M = 20', 'M = 30'/

! Wolfer Sunspot Data for

! years 1770 through 1869

CALL GDATA (2, RDATA, NROW, NCOL)

! Center on arithmetic mean

! Pad standard amount

NPAD = NOBS-1

! Frequency in radians per unit time

! Modified periodogram version

IPVER = 1

! Compute periodogram

CALL PFFT (X, PM, IPVER=IPVER)

! Number of observations used to

! compute the periodogram

N = NOBS + NPAD

! Determine frequency and period

! at which to evaluate the spectral

! density

DO 10 I=1, NF

SM(I,1) = PI*FLOAT(I)/FLOAT(NF)

SM(I,2) = 2.0*FLOAT(NF)/FLOAT(I)

10 CONTINUE

! Spectral window parameters

M(1) = 10

M(2) = 20

M(3) = 30

! Compute spectral density using

! the Parzen window

ISWVER = 5

DO 20 J=1, NM

CALL SSWP (N, PX, F, M(J), SX, ISWVER=ISWVER)

! Copy into SM

CALL SCOPY (NF, SX, 1, SM(1:,2+J), 1)

20 CONTINUE

! Print results

TITLE = 'Spectral Density Using the Parzen Window'

FMT = '(F9.4, F6.2, 3F10.2)'

CALL WRRRL (TITLE, SM, RLABEL, CLABEL, FMT=FMT)

! Compute spectral density using

! the Bartlett-Priestley window

ISWVER = 6

DO 30 J=1, NM

CALL SSWP (N, PX, F, M(J), SX, ISWVER=ISWVER)

! Copy into SM

CALL SCOPY (NF, SX, 1, SM(1:,2+J), 1)

30 CONTINUE

! Print results

TITLE = '%/Spectral Density Using the Bartlett-Priestley '// &

& 'Window'

CALL WRRRL (TITLE, SM, RLABEL, CLABEL, FMT=FMT)

!

END

Output

 

Spectral Density Using the Parzen Window

Frequency Period M = 10 M = 20 M = 30

0.1571 40.00 659.64 617.42 619.73

0.3142 20.00 666.95 554.70 339.61

0.4712 13.33 653.73 770.64 860.49

0.6283 10.00 598.77 857.80 1046.13

0.7854 8.00 497.47 582.85 550.77

0.9425 6.67 367.72 266.33 186.98

1.0996 5.71 240.65 121.46 104.79

1.2566 5.00 142.41 76.17 76.74

1.4137 4.44 81.28 54.20 47.19

1.5708 4.00 49.13 40.16 41.39

1.7279 3.64 32.57 27.58 26.46

1.8850 3.33 22.44 16.52 14.40

2.0420 3.08 15.53 10.93 9.87

2.1991 2.86 11.19 8.30 8.32

2.3562 2.67 8.66 6.18 5.86

2.5133 2.50 6.93 4.75 4.22

2.6704 2.35 5.51 4.62 4.35

2.8274 2.22 4.47 4.91 5.24

2.9845 2.11 3.61 4.23 4.75

3.1416 2.00 2.62 2.44 2.27

 

Spectral Density Using the Bartlett-Priestley Window

Frequency Period M = 10 M = 20 M = 30

0.1571 40.00 604.34 712.73 757.61

0.3142 20.00 564.28 176.81 107.08

0.4712 13.33 767.63 927.14 981.10

0.6283 10.00 900.32 1190.30 1172.23

0.7854 8.00 607.45 494.85 571.65

0.9425 6.67 237.16 127.65 87.36

1.0996 5.71 103.34 113.93 135.34

1.2566 5.00 75.74 74.88 57.57

1.4137 4.44 52.64 44.98 38.59

1.5708 4.00 38.50 44.56 50.59

1.7279 3.64 27.35 25.28 21.76

1.8850 3.33 15.68 13.84 13.10

2.0420 3.08 10.33 9.79 7.41

2.1991 2.86 7.95 8.31 8.67

2.3562 2.67 6.04 5.86 7.08

2.5133 2.50 4.56 3.67 2.90

2.6704 2.35 4.44 4.38 4.06

2.8274 2.22 4.99 5.62 5.40

2.9845 2.11 4.31 5.07 5.08

3.1416 2.00 2.43 2.23 2.44