首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
基于FPGA流水线分布式算法的FIR滤波器的实现 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 22:44:20 点击数:[] ![]() |
|||||
2.2 系统具体实现步骤 2.2.1 查找表的建立 我们知道,如果滤波器抽头数N过多,用单个查找表就不能执行全字(因为查找表位宽=滤波器抽头数的数量)。在这种情况下,可以将表的地址输入位数(即滤波器抽头数N)进行降低,既利用部分表并将结果相加。如果加上流水线寄存器,这一改进并没有降低速度,但是却可以极大地减少设计规模,因为查找表的规模是随着地址空间,也就是滤波器抽头数N的增加而呈指数增加, 根据卷积和 滤波器抽头数是16个,考虑到线性FIR滤波器的偶对称特性,只考虑8个独立滤波器抽头数,则需要一个2 8×8的表(其中指数8指的是8个滤波器抽头数, 2.2.2 查表计算部分积累加和的过程 假定输入数据x[n]的值x[0]=1 10=00000001 2c,x[1]=-1 10=11111111 2c,x[2]=3 10=00000011 2c,x[3]=2 10=00000010 2c。(注:2c代表用二进制补码表示,最高位为符号位。) 数据校验结果:h[0]x[0]+h[1]x[1]+h[2]x+h[3]x[3]=2812 说明利用分布式查表算法的计算结果与直接计算结果相同,算法正确无误。 查找表(2)的查表计算结果依此类推。只是需要注意:查找表(2)的数据输入x是8位数据x[4]、x[5]、x[6]、x[7],而不是x[3]、x[2]、x[1]、x[0]。根据系数偶对称性质。x[8]、x[9]、x[10]、x[11]查查找表(2),x[12]、x[13]、x[14]、x[15]查查找表(1)。 3 设计结果 本系统的FPGA采用Xilinx公司的Virtex-E系列中的XCV100E FPGA,使用的软件是Xilinx公司的ISE5.2i及Modelsim公司的Modelsim时序仿真工具,对FIR滤波器进行描述编程使用的是VHDL语言。 实现FIR滤波器的最上层的原理图如图4所示,输入16个8位数据data_in={1,-1,3,2,2-1,1,-1,1,-1,3,2,2,-1,1,1}。 系统仿真的时序图如图5所示。所设计FIR滤波器的幅频、相频、单位脉冲冲激响应如图6~8所示。 FIR滤波是DPS的基本运算形式这一。本文介绍的基于FPGA的分布式算法提高了系统运行的速度并且节省了大量的FPGA资源。通过阶段以及查找表中抽头系数的设定,还可以灵活地实现除低通外的高通、宽阻和带通滤波器。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |