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