我使用 MATLAB 设计了一个带有一些系数的 FIR 滤波器。
我有一个归一化为-+1 的数组。数组是浮动的。
我使用这种方法将 FIR 应用于数组,但我不确定这是否可以:
public static float[] FirFilter(float[] b, float[] x)
{
int M = b.Length;// b == coffecients of FIR
int n = x.Length;// x == mySignalSamples
//y[n]=b0x[n]+b1x[n-1]+....bmx[n-M]
var y = new float[n];
for (int yi = 0; yi < n; yi++)
{
float t = 0.0f;
for (int bi = M - 1; bi >= 0; bi--)
{
if (yi - bi < 0) continue;
t += b[bi] * x[yi - bi];
}
y[yi] = t;
}
//return Convert.ToDouble(y);
return y;
}
我这样做对吗?