数字fir滤波器设计内容摘要:
先设定程序的 LUT 接收一个 N 位的输入向量 ))1() ,...,1(),0(( Nxxxx bbbb ,输出为中原工学院课程设计报告 13 ))(),(( nxncf b ,各个映射 ))(),(( nxncf b 都由相应的二次幂加权累加,最后得到一次滤波的结果。 由上分析可知,分布式 算法是将乘法运算转换成基于查找表结构的移位相加算法,从而实现多个乘法运算操作。 在被乘数位数较少的情况下,相比直接的乘法器结构,这种算法有明显的速度和算法优势。 这种算法尤其是在乘法器资源很少的 FPGA 器件中有很大的应用前景。 2) 并行的分布式算法 分布式算法有串行实现方式和并行实现方式。 并行方式的算法结构如图310 所示。 图中 ROM 的输出和求和结果的输出都加上了虚线框,这些虚线框为流水线寄存器。 上下级流水线寄存器之间的数字电路按照时钟频率工作而不用考虑它们本身的延迟,这使得整个系统的工作频率增加,从 而加快了运算速度。 但是这种并行结构增加了额外的 LUT、寄存器和加法器。 当输入数据位宽较少时,比如 4到 8 位,这种实现方式会有令人满意的结果。 图 36 并行 DA 结构 3)本文采用并行分布式算法的实现方案 中原工学院课程设计报告 14 x ( n ) 预 处 理 并 行 延 时预 相 加查 找 表移 位 相 加 加 法 器 组输 出 处 理y ( n ) 图 37 并行分布式算法实现框图 如图所示,各个模块的实现步骤如下: ( 1)输入数据预处理模块 该模块用于将 A/D 转换器输出的 8 位有符号数据转换成二进制补码形式,并进行锁存。 由于在计算机中采用的数据形式是二进制补码,为了仿真方便,在仿真时可以去掉这个模块。 ( 2)并行延时模块 输入数据输送到并行延时模块,在每个时钟周期,把一组数据顺序时延,每经过 15 个时钟周期,就会有一个数据移出并行延时模块。 这些并行时延模块是有 15组 D 触发器串联而成,并且共用一个时钟。 ( 3)预相加模块 由于线性相位 FIR 滤波器的系数具有对称性,因此可以通过将对称的 x(n)进行相加,这样可以节省( N1) /2 个乘法器,从而降低了硬件的规模。 ( 4)查找表模块 该模块用于对位乘积的寻址。 一个 8位 的地址,可以产生 82 个数据。 为了节约 FPGA 资源,可以采用 LUT 分割技术,将一个 8位地址的 LUT 分割成两个 4位地址的 LUT。 这样可以节省 224 个数据空间。 因此,采用 LUT 分割技术,可中原工学院课程设计报告 15 以节省大量硬件资源,避免了大容量 ROM 的使用。 根据分布式算法,查找表存储的是滤波器系数的各种组合相加的结果,由于滤波器系数通常为浮点数,我们需要将其化为定点整数。 ( 5)加法器模块 该模块用于将高 4 位 LUT 选中的数据和低 4 位 LUT 选中的数据进行相加,然后送入移位累加器模 块。 为了保证结果正确性,在相加前,需要对相加的两个有符号数进行符号位扩展。 ( 6) 移位累加器模块 各个位产生的位乘积在这个模块中乘以各自的权重,也即左移相应的位数,然后相加得到最终结果。 ( 7) 输出处理模块 由于移位累加器输出的是 24 位二进制数,为了得到 16 位字长的数据,需要对输出数据进行截去低 8 位,同时进行锁存输出。 如果有必要,还需将输出的二进制补码转换为二进制原码。 分布式 结构的 FPGA 实现。 顶层原理图如下: 中原工学院课程设计报告 16 1 寄存器(延时器) 原理图上标有 yanshi 的器件。 输入 8 位数据,通过 yanshi 的 D 触发寄存器,达到延时的作用。 2 预相加 数据通过 add889,就是 8 位数字输入, 9 位数字输出加法器,完成第一级相加运算,因为本设计 是 16 阶 FIR 数字滤波器,它的滤波系数有对称的关系,所以采用上面的第一级加法器,达到简化运算的效果。 3 查找表 该步骤分为地址生成 表和 系数查找表,地址生成表是用来为查找系数做准备, 以便尽快找到系数。 4 移位 根据 FIR 滤波器的结构式分布图,要实现系数乘以 20 到 28,在 VHDL 中想乘就是向左移位。 5 累加 第四步骤得到移位后的结果,两两相加,利用相加器模块,得到相加结果。 6 输出处理 结果输出要求 8 位输出,但是 FPGA 的结果是 24 位,因此要对结果进行中原工学院课程设计报告 17 处理,以便达到设计要求,因为之前一直是进行符号位扩展,只要截取符号位就能达到要求,用了一个 D 触发器和截取 8 位的原件图。 D 触发器是用来暂存24 输出结果的,以防造成延时,达到输出结果错乱。 二 , 详细说明 1 寄存器(延时器) 设计中用 一系列 D 触发器组成延时器,实现延时 功能。 实现功能: 在 Clk 正跳沿前接受输入信号,正跳沿时触发翻转,正跳沿后输入即被 封锁。 源文件: LIBRARY IEEE。 USE。 ENTITY yanshi IS PORT( clk : IN STD_LOGIC。 D : IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 END yanshi。 ARCHITECTURE hav OF yanshi IS BEGIN PROCESS(clk) BEGIN IF(clk39。 EVENT AND clk=39。 139。 ) THEN Q = D。 END IF。 END PROCESS。 END hav。 2 预相加 中原工学院课程设计报告 18 实现两个二进制数字的相加运算。 当到达时钟上升沿时,将两数输入,运算,输出结果。 源文件: LIBRARY IEEE。 USE。 USE。 ENTITY add889 is PORT(clk : IN STD_LOGIC。 Din1,Din2 :IN signed (7 downto 0)。 Dout:OUT signed(8 downto 0))。 END add889。 ARCHITECTURE a of add889 is SIGNAL s1: signed(8 downto 0)。 SIGNAL s2: signed(8 downto 0)。 BEGIN s1=(Din1(7)amp。 Din1)。 s2=(Din2(7)amp。 Din2)。 PROCESS(Din1,Din2,clk) BEGIN。数字fir滤波器设计
本资源仅提供20页预览,下载后可查看全文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
相关推荐
数字滤波器手机闹钟软件设计
越来越多,实际上用它的 java 开发人员是最多的。 安卓虚拟机 安卓以 java 为编程语言,从接口到功能,都有层出不穷的变化, 这款软件是 google 官方出品,以方便开发者使用安卓环境,方便开发。 可以让你在 PC端(电脑上)安装运行模拟 Android 系统。 并可以在电脑端进行几乎任何手机上可以进行的操作,甚至还可以像手机一样连接电脑,被手机助手检测到,可以模拟所有官方版本的安卓系统
数字化校园子系统设计论文
投入少、见效快。 因此系统的开发是完全可行的。 需求分析 在可行性分析阶段已经粗略的研究了该项目的需求,并分析了开发平台及软件的可行性,但为了准确的确定目标系统必须做什么,了解用户的明确需求,在信息学院相关部门进行了详细的调研, 进一步明确了作者所实现子系统的功能。 学院文化 建设 在调研过程中了解到文化建设子系统主要包括文化建设的目标和内容、领导和组织机构等内容的显示
教育管理专业专科集中实践环节教学实施方案
__ 教育层次 __________________________ 学 号 _____________________________ 省级电大 ___________________________ 专 业 _____________________________ 市级电大 ___________________________ 指导教师