![]() | Download Help (Windows Only) |
![]() | Note: This topic applies to the following Measurement Studio editions: Enterprise, Professional. |
Implements an Elliptic bandstop filter.
Namespace: NationalInstruments.Analysis.Dsp.Filters
Assembly: NationalInstruments.Analysis.Enterprise (in NationalInstruments.Analysis.Enterprise.dll) Version: 19.0.45.49153 (19.0.45.49153)
Visual Basic (Declaration) |
---|
Public Class EllipticBandstopFilter _ Inherits IirFilterBase |
C# |
---|
public class EllipticBandstopFilter : IirFilterBase |
Dim samples As Long = 1024 Dim waveformData() As Double Dim filteredData() As Double Dim samplingFrequency, lowerCutoffFrequency, upperCutoffFrequency, 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 lowerCutoffFrequency = 20.0 upperCutoffFrequency = 150.0 stopbandRipple = 0.1 stopbandAttenuation = 60.0 ' Extract 20 Hz sine signal by bandstop filtering Dim newFilter As New EllipticBandstopFilter(filterOrder, samplingFrequency, lowerCutoffFrequency, upperCutoffFrequency, stopbandRipple, stopbandAttenuation) filteredData = newFilter.FilterData(waveformData)
int samples = 1024; double[] waveformData; double[] filteredData; double samplingFrequency, lowerCutoffFrequency, upperCutoffFrequency, 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; lowerCutoffFrequency = 20.0; upperCutoffFrequency = 150.0; stopbandRipple = 0.1; stopbandAttenuation = 60.0; // Extract 20 Hz sine signal by bandstop filtering EllipticBandstopFilter newFilter = new EllipticBandstopFilter(filterOrder, samplingFrequency, lowerCutoffFrequency, upperCutoffFrequency, stopbandRipple, stopbandAttenuation); filteredData = newFilter.FilterData(waveformData);
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.
Helpful
Not Helpful