# Bw_BPF

Advanced Analysis Library Only

AnalysisLibErrType Bw_BPF (double inputArray[], int numElements, double samplingFreq, double lowerCutoffFreq, double upperCutoffFreq, int order, double outputArray[]);

## Purpose

Filters the input array using a Butterworth bandpass digital filter. Bw_BPF can perform the operation in place; that is, the input and output arrays can be the same.

### Example

/* Generate a random signal and filter it using a fifth-order bandpass Butterworth filter. The pass band is from 200.0 to 300.0. */
double x[256], y[256], fs, fl, fh;
n, order;
int status;
n = 256;
fs = 1000.0;
fl = 200.0;
fh = 300.0;
order = 5;
Uniform (n, 17, x);
status = Bw_BPF (x, n, fs, fl, fh, order, y);

## Parameters

Input
Name | Type | Description
inputArray | double-precision array | Array containing the raw data to filter.
numElements | integer | Number of elements in both the input and output array.
samplingFreq | double-precision | Sampling frequency in Hertz.
lowerCutoffFreq | double-precision | Lower cutoff frequency in Hertz.
upperCutoffFreq | double-precision | Upper cutoff frequency in Hertz.
order | integer | Filter order. Default Value: 5.
Output
Name | Type | Description
outputArray | double-precision array | Filtered data.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.