public IList <float> Resample(IList <float> data, float sourceRate, float targetRate) { var unfiltered = _baseResampler.Resample(data, sourceRate, targetRate); if (targetRate > sourceRate) { var filter = _filterProvider.Get(FilterType.LowPass).First(); var context = filter.Create(targetRate, sourceRate / 2); return(context.Filter(unfiltered)); } else { return(unfiltered); } }