计算a&的方程式b用于Java中DSP带通滤波的系数

时间:2015-11-05 02:24:45

标签: java signal-processing

实际上我是这个DSP领域的新人,也是这个回答社区的问题。 目前我正在编写Java程序来使用AMDF从wav文件中检测音高(音高检测)。我这样做了 问题是,我没有使用任何过滤器来消除不需要的频率。所以,我做了一些研究并最终在这里Tarsos DSP - Bandpass IIRFilter。 实际上我没有代码的问题,我只是混淆了他用来计算系数的方程式。我已经向他询问了参考资料(还没有回复),阅读了文档,并阅读了一些关于IIR数字滤波器的书籍,但没有找到关于参考文献的线索。 任何人都可以指出我对此代码的强烈推荐:

protected void calcCoeff()
  {
    float R = 1 - 3 * bw;
    float fracFreq = getFrequency() / getSampleRate();
    float T = 2 * (float) Math.cos(2 * Math.PI * fracFreq);
    float K = (1 - R * T + R * R) / (2 - T);
    a = new float[] { 1 - K, (K - R) * T, R * R - K };
    b = new float[] { R * T, -R * R };
  }

0 个答案:

没有答案