EllipticHighpassFilter Class

Measurement Studio 2019 Help

Edition Date: May 2019

Part Number: 375857B-01

»View Product Info
Download Help (Windows Only)

Members Example See Also


Note: This topic applies to the following Measurement Studio editions: Enterprise, Professional.

Implements an Elliptic highpass filter.

Namespace: NationalInstruments.Analysis.Dsp.Filters

Assembly: NationalInstruments.Analysis.Enterprise (in NationalInstruments.Analysis.Enterprise.dll) Version: 19.0.45.49153 (19.0.45.49153)

Syntax

Visual Basic (Declaration)
Public Class EllipticHighpassFilter _
	Inherits IirFilterBase

C#
public class EllipticHighpassFilter : IirFilterBase

Remarks

This filter is implemented with an IIR cascade filter. This IIR implementation is called cascade because it is a cascade of second- or fourth-order filter stages. The output of one filter stage is the input to the next filter stage for all filter stages.

Examples

The following example demonstrates how to generate a composite signal and then filter the signal using an Elliptic highpass filter.
CopyVB.NET
Dim samples As Long = 1024
Dim waveformData() As Double
Dim filteredData() As Double
Dim samplingFrequency, cutoffFrequency, stopbandRipple, stopbandAttenuation As Double
Dim filterOrder As Integer
Dim sineSignal1 As New SineSignal(20.0, 3.0, 0.0)
Dim sineSignal2 As New SineSignal(60.0, 1.0, 20.0)
Dim sineSignal3 As New SineSignal(100.0, 1.0, 40.0)
Dim signalGen As New SignalGenerator(1000.0, samples)

' Generate composite signal
signalGen.Signals.Add(sineSignal1)
signalGen.Signals.Add(sineSignal2)
signalGen.Signals.Add(sineSignal3)

waveformData = signalGen.Generate

' Set filter parameters
filterOrder = 5
samplingFrequency = 1000.0
cutoffFrequency = 100.0
stopbandRipple = 0.1
stopbandAttenuation = 60.0

' Extract 100 Hz sine signal by highpass filtering 
Dim newFilter As New EllipticHighpassFilter(filterOrder, samplingFrequency, cutoffFrequency, stopbandRipple, stopbandAttenuation)
filteredData = newFilter.FilterData(waveformData)
CopyC#
int samples = 1024;
double[] waveformData;
double[] filteredData;
double samplingFrequency, cutoffFrequency, stopbandRipple, stopbandAttenuation;
int filterOrder;
SineSignal sineSignal1 = new SineSignal(20.0, 3.0, 0.0);
SineSignal sineSignal2 = new SineSignal(60.0, 1.0, 20.0);
SineSignal sineSignal3 = new SineSignal(100.0, 1.0, 40.0);
SignalGenerator signalGen = new SignalGenerator(1000.0, samples);

// Generate composite signal
signalGen.Signals.Add(sineSignal1);
signalGen.Signals.Add(sineSignal2);
signalGen.Signals.Add(sineSignal3);

waveformData = signalGen.Generate();

// Set filter parameters
filterOrder = 5;
samplingFrequency = 1000.0;
cutoffFrequency = 100.0;
stopbandRipple = 0.1;
stopbandAttenuation = 60.0;

// Extract 100 Hz sine signal by highpass filtering
EllipticHighpassFilter newFilter = new EllipticHighpassFilter(filterOrder, samplingFrequency, cutoffFrequency, stopbandRipple, stopbandAttenuation);
filteredData = newFilter.FilterData(waveformData);

Inheritance Hierarchy

System.Object
  System.MarshalByRefObject
    NationalInstruments.Analysis.Dsp.Filters.IirFilterBase
      NationalInstruments.Analysis.Dsp.Filters.EllipticHighpassFilter

Thread Safety

Any public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.

See Also

Reference

EllipticHighpassFilter Members

NationalInstruments.Analysis.Dsp.Filters Namespace

WAS THIS ARTICLE HELPFUL?

Not Helpful