Admin Production ni-theme
Current Publication

EquiRpl_BPFiltering

LabWindows/CVI

EquiRpl_BPFiltering

Advanced Analysis Library Only

AnalysisLibErrType EquiRpl_BPFiltering (double inputArray[], ssize_t numberOfElements, int numberOfCoeffs, double samplingFrequency, double f1, double f2, double f3, double f4, double outputArray[]);

Purpose

Filter the real array using a optimal bandpass FIR linear phase filter with equi-ripple characteristics.

Example Code

/* Design a 51-point bandpass FIR filter and filter the real incoming signal. */
double x[256], y[306];
double fs, f1, f2, f3, f4;
int n, ncoef;
fs = 1000.0; // sampling frequency
f1 = 200.0; // first stop band [0, 200]
f2 = 250.0; // pass band [250, 350]
f3 = 350.0;
f4 = 400.0; // second stop band [400, fs/2]
n = 256; // input signal length
ncoef = 51; //filter length
WhiteNoise (n, 1, 17, x);

EquiRpl_BPFiltering(x, n, ncoef, fs, f1, f2, f3, f4, y);

Parameters

Input
Name Type Description
inputArray double [] Array containing the raw data to filter.
numberOfElements ssize_t Number of elements in the input array inputArray.
numberOfCoeffs int Length of the FIR filter. numberOfCoeffs must be greater than 2.

samplingFrequency double Sampling frequency in Hertz.
f1 double Highest frequency of the lower stop band. The lower stop band is [0, f1].
f2 double Lowest frequency of the pass band. The pass band is [f2, f3].
highestPassFreq double Highest frequency of the pass band. The pass band is [f2, f3].
lowestStopFreq double Lowest frequency of the upper stop band. The upper stop band is [f4, samplingFreq/2].
Output
Name Type Description
outputArray double [] Filtered data. This array must be at least (n + ncoef - 1) elements long.

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.

Additional Information

Library: Advanced Analysis Library

Include file: analysis.h

LabWindows/CVI compatibility: LabWindows/CVI 2012 and later