一种fir滤波器的制造方法

文档序号:9633528阅读:482来源:国知局
一种fir滤波器的制造方法
【技术领域】
[0001 ] 本发明涉及数字处理领域,特别是涉及一种FIR滤波器。
【背景技术】
[0002]在通信航空航天系统、雷达系统、遥感遥测系统,通常要对背景噪声和干扰信号进行FIR(Finite Impulse Response)滤波,FIR滤波器的好坏影响系统的稳定性和后续的信号处理。滤波器的设计有多种:通过DSP实现,内置的乘累加器在一个机器时钟周期内完成一次乘累加运算,同时硬件上配备不同等级的流水结构和哈佛结构,能够实现高速实时的数字信号处理,缺点在于硬件结构和流水等级固定,使得在应用上有所限制;基于ASIC实现,芯片体积小,保密好,性能高,缺点在于功能单一,灵活性小;

【发明内容】

[0003]本发明要解决的技术问题是现有FIR滤波器灵活性差的问题。
[0004]本发明通过以下技术方案解决上述问题:
[0005]一种FIR滤波器,由移位寄存器阵列、ROM查找表阵列、加法器阵列组成;所述移位寄存器阵列由至少一个寄存器组成,所述寄存器用于延时以及暂存数据;所述ROM查找表阵列中,各个ROM的大小与外部采样数据的位数相同;所述加法器阵列为行波进位加法器,采用分布式算法。
[0006]上述方案中,所述FIR滤波器的阶数为N,N为自然数。
[0007]上述方案中,与所述FIR滤波器相对应的匹配滤波器,其处理速度为外部数据采样率的2倍。
[0008]上述方案中,所述加法器为24位有符号数加法器,对所述24位有符号数据进行符号位扩展。
[0009]上述方案中,所述N以2为底数,逐级乘以2。
[0010]本发明有益效果是:
[0011]本发明构建的一种FIR滤波器,是一种运用并行分布式算法在FPGA上实现高阶高速的FIR滤波器,滤波阶数可扩展至256阶,处理速度达127M,并且可以扩展至任意阶数的FIR滤波器,具有很大的灵活性。
【具体实施方式】
[0012]以下结合实施例对本发明作进一步说明,但本发明并不局限于这些实施例。
[0013]一种FIR滤波器,有4阶、8阶、16阶,以2为底数,以2为幂,即逐级乘以2,直至256阶,甚至更高阶。一个4阶FIR滤波器由移位寄存器阵列、ROM查找表阵列、流水加法器阵列组成。移位寄存器阵列用于滤波器的延时功能,由相同的寄存器构成。寄存器结构简单,且能实现较高的处理速度。
[0014]寄存器用于暂存数据,也用于流水结构,4阶FIR滤波器结构使用了多级流水。滤波器输入的采样数据位数为16位,需要16个ROM查找表,ROM的大小与滤波器系数有关。本发明可以扩展成更高阶的FIR滤波器,相应地,ROM数量确定和ROM位数确定后可以确定加法器阵列中加法器的数量和位数。
[0015]—个4阶FIR滤波器最为关键的影响系统速度的部件是加法器组。LUT查找表ROM的数据是14位,采样数据宽度为16位,每级加法器的输入位数,其中来自ROM表的位数是因为依次X 2运算的结果,在实际硬件中仍表现为14位。最高位的查找表输出后数据是参与减法运算的,减法运算是求补后的加法运算,其速度等级与加法器相当。最大的加法器为
24位输出为33位本发明采用行波进位加法器。行波进位加法器依次进位,因此最后一级的加法器所占用的时间最长。
[0016]24位有符号数加法器,由于有快速的加法进位链,且其软IP采用行波进位加法器,直接调用IP,在最后一级加法运算中,前面的数据是24位,后面的数据是32位,数据有符号,对前面的24位的数据进行位扩展是符号位扩展,后一个数在前一级加法运算结束时仍表现为24位,由于多次X2,它的数据表现为32位,对于低的8位,直接补“0”,省去了 X2的幂次用移位来实现的硬件资源占用。一
[0017]使用Slicel7个,LUT33个,每级进位链时间只要0.046纳秒,整个运算时间为4个多纳秒,其中还包含了输入端口到IBUF的延时。可见,使用快速进位链,采用行波进位加法器在32位相加时仍然可以得到很快的运算速度。延时使用TRACE工具测试时序,得到最大延时为6.2ns,其中包含了 IBUF和0UF的连线延时。由于B的低8位全为0,在低8位,A+B就等于A,所以低8位可以不用参与加法运算,一方面可以减少延时,另一方面可以减少资源的占用。
[0018]ROM查找表的地址线为4位,这是基于LUT为4输入考虑的。数据位宽根据实际需要来定。ROM数据位宽为14位,采用的是在时钟上升沿数据锁存输出。
[0019]高阶FIR滤波器采样数据有移位输出,输出的数据用于高阶FIR滤波器设计。8阶FIR滤波器是在4阶FIR滤波器基础上进行连接构成。构成个8阶FIR的两个4阶FIR滤波器结构完全相同,但它们有各自不同的ROM查找表。采用与8阶FIR滤波器同样的思路,利用8阶FIR滤波器可以构成16阶的FIR滤波器。16阶的FIR滤波器可以构成32阶的FIR滤波器,以此类推可以构成更高阶的FIR滤波器。256阶的FIR滤波器需要12级流水。256阶的匹配滤波器阶数为256阶。数据采样率为50MHz,采样数据为16位定点数,滤波器系数12位定点数,输出数据为16为位定点数。输入的线性调频脉冲压缩信号经采样后转换成了数字信号。本发明的采样率为50M,复数数字FIR滤波器的工作频率大于100M,能避免数据丢失。
[0020]4阶IQ双通道FIR滤波器,4阶匹配滤波器的处理速度为数据采样率的两倍,对应地每个能处理1、Q两通道数据的4阶FIR滤波器结构与通用的FIR滤波器结构不同。
[0021]滤波器系数为12位二进制定点有符号数,对于每个4阶FIR滤波器做出的ROM查找表内数据宽度为14位,其中最高位为符号位。由此,确定了每个ROM的深度为14。
[0022]加法器为33位输出,实际需要的输出位数为16位,则需进行舍位。匹配滤波器的系数为12位二进制数,输入采样数据为16位二进制数。为多余的符号位,故可舍弃。对于剩余的32位,舍掉低1位,得到所需要的16位滤波器输出位数。
[0023]对于一个4阶FIR滤波器输入为16位,系数为12位,通过乘加运算后,最多为30位,由此,加法器阵列中最后结构的33,32,31位均为多余的符号位,故可以舍弃。
[0024]对于匹配滤波,滤波系数与输入的采样数据有很大的相关性,可以通过计算所有有用的采样数据进入每个4阶FIR滤波器后绝对值最大的数为多少位。本发明的绝对值最大的数为29位,由此,加法器阵列中的33,32,31,30均可以看作是多余的符号位。数据的舍位会得不到需要的结果甚至出现数据丢失,增大结果误差。
[0025]数据输入模块使用的多是寄存器单元,是FPGA内部最基本的逻辑单元,因此处理速度可以达到很高。滤波数据输出模块作为4阶的滤波器不需要对滤波输出数据做处理,但作为高阶FIR滤波器的数据滤波输出是需要的。
[0026]本发明需要使用的时钟有3个(311^0,(311^180,(311^1,为了保证时序的正确,时钟模块采用DCM设计。1个DCM的时钟有9个时钟信号输出,其最大可以输出4个时钟信号。本发明的时钟信号用一个DCM实现。
【主权项】
1.一种FIR滤波器,其特征在于: 由移位寄存器阵列、ROM查找表阵列、加法器阵列组成; 所述移位寄存器阵列由至少一个寄存器组成,所述寄存器用于延时以及暂存数据; 所述ROM查找表阵列中,各个ROM的大小与外部采样数据的位数相同; 所述加法器阵列为行波进位加法器,采用分布式算法。2.根据权利要求1所述的一种FIR滤波器,其特征在于:所述FIR滤波器的阶数为N,N为自然数。3.根据权利要求1所述的一种FIR滤波器,其特征在于:与所述FIR滤波器相对应的匹配滤波器,其处理速度为外部数据采样率的2倍。4.根据权利要求1所述的一种FIR滤波器,其特征在于:所述加法器为24位有符号数加法器,对所述24位有符号数据进行符号位扩展。5.根据权利要求2所述的一种FIR滤波器,其特征在于:所述N以2为底数,逐级乘以2。
【专利摘要】本发明构建了一种FIR滤波器,是一种运用并行分布式算法在FPGA上实现高阶高速的FIR滤波器,滤波阶数可扩展至256阶,处理速度达127M,并且可以扩展至任意阶数的FIR滤波器,具有很大的灵活性。
【IPC分类】H03H17/06
【公开号】CN105391423
【申请号】CN201510724882
【发明人】胡国旺
【申请人】胡国旺
【公开日】2016年3月9日
【申请日】2015年10月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1