用Verilog在FPGA上实现低通滤波器

在本文中,我们将简要介绍不同类型的过滤器,然后学习如何实现移动平均过滤器并使用CIC架构对其进行优化。
在许多设计中,过滤非常重要。它为我们提供了一个机会,可以提取埋在很多噪声下的所需信号。我们还可以通过在某些频率上过滤其输出来确定系统的非线性。

让我们首先讨论过滤器类型之间的一些差异。

理论
过滤器的类型
过滤器可根据通带类别划分为以下5组中的一种。每一种的能力都以他们的名字提示。例如,低通滤波器是一种通过低频输入并阻止高频输入等的滤波器。

五种类型是:

低通
带通
带阻
高通
全通
过滤器也有不同的形状。例如,它们的通带上可能有波纹,或者它们可能具有平坦的过渡带等。

过滤器形状

过滤器通常可按形状分类如下:

贝塞尔: 与其他人相比,最平坦的群体延迟
巴特沃斯: 设计为在通带内具有最平坦的幅度响应; 也被称为“最大平坦”
切比雪夫: 设计为在理想滤波器和实际滤波器之间具有最小误差; 可以分为两种类型:通带中具有纹波的和阻带中具有纹波的。
椭圆:在通带和阻带都有波纹,但是它们在通带和阻带之间有最快的过渡
选择过滤器的形状取决于所需的规格。例如,我们可能需要输出信号幅度尽可能精确地跟随通带中的输入信号幅度。在这种情况下,我们应该使用巴特沃斯滤波器,即使它会给我们更多的过渡带。

另一方面,我们可能希望输出信号频率精确地跟随输入信号的线性相位响应,因此我们应该选择贝塞尔滤波器。如果我们需要使用尽可能少的组件并且具有与其他滤波器相同的顺序和转换速度,则椭圆或切比雪夫滤波器可以工作,但是我们在通过或阻带中会出现波纹。

Verilog实现程序,点击此链接

模拟和数字滤波器
在另一方面,滤波器可以以两种方式构造:数字和模拟。

在模拟电路中,无源滤波器是电感器和电容器或电阻器的阶梯。有源模拟滤波器可以是利用放大器或谐振器的结构。只需使用已经为设计模拟滤波器创建的表或应用程序,即可确定它们的值。

可以使用IIR和FIR两种方法创建数字滤波器。IIR(无限脉冲响应)滤波器是滤波器的类型,其中输出取决于输入和先前的输出。
用Verilog在FPGA上实现低通滤波器_第1张图片
图1. IIR滤波器。

数字滤波器的另一种滤波器实现是FIR(有限脉冲响应)。它们不使用反馈,输出仅与当前和先前的输入相关。关于稳定性,FIR滤波器总是稳定的, 因为它们的输出仅与输入有关。另一方面,他们需要高阶以满足与IIR相同的规格
用Verilog在FPGA上实现低通滤波器_第2张图片
图2. FIR滤波器

移动平均线
移动平均线是一个过滤器,它平均先前输入的N个点并使用它们输出。
在这里插入图片描述
如您所见,移动平均滤波器是一个FIR滤波器,其N系数为 1/N。具有不同N的一些移动平均滤波器的频率响应如图3所示。
用Verilog在FPGA上实现低通滤波器_第3张图片
更多内容,点击关注国外课栈网“电子物语”专栏

你可能感兴趣的:(电子)