Skip to content

Low Pass filter: different results in versions 0.5.0 and 0.6.0 #15

@h28669

Description

@h28669

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions