毕业论文--基于fpga的fir数字低通滤波器的设计内容摘要:

期重复特性,且以折叠频率即 1/2 抽样频率点呈 镜像 对称。 为得到模拟信号,数字滤波器处理的输出数字信号须经 数 模转换 、平滑。 数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。 数字滤波器在 语言信号处理 、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。 数字滤波器有低通、高通、带通、带阻和全通等类型。 它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。 应用最广的是线性、时不变数字滤波器,以及 FIR 滤波器。 数字滤波器的分类 数字滤 波器有低通、高通、带通、带阻和全通等类型。 它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。 应用最广的是线性、时不变数字滤波器,以及 FIR 滤波器。 FIR 滤波器:有限长单位冲激响应滤波器,是 数字信号处理 系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位 抽样响应是有限长的,因而滤波器是稳定的系统。 鉴于 IIR 数字滤波器最大缺点:不易 做成线性相位,而现代图像、语声、数据通信对线性相位的要求是普遍的。 因此, FIR 滤波器在通信、图像处理、 模式识别 等领域都有着广泛的应用。 FIR 数字滤波器的设计方法 FIR 滤波器设计方法以直接 逼近 所需离散时间系统的频率响应为基础。 设计方法过去主要包括窗函数法和最优化方法(等同波纹法)。 本文 主要采用模块法。 在 本次 设计过程中,运用 的是 Altera 公司的 Quartus II 软 件 中的一款 DSP Builder 设计工具, 与 MATLAB 相结合, 利用 MATLAB 中自带的滤波器模块与 DSP Builder 中所包含的 FPGA 模块构建 FIR 数字滤波器,并在 Simulink中实现仿真。 3 FPGA DSP 系统设计分析 DSP 的基本概念 数字信号处理 (DSP)技术的迅速发展,已经广泛应用于 3G 通信,网络会议,多媒体系统,雷达声纳,医学仪器,实时图像识别以及民用电器等,而且所有这一切在功能实现,性能指标与成本方面都在不断增加其要求。 数字信号处理与模拟信号处理 相比有许多优点,如相对于温度和工艺的变化,数字信号要比模拟信号更稳健,在数字表示中可以改变信号的字长来更好的控制精度,与模拟信号中信号和噪声同时被放大不同, DSP 技术可以在放大信号的同时将噪声和干扰去除,数字信号还可以不带误差的被存储和恢复,发送和接收,处理和操控。 由于 DSP 与其他通用计算机技术互相区别的两个重要特性是实时流量要求和数据驱动特性。 与通用计算机技术先在缓存器存储数据再按批作业处理不同,DSP 的硬件实现应该首先满足实时处理的流量约束的要求,从信号源周期地接受新的输入采样必须即时进行处理。 但是, 一旦硬件达到所要求的采样率 ,就没有必要提高计算的执行速度了。 在 DSP 系统中,一旦所有的输入数据有效,就可以执行任何的处理任务或计算,在这个意义上,这些系统由数据流同步,而不是由系统的时钟同步,这使得 DSP 系统可以利用没有全局时钟要求的异步电路, DSP 算法由对一个无限时间序列重复地执行相同代码不终止的程序来描述。 在处理或计算中,全部算法执行一次称为一个迭代。 迭代周期是执行算法的一个 迭代要求的时间,它的倒数是迭代率。 DSP 系统根据每秒处理的采样率,用采样率来表征,也称为流量。 在进行计算的组合逻辑电路中,从 输入到输出的最长路径定义为关键通道。 此时一个路径的长度正比于它的计算时间。 DSP 系统通常是利用时序电路来实现的,其中关键通道是由任何两个寄存元件(或延迟元件) 之间的最长路径来定义的。 关键通道的计算时间决定一个 DSP 系统的最小可处理的时钟周期或最大的时钟频率。 等待时间定义为由系统接受相应的输入到产生一个输出之间的时间差。 对于只包含组合逻辑的系统,等待时间通常按照绝对的时间单位或者门延迟的数目表示。 对于时序系统,等待时间通常按照时钟周期数来表示。 DSP 系统的时钟速率与它的采样率一般是不相同的。 FPGA 实现 DSP 的特点 要实现一个基本的数字信号处理系统,需要加法器,乘法器和存储器。 FPGA内部包括了上述的所有器件,因而成为实现 DSP 的理想选择。 要采用 FPGA 实现 DSP 算法,必须经过量化。 一般情况下, DSP 就是把输入序列通过一定的运算变换成输出序列。 可以采用如下公式表示 )()()( 01 knxknxny Mk kNk k ba ???? ?? ?? 在 公式 中 ,系数 ak , bk 通常都是通过理论计算或者 MATLAB 工具计算得到的。 前者采用的是无限精度,后者 采用的是双精度浮点数。 无论是无限精度还是双精度浮点数, FPGA 芯片都是无法直接处理的。 所以必须将系数 ak , bk 进行量化,以有限长的二进制数的形式表示。 量化采用的二进制位数越多,精度越高,但耗费的 FPGA 资源就越多,设计中根据系统的指标对精度和资源进行折衷。 对系数进行量化后,还需要选取运算结构,不同的结构所需的存储器及乘法器资源是不同的,前者影响复杂度,后者影响运算速度。 此外,在有限精度(有限字长)情况下,不同运算结构的误差 ,稳定性是不同的。 对系数进行量化并选取适当运算结构后,便可以采用 FPGA 来实现 DSP 系统了。 实现嵌入式 DSP 系统,已经不能像一般的数字系统的设计那样,从寄存器传输级利用硬件描述语言直接进行描述, 而是要先脱离开硬件实现的结构,从算法的角度对所涉及的系统进行建模,方针和优化。 FPGA 是具有极高并行度的信号处理引擎,能够满足算法复杂度不断增加的应用要求,通过并行方式提供极高性能的信号处理能力。 FPGA 的 DSP 系统实现高性能的数字信号处理,主要基于三个因素: (1) 高度的并行性: FPGA 能实现高性能数字信号处理是因 为 FPGA 是高度并 行处理的引擎,对于多通道的 DSP 设计是理想的器件。 (2) 重构的灵活性: FPGA 的硬件可再配置特性使其实现的高性能 DSP 具有极大的灵活性,对于所设想的算法可以用专门的定制结构实现; (3) 最佳的性价比:随着半导体工艺的线宽进一步缩小,器件规模增加, FPGA价格不断降低,可以花费低的成本实现设计系统的集成化。 DSP Builder 设计工具 及设计规则 DSP Builder 是一个系统级(或算法级)设计工具。 DSP Builder 将 The MathWorks MATLAB 和 Simulink 系统级设 计工具的算法开发、仿真和验证功能与 VHDL 综合、仿真和 Altera 开发工具整合在一起,实现了这些工具的集成。 DSP Builder 构架在多个软件工具之上,并把系统级和 RTL 级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。 DSP Builder 依赖于Math Works 公司的数学分析工具 MATLAB/Simulink,以 Simulink 的 Blockset 出现,可以在 Simulink 中进行图形化设计和仿真,同时又通过 Signal Compiler 可以把 MATLAB/Simulink 的设计文件 ( .mdl)转成相应的硬件描述语言 VHDL 设计文件( .vhd) ,以及用于控制综合与编译的 TCL 脚本。 使用 DSP Builder 模块迅速生成 Simulink 系统建模硬件。 DSP Builder 包括比特和周期精度的 Simulink 模块,涵盖了算法和存储功能等基本操作。 可以使用DSP Builder 模型中的 MegaCore 功能实现复杂功能的集成。 图 DSP Builder 设计流程图 DSP Builder 设计规则遵循以下三点: ( 1) 位宽设计规则 在 Simulink 中,所有数据是利用双精度( double)来表示的,它是 64 位二进制的补码浮点数,而双精度数对 FPGA 是不可行的。 所以需要将 Simulink 中双精度浮点数转换成 FPGA 中的定点数。 对于硬件电路设计, Simulink 信号必须转换成与硬件结构相对应的总线格式。 因此,浮点值必须转换为定点值。 这种转换是硬件设计的关键步骤,因为转Simulink 模型仿真 Matlab Simulink 建立模型 mdl 转成 vhdl HDL 仿真 (ModelSim) 综合 ( Quartus II, LeonardoSpectrum, Synplify) Quartus II 手动流程 自动 流程 综合 ( Quartus II, LeonardoSpectrum, Synplify) ATOM Netlist 产生 Quartus II 生成编程文件 ( .pof, .sof) 下载至硬件 换的位数和小数点的位置将直接影响所需的硬件资源和系统精度。 一般情况下,转换为较多的位数精度较高,但是需要较多的硬件资源,对于设计者来说,就是在资源与性能之间找到一个折衷的方案, 以达到最高的性价比。 ( 2) 频率设计规则 如果设计中不包含 PLL 和其他分频模块, DSP Bui。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。