-
Notifications
You must be signed in to change notification settings - Fork 84
Description
I have upgraded our project from Math.Net.Filtering 0.5.0 to 0.6.0 Now I get completely different results with LowPass filter.
Example
var frequency = 1d / 360d;
var samplingFrequency = 0.1; // Nyquist: sampling rate must be at least double the frequency
var amplitude = 1;
var seriesLength = 10;
var input = Generate.Sinusoidal(seriesLength, samplingFrequency, frequency, amplitude);
var filter = new LowPassFilter();
Result with 0.5.0 {0, 0.032, 0.203, 0.4, 0.584, 0.751, 0.895, 1.012, 1.098, 1.151};
Result with 0.6.0 {0, -0.003, -0.004, -0.005, -0.008, -0.007, -0.01, -0.009, -0.009, -0.012}
Which one is correct? Do I need to change something when setting up filter?
Within my wrapper class "LowPassFilter" the filter is created as follows:
The values used are: filter.CutOffFrequency = 0.04; filter.OrderOfFilter = 2;
protected override OnlineFilter CreateFilter() {
return OnlineFilter.CreateLowpass(ImpulseResponse.Finite, SamplingFrequency, CutOffFrequency.Value, OrderOfFilter);
}
Thanks for help
Gianni