【问题标题】:Filter data from different channels in real time实时过滤来自不同渠道的数据
【发布时间】:2020-06-18 14:20:17
【问题描述】:

我正在尝试从 3 个通道中实时过滤数据。我使用 Mathnet 库。鉴于我实时过滤并且过滤器是因果的,我是否需要为每个通道创建一个过滤器?我不确定是否需要实现选项 A 或选项 B。

选项 A:1 个过滤器用于所有渠道

static MathNet.Filtering.OnlineFilter bandpassFilter;
private void CreateFilter()
{
    bandpassFilter = MathNet.Filtering.OnlineFilter.CreateBandpass(MathNet.Filtering.ImpulseResponse.Finite, fs, fc1, fc2, order);
}

private double[,] FilterData(double[,] unfilteredData)
{
    double[] chFilteredData;
    double[,] filteredData = new double[unfilteredData.GetLength(0), unfilteredData.GetLength(1)];
    for (int channel = 0; channel < numChannels; channel++)
    {
        chFilteredData = bandpassFilter.ProcessSamples(unfilteredData.GetRow(channel));
        filteredData.SetRow(channel, chFilteredData);
    }
    return filteredData;
}

选项 B:每个通道 1 个过滤器

List<MathNet.Filtering.OnlineFilter> bandpassFilters;
private void CreateFilters()
{
    for (int channel = 0; channel < numChannels; channel++)
        bandpassFilters[channel] = MathNet.Filtering.OnlineFilter.CreateBandpass(MathNet.Filtering.ImpulseResponse.Finite, fs, fc1, fc2, order);
}

private double[,] FilterData(double[,] unfilteredData)
{
    double[] chFilteredData;
    double[,] filteredData = new double[unfilteredData.GetLength(0), unfilteredData.GetLength(1)];
    for (int channel = 0; channel < numChannels; channel++)
    {
        chFilteredData = bandpassFilters[channel].ProcessSamples(unfilteredData.GetRow(channel));
        filteredData.SetRow(channel, chFilteredData);
    }
    return filteredData;
}

【问题讨论】:

    标签: c# signal-processing mathnet-filtering


    【解决方案1】:

    对于包含递归状态的 IIR 过滤器,您需要选项 B,否则如果您重复使用 1 个过滤器,过滤一个通道的任何保留状态都会污染其他通道的处理。对于全状态(重叠添加/保存)FIR 滤波器也是如此。

    对于无状态(non-overlap-add/save)FIR滤波器,每个滤波器操作的输出只依赖于输入,所以你可以把它当作函数式编程,使用选项A。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 2013-08-01
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多