FIRM频率响应

时间:2013-04-02 10:02:38

标签: java signal-processing

我是DSP的新手。我正在尝试在java上创建用于教育目的的应用程序。 我想计算FIR滤波器系数并绘制它的频率响应。

计算系数我想要使用ifft理想的频率响应,这基本上是矩形窗口。 我可以用这种方法和我的FIR滤波信号计算系数。 然后我想探索它的频率响应。据我所知,我可以从滤波器通过fft的脉冲响应得到它(但那么它将是相同的矩形窗口,对吧?)。 我得到了相同的矩形理想频率响应,但我想要真正的频率响应。就像那张照片。

enter image description here

我该怎么做?

2 个答案:

答案 0 :(得分:0)

记住使用fft或ifft你假设你的信号是周期性的(所以它不是一个矩形,它是无限的)。此外,理想的响应是幅度矩形窗口和LINEAR同相。所以你必须制作一个具有线性相位的信号,如

F = exp(-i*w*0.1);
F(51:end-50) = 0;
impulse = real(ifft(F));

你仍然会有虚部(但它会非常小),因为当你将高通频带“归零”时相位不精确。在该示例中,50将是截止频率,0.1是期望的群延迟。

答案 1 :(得分:0)

  1. 创建理想的频率响应。
  2. 使用理想频率响应创建过滤器使用系数。
  3. 要计算实际频率响应,请向系数数组添加零,并调用该数组的fft。 我的问题是,我没有在系数数组中添加零。当然,根据系数,我会获得相同的理想频率响应。