Dataplot Vol 2 Vol 1

LOW PASS FILTER

Name:
LOW PASS FILTER (LET)
Type:
Let Subcommand
Purpose:
Compute a low-pass filter or a high-pass filter for a variable.
Description:
Low-pass filters are used to remove high frequency noise from a time series where the time series is assummed to contain equally spaced points. Dataplot computes the low-pass filter using the LOPASS routine from the STARPAC library (developed by Janet Rodgers and Peter Tyrone formerly of NIST). The LOPASS routine is in turn based on the codes of Peter Bloomfield (see Reference section below).

The low-pass filter contains two basic steps:

1. Compute symmetric low-pass filter coefficients using a least squares approximation to an ideal low-pass filter (this step is perfomed by the Starpac LPCOEF routine). This routine has convergence factors to reduce overshoot and ripple and has a transfer function which changes from approximately one to zero in a transition band about the ideal cutoff frequency, FC. That is, from (FC - 1/K) to (FC + 1/K).

You need to specify the cutoff frequency in cycles per sample interval and the number of filter coefficients. The conditions on these choices are:

• FC must be between 0.0 and 0.5.

• The number of filter coefficients must be odd.

• (FC - 1/K) > 0 and (FC + 1/K) < 0.5.

• Sharp cutoffs occur when 1/K is small.

• (K-1)/2 data points will be lost from the filtered series.

The Program example below demonstrates setting these parameters.

2. The coefficients computed in step 1 are used to filter the original series.

For any low-pass filter, there is a corresponding high-pass filter equivalent to subtracting the low-pass filtered series from the original series (i.e., you are extracting the high frequency component). Dataplot uses the Starpac HIPASS routine to compute the high-pass filter.

Syntax 1:
LET <y> = LOW PASS FILTER <x>
<SUBSET/EXCEPT/FOR qualification>
where <x> is a response variable;
<y> is the response variable after computing the low-pass filter;
and where the <SUBSET/EXCEPT/FOR qualification> is optional.
Syntax 2:
LET <y> = HIGH PASS FILTER <x>
<SUBSET/EXCEPT/FOR qualification>
where <x> is a response variable;
<y> is the response variable after computing the high-pass filter;
and where the <SUBSET/EXCEPT/FOR qualification> is optional.
Examples:
LET YOUT = LOW PASS FILTER Y
LET YOUT = HIGH PASS FILTER Y
Default:
None
Synonyms:
None
Related Commands:
 FFT = Compute the fast Fourier transform. INVERSE FFT = Compute the inverse of the fast Fourier transform. COSINE TRANSFORM = Compute the cosine transformation. SINE TRANSFORM = Compute the sine transformation. SPECTRAL PLOT = Generate a spectral plot.
Reference:
Peter Bloomfield, 1976, "Fourier Analysis of Time Series: An Introduction", John Wiley and Sons, p. 149.

Janet R. Donaldson and Peter V. Tryon (10/5/1987), "User's Guide to STARPAC The Standards Time Series and Regression Package", U.S. Department of Commerce Center for Applied Mathematics National Bureau of Standards Boulder, Colorado 80303

Applications:
Signal Processing, Time Series
Implementation Date:
2012/9
Program:
```
. PURPOSE--REMOVE HIGH FREQUENCY CONTAMINATION FROM A SIGNAL
. ANALYSIS TECHNIQUE--LOW PASS FILTER (STARPAC ROUTINE LOPASS)
.
. -----START POINT-----------------------------------
.
DIMENSION 20 VARIABLES
.
.      STEP 1-- DEFINE THE PURE SIGNAL DEFINE THE CONTAIMINATION
.               COMBINE PURE + CONTAMINATION TO YIELD THE OBSERVED
.               RESPONSE PLOT
.
LET X = SEQUENCE 0 .1 25.55
LET YS = SIN(X)
LET YN = NORMAL RANDOM NUMBERS FOR I = 1 1 256
LET YN = YN/10
LET Y = YS+YN
MULTIPLOT SCALE FACTOR 2
MULTIPLOT CORNER COORDINATES 5 5 95 95
MULTIPLOT 2 2
YLIMITS -2 2
Y1LABEL AUTOMATIC
PLOT YS
PLOT YN
PLOT Y
YLIMITS
END OF MULTIPLOT
.
LET N = SIZE Y
LET X = SEQUENCE 8 1 249
MULTIPLOT 2 3
LET KTERM  = 15
LET FC = 0.05
LET YFILTL0 = LOW  PASS FILTER Y
TITLE FC = 0.05
PLOT YFILTL0 X
LET FC = 0.1
LET YFILTL1 = LOW  PASS FILTER Y
TITLE FC = 0.1
PLOT YFILTL1 X
LET FC = 0.2
LET YFILTL2 = LOW  PASS FILTER Y
TITLE FC = 0.2
PLOT YFILTL2 X
LET FC = 0.3
LET YFILTL3 = LOW  PASS FILTER Y
TITLE FC = 0.3
PLOT YFILTL3 X
LET FC = 0.4
LET YFILTL4 = LOW  PASS FILTER Y
TITLE FC = 0.4
PLOT YFILTL4 X
END OF MULTIPLOT
```

Date created: 01/23/2013
Last updated: 01/23/2013