基于fpga的fir数字低通滤波器的课程设计内容摘要:
P 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 功能实现复杂功能的集成。 图 31 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 Builder 使用同步设计规则将Simulink 设计转换成硬件设计,在 DSP Builder 中,所有的时许模块(如 Delay模块)都是以单一时钟上升沿工作,这个时钟频率为整个系统的采样频率。 值得注意的是,在 Simulink 中的失序模块时钟引脚是不显示的,但是当该模块通过DSP Builder 转换为 VHDL 语言后,将会在这些时序模块上自动加上时钟引脚,默认的时钟引脚为 clock,默认的低电平复位引脚名称为 aclr。 如果设计中包含了 PLL 和分频模块, DSP Builder 模块将根据 PLL 或分频模块输出时钟组中的某一时钟的上升沿工作,相应的系统就成俄日多时钟系统。 DSP Builder 模块可以利用多个 Simulink 采样周期运行。 时钟域可以在 DSP Builder 的模块资源中进行设定。 时钟域也可以在 DSP Builder 的速率变更模块(如Tsamp) 资源中进行规定。 当利用多个采样周期时, DSP Builder 必须将每个采样周期与实际时钟域联系,所以 DSP Builder 模块必须包含 DSP Builder 速率变更模块 (顶层的 PLL 或Clock_Derived)。 ( 3) 时序关系对比 在 DSP Builder 和 Simulink 中惊醒仿真的方法,时序模型,驱动和输出之间的存在关系对比。 第 4 章 基于 FPGA 的 FIR 低通滤波器设计 设计方案 图 41 滤波器设计流程图 FIR 低通滤波器参数为:系统频率为 50MHz,通带截止频率 Fpass 为 1MHz,阻带截止频率 Fstop 为 4MHz,通带最大衰减 Apass 为 1dB,阻带最小衰减 Astop为 30dB. FDATool 滤波器设计 MATLAB 集成了一套功能强大的滤波器设计工具 FDATool,可以完成多种滤波器的设计、分析和性能评估。 利用 MATLAB 工具箱滤波器设计工具设计滤波器, FDATool 初始界面如图 所示, 滤波器 参数确定 利用MATLAB 工具箱设计滤波器 滤波器 系数确定并量化 DSP Builder设计工具中 滤波器模块 乘加子系统的搭建 DSP Builder设计工具中 滤波器模块 MATLAB 工具箱中的 滤波器模块 F。基于fpga的fir数字低通滤波器的课程设计
相关推荐
第一章 绪 论 数字 秒表是日常生活中比较常见的电子产品 ,其设计也是 EDA 技术中重要的设计之一 [1]。 EDA 是 20 世纪 90 年代初以来迅速发展起来的现代电子工程领域的一门新技术。 它以可编程逻辑器件 (PLD)为载体 ,以计算机为工作平台 ,以EDA 工作软件为工作环境 ,以硬件描述语言 (VHDL)为电子系统功能描述方式 ,以电子系统设计为应用方向的电子产品自动化设计过程。
TB=S1(4)amp。 S0(4)。 在此添加“B”的功能模块中,例如程序代码为:(CODEOUTV=01)THEN IF(COUNT1=0)THEN FIRST_1=39。 139。 COUNT1=1。 S1(4)=S1(3)。 S0(4)=S0(3)。 表示当输入的代码CODEOUTV=01时,判断计“1”计数器COUNT1的状态,当为0时,即V之间的非0符号为偶数时
京:科学出版社 .2020。 3. 赵俊超等 .集成电路设计 VHDL 教程 .【 M】 .北京 .北京希望电子出版社 .2020。 4. 周俊峰 陈 涛 . 基于 FPGA 的 直 接 数 字 频 率 合 成 器 的 设 计 和 实现 . 年 附录 : 顶层程序 文件名: library IEEE。 use。 use。 use。 entity top is Port (sysclk,reset
分编码器 ,将绝对码变为相对码 ,然后通过符号扩展 ,与余弦波形相乘进行 DPSK调制。 调制后的数据经过数据位数的调整 ,送入数模转换器 ,转换成模拟信号后输出 ,从而完成调制部分的工作。 通过对通信原理的回顾和总结,以及查阅相关的信源信道编码以及模数,数模转换相关知识,达到设计有线相移载波传输的目的,在不断学习新的知识以及归纳复习老的知识的同时,提高自身对电子线路的设计能力。 第二章
和延伸支持对象,做到政策性助学贷款和商业性教育贷款并举,打通教育扶贫推动多渠道就业的社会通道,阻断贫困现象代际相传。 从 2020 年起,每年新增创业就业扶贫贷款不低于 1000 万元,到 2020 年,确保累计投入创业就业扶贫信贷资金超过 5000 万元。 (三)实施基础设施建设扶贫。 紧紧抓住制约贫困地区发展的基础设施落后问题,信贷资金重点加大对农业基础设施、道路交通、农田水利、能源电力
波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。 数字滤波器在 语言信号处理 、图像信号处理、医学生物信号处理以及其他应用领域都得 到了广泛应用。 它涉及到的领域很广,如通信系统,系统控制,生物医学工程,机械振动,遥感遥测,地质勘探,故障检测,电力系统,航空航天,自动化仪器等。 数字滤波器的好坏对相关的众多工程技术领域影响很大