首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

采用FPGA实现多种类型的数字信号处理滤波器(3)

采用FPGA实现多种类型的数字信号处理滤波器(3)

实际设计

上面的内容现已详细说明了窗式正弦滤波器的情况、视窗应用的重要性以及如何生成不同拓扑的滤波器。不过在 FPGA 中实现滤波器之前,必须使用如 Octave、MATLAB或者 Excel等一种软件工具生成一组滤波器系数。许多这些工具都可提供简化的界面和选项,帮助用户以最少的工作量完成滤波器设计,MATLAB 中的 FDA 工具就是最好的示例。

在为所需滤波器生成一组系数后,就可在 FPGA 中实现滤波器。无论决定采用的抽头数量多寡,FIR 滤波器每一级的基本结构是不变的,总是由乘法器、存储以及加法器构成。

现在在许多应用中都可看到数字滤波器的身影,而 FPGA 则可为使用它们的系统设计人员带来显著优势。

大多数工程师青睐的、迄今为止最简单的方法是使用赛灵思 COREGenerator? 工具的 FIR Compiler,其可为定制和生成高级滤波器提供多种选项。用户可将生成的系数以 COE 文件形式导入 FIR Complier。该文件内含已经为基数赋值的各种滤波器系数。

Radix=10;
Coefdata =
-0.013987944,
-0.01735736,
-0.005971498,
0.012068368,
0.02190073,

将这些系数加载后,FIR Compiler将显示与所提供系数相对应的该滤波器频率响应,以及阻带衰减与通带纹波等基本性能特征。

在使用 FIR Compiler 工具完成滤波器定制后,只要用户使用的是正确的仿真库,CORE Generator 就可生成实现设计以及在实现之前的行为仿真过程中对其仿真所需的全部文件。

如果愿意,用户还可以使用用户自己生成的 HDL 实现该滤波器。这种方法一般只有在用户最终实施目的是ASIC,只是将 FPGA 实施用作原型设计系统时使用。在这种情况下,第一步是量化滤波器系数,以便使用浮点结果的固定数字表示。由于滤波器系数可以为正,也可以为负,常见的做法是采用二的补码格式表示这些系数。在完成系数的量化后,就可将其当作常数用于HDL 设计中。

现在在许多应用中都可看到数字滤波器的身影,而 FPGA 则可为需要使用它们的设计人员带来显著优势。使用基本数学工具,结合 FPGA 内核生成工具或者直接使用 HDL,可便捷设计和实现窗式正弦滤波器。
继承事业,薪火相传
返回列表