一种基于分布式算法的低通FIR滤波器.doc

上传人:白大夫 文档编号:3363921 上传时间:2019-08-18 格式:DOC 页数:2 大小:14.50KB
返回 下载 相关 举报
一种基于分布式算法的低通FIR滤波器.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种基于分布式算法的低通FIR滤波器.doc》由会员分享,可在线阅读,更多相关《一种基于分布式算法的低通FIR滤波器.doc(2页珍藏版)》请在三一文库上搜索。

1、一种基于分布式算法的低通FIR滤波器传统数字滤波器硬件的实现主要采用专用集成电路(ASIC)和数字信号处理器(DSP)来实现。FPGA内部的功能块中采用了SRAM的查找表(lo-ok up table,LUT)结构,这种结构特别适用于并行处理结构,相对于传统方法来说,其并行度和扩展性都很好,它逐渐成为构造可编程高性能算法结构的新选择。分布式算法是一种适合FPGA设计的乘加运算,由于FPGA中硬件乘法器资源有限,直接应运乘法会消耗大量的资源。本文利用了丰富的存储器资源进行查找表运算,设计了一种基于分布式算法低通FIR滤波器;利用线性相位FIR滤波器的对称性减小了硬件规模;利用分割查找表的方法减小

2、了存储空间;采用并行分布式算法结构和流水线技术提高了滤波器的速度,在FPGA上实现了该滤波器。1 分布式的滤波器算法FIR滤波器突出的特点是单位取样响应h(n)仅有有限个非零值。对于一个N阶的FIR滤波器形式如下:在许多数字信号处理应用领域中,在技术上是不需要通用的乘法算法的。对于本系统可以通过Matlab中的fdatool工具根据设计要求设计出滤波器的系统函数h(n),那么乘积项h(k)x(n-k)就变成了2个常数的乘法。无符号数的分布式算法和有符号数的分布式算法是分布式算法在FIR滤波器中的2种典型算法。11 无符号数的分布式算法设计由于FPGA为并行处理结构,所以假设x(n-k)数据宽度

3、为L b,则由式(1)可表示为:12 有符号数的分布式算法设计对于有符号数的补码表示为:从式(5)和式(7)可以看出,利用分布式算法实现一个N项乘积和,关键是如何实现式(4)中乘积项及各乘积项之和。在FPGA中可以预先设定一个N位输入的查找表来实现部分乘积项,即预先设定N阶滤波系统查找表,实现向量x(i)=x0(i),x1(i),x2(i),xN-1(i)到p(i)的一个映射。由于查找表的地址空间与阶数成指数关系(2N),完全用查找表来实现部分乘积项需要容量很大的存储器,这就需要占用巨大的资源,而且功耗增加、速度降低。因此为了减小设计规模,可以将一个大的查找表分为几个较小的查找表来实现。例如,

4、本系统采用的8阶FIR滤波器,则用一个查找表来实现需要256(28)位地址空间的ROM,将8阶FIR滤波器分成两个4阶FIR滤波器实现,只需要2个16(24)位地址空间的ROM,这样大大地降低了设计规模和资源使用量。把输入x(i)作为地址,分为高四位和低四位地址进行查找。表1给出了8阶滤波系统的低四位地址x(i)与p(i)的映射关系。本系统中滤波器系统函数采用Matlab中的fdatool工具,并根据设计要求采用了kaiser窗设计出滤波器的系统函数h(n),其采样频率为500 kHz,通频带带宽为100 Hz。设计的低通滤波器如图1所示。若需实现高通或带通滤波器,只需在设计时利用高通或带通滤

5、波器代替低通滤波器即可。利用Verilog硬件描述语言设计本系统软件,系统主要分为以下4个部分。包括顶层文件、AD采样、算法实现和DA转换。系统总体结构如图2所示。由于FPGA频率为100 MHz,采用的DAC0809转换频率必须小于1 MHz,所以在顶层文件对系统时钟进行200分频,提供外围所需时钟。然后对各模块进行例化,使之成为完整的系统。对AD采样输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿时启动AD转换,之后EOC输出信号变低,指示转换正在进行。直到完成AD转换,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。CLK为时钟输入信号线。由顶层文件的分频时钟提供500 kHz时钟,对信号进行采集。算法主体的实现主要由以下几个部分组成:数据接收存储、数据选择器、2个存储器、加法和控制部分。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1