基于fpga的数字高通滤波器设计内容摘要:

使用一些简单的算法。 这些优势使得 FIR 数字滤波器已成为设计工程师的首选。 采用 VHDL 硬件描述语言或用 VerilogHDL 设计数字滤波器。 自写程序往往不能达到很好的优化,使得在性能 一般 ,但良好的IPcore Altera 公司需要 收费的。 因此, 使用 DSP Builder 的 FPGA 设计方法, FIR滤波器设计的基础上更加简单,同时也能满足设计要求。 FIR 滤波器 的 原理 FIR 滤波器系统 是有限长 的冲激响应,具体的 FIR 滤波器可用下 列式子 表示: ( ) 在上述公式 式 中: x(nr)表示的是 延时, r 则代表的是 FIR 滤波器的抽头数; b(r)为 第 r 级抽头数 (即 单位脉冲响应 ); M 是滤波器阶数;滤波器的输出序列由 y(n)表示。 滤波器就是 为了找到一个 可实现的系统函数 H(z),使其频率响应H(ejω)满足 条件 的频域信号 , 用卷积的形式表示 如下式 : y(n)=z(n)*h(n) ( ) FIR 滤波器 的 参数选取 使用 Matlab软件中 的滤波器专用设计工具 FDAtool仿真设计的 数字 滤波器,可以 满足要求的 FIR滤波器幅频特性, 因为 浮点小数在 FPGA中实现得比较困难, 并且 成本太高 ,因而需要将滤波器的系数和输人数据转化为整数, 量化后的系数可以在软件中直接进行转换 , 将 输入 的 数据,乘以 28的增益用 Altbus来 控制位宽 实现数据转换成整数输入。 湖南工业大学本科毕业设计(论文) 7 第 3 章 数字滤波器的总体设计方案 FIR 和 IIR 设计方法概述 IIR 数字滤波器设计方 法 [7]有脉冲响应不变法和双线性变换法等; FIR 数字滤波器设计方法有窗函数法、频率采样法、切比雪夫逼近法等。 FIR 滤波器和 IIR 滤波器 的设计方法各有千秋。 IIR 滤波器的设计方法可以有两种类型的设计方法,我们经常使用的设计方法是通过开展模拟滤波器设计方法的手段。 它的机身设计的步骤是:首先,模拟滤波器的设计一个方法来获得传递函数 Ha(s) ,然后 将 Ha(s)转换数字滤波器系统函数 H(z)。 这个类的方法是比较容易一些,这是因为模拟滤波器的设计方法已经非常成熟,它不仅有完整的设计公式,而且还拥有完善的图表以供 查阅。 此外,还有一些提供给我们一些典型数字滤波器的类型。 另一种是直接在时域到频域或设计,由于联立方程组的解,设计者需要使用计算机辅助设计做出。 FIR 数字滤波器不能用于转换模拟滤波器设计方法是经常使用窗函数法和频率采样法。 还有种方法更有效,如波纹切比雪夫逼近法,你需要通过计算机辅助设计完成。 对于线性相位滤波器 来说 ,通常采用 FIR 数字 滤波器,其单位脉冲响应 该 满足一定 的 条件,可以证明其相位特性在整个频带中是 有 严格线性的,这是模拟滤波器 所不能达到的。 当然, 我们 也可以采用 IIR 滤波器,但必须使用全通网络对其非线性 相位特性进行相位校正,这样增加了 我们 设计与现实的复杂性。 滤波器设计方法比较 目前 数字 滤波器的实现方法 大致有 三种:利用单片通用集成电路、 DSP 器件和可编程逻辑器件实现。 单片通用集成电路 目前针对 DSP 算法的集成电路器件主要 有 ASSP 和 ASIC,它们 都 是半定制集成电路, 所以 在性能指标、工作速度和可靠性上具有不可比拟的优势。 但 是 这种芯片的开发周期长、开发成本高,特别是在功能重构以及应用性修正上缺乏灵活性, 所以 正在逐渐失去 其 实用性。 专用的 DSP 器件 在过去 的持续很长 一段时间 里 , DSP 应用系统 的 核心器件惟一选择 就 是 DSP处理器 (如 TI 的 TMS320 系列 )。 虽然 DSP 处理器在硬件结构上不断 的 改进,但是 并没有摆脱传统 CPU 的工作模式。 因此 ,尽管 它 拥有多个硬件乘加器,使用了基于 FPGA 数字高通滤波器设计 8 环形叠代的方法进行乘法操作,且许多 DSP 处理器还拥有使用多乘法器的并行指令,用于加速算术运算,然而由于其顺序的工作方式、较低的数据处理速率,以及缺乏实时工作的性能,使 得 其至今仍只适 用 于低端的数字信号处理。 面对迅速变化的 DSP 应用市场,特别是 在 面对现代通信技术的发展, DSP 处理器早 已经 显得力 不从心。 如其硬件结构的不可变性导致了 它的 总线的不可改变性,固定的数据总线宽度,已成为 DSP 处理器难以通过一个的瓶颈。 这个固定的 DSP 处理器的硬件结构,没有特别适合于许多现有的应用程序所需的结构特性可在任何时候被改变,即所谓的面向用户的类型的 DSP 系统或可重构 DSP 应用(定制 DSP 或可重构 DSP 等类型),如软件定义无线电,医疗设备,导航,工业控制等各个方面。 至于速度,以满足要求,采用顺序执行的 CPU 架构,更是不堪重负的 DSP 处理器。 FPGA(现场可编程门阵列)器件 FPGA 采用了逻辑单元阵列 LCA( Logic Cell Array) 的概念,内部包括可配置逻辑模块 CLB( Configurable Logic Block) 、输出输入模块 IOB( Input Output Block) 和内部线 ( Interconnect) 三个部分。 用户可 以 对 FPGA 内部的逻辑模块和I/O 模块 进行 重新配置, 来 实现用户的逻辑。 它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。 FPGA 构成的 DSP 电路可以同样以并行或顺序方式 来 工作。 如图 图 DSP处理器顺序 工作方式与 FPGA的并行工作方式 在并行工作, FPGA 和 ASIC / ASSP 性能相当,但比 DSP 处理器好得多。 DSP处理器需要大量的计算为在指令方面所做的工作, FPGA 就可以在一个时钟周期来完成。 在 顺序 执行方面, FPGA 比 DSP 处理器, FPGA 的速度更快,因为不同的状态机可以使用,或嵌入式微处理器来完成的工作,并为每个时钟周期的工作顺序是并行执行多个同时执行, DSP 处理器,其未完成。 在灵活性方面, FPGA 的灵活性远远高于 ASIC / ASSP,也比 DSP 处理器更好。 综上所述, 虽然 单片通用集成电路使用方 便,但 还是弥补不了它因为 字长和阶数的规格较少, 不能满足实际的需求。 而 DSP 器件 的使用 实现虽简单,但 是 由于程序顺序执行, 程序的 执行速度 必定会受到影响。 而 FPGA 规整的内部逻辑阵列和丰富的连线资源 的特点 ,特别适合于数字信号处理任务,相对于 以 串行运算为乘加操作 乘加操作乘加操作乘加操作乘加操作D S P 引擎F P G A 器件( 并行工作方式 )1 个时钟并行操作顺序 ( 串行 ) 操作n 个时钟传统 D S P 处理器( 顺序工作方式 )存储器乘加操作乘加操作乘加操作乘加操作 乘加操作乘加操作乘加操作乘加操作 乘加操作乘加操作乘加操作乘加操作 乘加操作乘加操作乘加操作乘加操作 乘加操作乘加操作乘加操作湖南工业大学本科毕业设计(论文) 9 主导的通用 DSP 芯片来说,其并行性和可扩展性更好。 从长期发展来看 , FPGA 主要 被用于系统逻辑或时序控制上,很少 在 信号处理方面 得到 应用,其主要原因是因为在 FPGA 中缺乏实现乘法运算的有效结构。 而 现在这个问题得到了解决, 所以使 得 FPGA 在数字信号处理方面有了长足的发展。 基于 FPGA 的 DSP 设计流程 本次设计采用系统级的开发方法,开发流程如图。 图 DSP Builder 设计流程 图 根据客户的不同设计需求和设计目的 , DSP Builder 对外 提供了两种不同的设计流程 [8], 分别为 自动流程和手动流程。 在手动流程中,设计者可以灵活地指定综合、适配条件。 不过,需要手动的调用 VHDL 综合器进行综合,调用 Quartus  进行适配,调用 ModelSim 或者Quartus 进行仿真,最后用 Quartus 产生相应的编程文件用于 FPGA 的配置。 当使用手动流程中,除了行为仿真和设计输入,其它过程与标准的基于 VHDL的 EDA 设计流程是完全一致的。 从上一步中的 DSP Builder 设计流程的 VHDL 文件(从 Simulink 模型文件。 MDL 通过 SignalCompiler 转换而来) ,融入了合成获得的。 合成器可以 SynplifyPro ,也可以是 LelnardoSpectrum ,或使 用自己的 Altera 公司的 Quartus。 在合并,您可能需要配置或合成器提供全面的约束。 因为这种操作可能会更复杂,因此相应的 DSP Builder 中的 SignalCompiler 提供了设计一个接口,自动生成的 TCL 脚本用的 Synplify 合成或 LelnardoSpectrum 相。 合成后的一体化经营将产生一个网表文件,以用于下道工序。 在这里,产生所谓基于 FPGA 数字高通滤波器设计 10 的 ATOM 网表文件(图 ) ,主要 EDIF 网表文件 1 种参数可以设置,并且包含特定的硬件设备系列的功能(如逻辑宏信用证, I / O 单元,该产品期限嵌入式系 统块 ESB 等。 )网表文件。 如果用 DSP Builder 产生的 DSP 模型只是庞大设计中的一个子模块,则可以在设计中调用 DSP Builder 产生的 VHDL 文件,以构成完整的设计。 同时,一样可以使用 Quartus 强大的 LogicLock 功能和 SignalTap 测试技术。 在图 的流程中,其中 HDL 仿真 是 DSP 设计中是不可或缺的。 与 DSP Builder 配合使用的 HDL 仿真器是 ModelSim。 DSP Builder 在 生成 VHDL 代码时,可以同时生成用于测试 DSP 模块的 TestBench(测试平台)文件, DSP Builder 生成的 TestBench 文件 使用的是 VHDL 语言,测试向量与该 DSP 模块在 Simulink中的仿真激励相一致。 通过 ModelSim仿真生成的 TestBench可以验证生成的 VHDL代码与 Simulink 中 DSP 模型的一致性。 另外, DSP Builder 在产生 TestBench 的同时,还产生了针对 ModelSim 仿真的 Rcl 脚本来简化用户的操作,掩盖 ModelSim仿真时的复杂性。 湖南工业大学本科毕业设计(论文) 11 第 4 章 基于 DSP Builder 的滤波器设计与仿真 设计软件简介 DSP Builder 的简介 DSP Builder[9]是美国 Altera 公司推出的一个面向 DSP 开发的系统级设计 开发工具,它在 QuartusⅡ 设计环境中集成了 Matlab 和 SimuIinkDSP 开发软件。 以往我们所 使用的 Matlab 工具仅仅 是 作为 DSP 算法的建模和基于纯数学的仿真,其数。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。