# FLATTOPWIN

## Purpose:

Multiplies a series with an alternate 4 term Flattop window.

## Syntax:

FLATTOPWIN(series, ampflag, "sym")

series

-

A series or array.

ampflag

-

Optional. An integer, the amplitude correction flag:

 0 : do not correct amplitude (default) 1 : correct amplitude 2 : correct RMS amplitude 3 : correct mean squared amplitude

"sym"

-

Optional. A string, the symmetry flag:

 "symmetric" : Starting and ending points are equal (default). "periodic" : Periodically extended window where the symmetric end point is removed.

## Alternate Syntax:

FLATTOPWIN(N, ampflag, "sym")

N

-

An integer, the window length.

ampflag

-

Optional. An integer, the amplitude correction flag:

 0 : do not correct amplitude (default) 1 : correct amplitude 2 : correct RMS amplitude 3 : correct mean squared amplitude

"sym"

-

Optional. A string, the symmetry flag:

 "symmetric" : Starting and ending points are equal (default). "periodic" : Periodically extended window where the symmetric end point is removed.

## Returns:

A series or array.

## Example:

W1: gsin(1000, .001, 45)

W2: spectrum(flattopwin(W1))

W1 is multiplied by an alternate symmetric flattop window. The MAX of W2 == 0.215363 at 45 Hertz. The window is created by the formula:

where N is the length of the window and n is the nth point (1 <= n <= N).

## Example:

W3: flattopwin(1000, "periodic")

Generates a 1000 point alternate periodic flattop window.

where N is the length of the window and n is the nth point (1 <= n <= N).

## Remarks:

The Flattop window preserves the amplitude of a series at the expense of frequency resolution. It will accurately measure the amplitude of a series at any frequency, even if the frequency lies between FFT bins.

If ampflag == 1, the correction factor is the mean of the spectral window. This assures that the spectrum of a sinusoid of amplitude A has a peak of A.

If ampflag == 2, the correction is applied as follows:

w = flattopwin(s) * rms(s) / rms(flattopwin(s))

This assures that:

sqrt(area(psd(w))) == rms(s) approximately

If ampflag == 3, the correction is applied as follows:

w = winfun(s) / sqrt(mean(win * win)

where win is the windowing function.

The "sym" flag controls the window symmetry as follows:

"Symmetric" sets the last point to be the same value as the first point. For an N point symmetric window, a N-1 point periodic window is effectively created and the Nth point is set to the first point.

"Periodic" creates a periodic window function useful in spectrum analysis applications.

The Hamming, Hanning, Flattop and Blackman windows are part of the family of cosine window functions. The ISO 18431-1 standard periodic form of these windowing functions are defined by:

where K is the number of window coefficients and N is the length of the window. The symmetric form of the window can be constructed by setting N to N-1.

For the alternate 4 point flattop window:

However, these coefficients do not conform to the ISO standard for a flattop window. See FLATTOP for an ISO 18431-1 compatible flattop window.

See GFLATTOPWIN to generate an alternate 4 point Flattop window.

BLACKMAN

FLATTOP

GFLATTOP

GFLATTOPWIN

HAMMING

HANNING

KAISER

PSD

SPECTRUM

WINFUNC