protected internal override IOnlineFilter CreateBandStop(FilterDesignSettings settings, double lowFrequency, double highFrequency) { return Create(Design(FilterKind.BandStop, settings.Order, CalculateRipple(settings), settings.NormalizeFrequency(lowFrequency), settings.NormalizeFrequency(highFrequency))); }
protected internal override IOnlineFilter CreateNotch(FilterDesignSettings settings, double frequency) { const double notchHalfWidth = 0.5; // Hz return Create(Design(FilterKind.BandStop, settings.Order, CalculateRipple(settings), settings.NormalizeFrequency(frequency - notchHalfWidth), settings.NormalizeFrequency(frequency + notchHalfWidth))); }
protected internal override IOnlineFilter CreateHighPass(FilterDesignSettings settings, double frequency) { return Create(Design(FilterKind.HighPass, settings.Order, CalculateRipple(settings), settings.NormalizeFrequency(frequency))); }