一种基于FPGA的高性能多路FIR数字抽取滤波器及其读写方法技术

技术编号:7266450 阅读:263 留言:0更新日期:2012-04-15 01:47
一种基于FPGA的高性能多路FIR数字抽取滤波器及其读写方法,它包括时分复用模块、时序控制模块、地址控制模块、双口RAM存储模块、运算系数配置模块、滤波运算模块和解时分复用模块,该滤波器需要使用所在的FPGA内的乘法器的个数E=[[M/2]/D],同时令P=[M/D],Q=[P/2]。本发明专利技术有效地避免了读写冲突造成的误操作、容易在FPGA内实现、节省了FPGA内数量很有限的高速硬核乘法器、方便后续滤波运算的实现、在FPGA内实现的数字电路具有很高的时序性能。采用本设计的读写策略方案使滤波方法在FPGA内的实现变得十分容易,数据流都是直接送给下级运算单元,降低了方法实现的复杂度。

【技术实现步骤摘要】

本专利技术涉及数字滤波器,尤其是采用可编程逻辑器件实现的数字滤波器,具体地说是一种基于FPGA的高性能多路FIR数字抽取滤波器及其读写方法
技术介绍
目前,数字滤波在图像处理、语音识别和模式识别等数字信号处理中占有重要地位。与模拟滤波器相比,数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。数字滤波器包括有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器两大类,其中的HR滤波器可以保证严格的线性相位。同时由于其实现结构主要是非递归的,因此HR滤波器可以稳定工作。HR滤波器被广泛用于各类数字信号处理系统中实现卷积、相关、自适应滤波、正交插值等处理。随着数字信号处理的发展,信号的处理、编码、传输和存储等工作量越来越大。为了节省工作量及存储空间,在一个信号处理系统中常常需要不同的采样率处理,以及这些不同采样率信号之间的相互转换。在这种情况下,多速率数字信号处理产生并发展起来。它的应用给系统设计带来了许多好处,例如,降低系统实现的复杂度、降低计算复杂度、降低传输速率、减少存储量等。抽取滤波器是基于软件无线电技术的数字通信系统中广泛运用的一种有效线性滤波器。由于其输入和输出数据速率具有线性的倍数关系的特点,这样具有了多数率信号处理的特性,是实现数字通信系统中接收机数字下变频(DDC)的重要技术。对于非实时系统和低速采样系统,FIR滤波器的运算可在CPU或DSP处理器上采用软件实现。但是对于无线通讯、雷达以及工业控制,甚至语音信号处理等一些实时性要求较高的系统,由于HR运算计算量过大,受到乘法器和加法器电路的限制,采用DSP软件可能无法实现,因此采用可编程逻辑器件便是最好的方法。目前FIR滤波器大致有以下几种实现方法(1)使用单片通用数字滤波器集成电路。单片通用数字滤波器使用简单方便,但由于字长和阶数的规格较少,不能完全满足实际需要。虽可采用多片扩展来满足,但会增加体积和功耗,因而在实际中受到一定限制。(2)采用DSP器件实现。由于有专门的函数可供调用,因此使用DSP器件设计FIR 滤波器相对较简单,其应用也最为广泛。其唯一缺点是程序顺序执行,尽管DSP器件性能不断提高,但在某些实时性要求极高的场合中受到限制。(3)采用可编程逻辑器件实现。随着可编程逻辑器件的容量和速度的不断增加,实现单片系统集成已经成为可能。利用可编程逻辑器件实现HR滤波器,由于实现的是硬件并行方法,因此特别适用于某些实时性要求高的场合
技术实现思路
本专利技术的目的是针对HR滤波器实现的问题,提出一种采用可编程逻辑器件实现的基于FPGA的高性能多路HR数字抽取滤波器及其读写方法。本专利技术的技术方案是一种基于FPGA的高性能多路FIR数字抽取滤波器,它包括时分复用模块、时序控制模块、地址控制模块、双口 RAM存储模块、运算系数配置模块、滤波运算模块和解时分复用模块,该滤波器的倍抽取为D,具有N个通道、M个滤波系数和L位数据宽度,该滤波器需要使用所在的FPGA内的乘法器的个数E = ,同时令P = ,Q = 时分复用模块TDM 通过N个通道采集N个L位的待滤波数据,将各通道的并行数据输入转化为1个通道的L位串行数据输出,并产生同步信号Syncjn ;时序控制模块TIME_CTRL 根据同步信号Syncjn产生其它模块的控制信号和同步后的串行数据;地址控制模块ADDR_CTRL 根据时序控制模块的控制信号产生双口 RAM存储模块的2E个读地址信号、1个写地址信号和1个写使能信号;双口 RAM存储模块DPRAM 用于存储时序控制模块同步后的待滤波数据,将串行数据按照写地址写入以后,再按照读地址读出,转换为符合滤波运算方法结构的串行数据,数据读出后对无效数据进行过滤,再通过2E个L位寄存器输出至滤波运算模块;运算系数配置模块C0MP_C0EF 用于产生滤波运算的M个相关系数,根据控制信号,配置滤波运算需要的M个系数;滤波运算模块C0MP_0PE 通过2E个L位寄存器从双口 RAM存储模块中读取2E个 L位串行数据,配合运算系数配置模块的M个相关系数完成数据的滤波运算,模块内包括了 FPGA内的E个乘法器;解时分复用模块TDDM 完成N个通道滤波输出数据的解复用。本专利技术的双口 RAM存储模块DPRAM为一个,包括FPGA内的2E个双口 RAM存储单元,由BLOCK RAM生成;各双口 RAM存储单元均设有一个端口写,一个端口读,读写地址独立,完成数据读写操作;数据读出以后再对无效数据进行过滤。本专利技术的双口 RAM存储模块用于改变原始的待滤波数据的结构,转换为符合滤波运算方法结构的串行数据,数据读出以后对无效数据进行过滤。一种基于FPGA的高性能多路HR数字抽取滤波器的读写方法,基于FPGA的高性能多路HR数字抽取滤波器,其特征是它包括分配RAM的大小步骤;在双口 RAM存储模块中根据写使能信号和写地址信号对待滤波数据进行写数据的步骤,根据读地址信号进行读数据的步骤,数据读出以后对无效数据进行过滤的步骤和在滤波运算模块中进行滤波运算步马聚ο本专利技术的分配RAM的大小步骤包括所使用的FPGA内的每一个乘法器需要对应使用FPGA内的2个L*MN bit的双口 RAM存储单元,E个乘法器一共使用FPGA内的2E个L*MN bit的双口 RAM存储单元,均由 FPGA 内的 BLOCK RAM 实现;N个通道的地址分配规律通道0 对应的地址依次为 0、N、2N、3N··· (M_4)N、(M_3)N、(M_2)N、(M-I)N ;通道1 对应的地址依次为 1、N+1、2N+1、3N+1... (M_4)N+1、(M_3)N+1、(M_2)N+1、(M-I) N+1 ; 。。。通道N-2 对应的地址依次为 N-2、2N-2、3N-2、4N-2... (M_3)N_2、(M_2)N_2、(M_2) N-2、MN-2 ;通道N-I 对应的地址依次为 N-1、2N-1、3N-1、4N-1... (M-3)N-1、(M_2)N_1、(M-I) N-UMN-I ;每个通道对应位置的地址比前一个通道对应位置的地址增加1,从通道0开始增加到通道N-I,一共N个通道,依此类推。本专利技术的根据写使能信号和写地址信号对待滤波数据进行写数据的步骤包括①产生写使能信号输入待滤波数据有效时均为高电平;输入待滤波数据无效时均为低电平。②产生写地址信号写使能信号高电平期间,每隔1个时钟周期依次进行0 MN-I的模丽计数,计数值每次+1 ;写使能信号低电平期间,写地址保持不变。③进行写操作写使能信号高电平期间,输入的串行待滤波数据根据对应的写地址信号写入RAM存储单元中相应的位置,每隔1个时钟周期依次写入1个数据;具体的顺序为N个通道对应的第1个数据依次写入,接着N个通道对应的第2个数据依次写入,依此类推,直到N个通道对应的M个数据全部写入;写使能信号低电平期间,没有数据写入。本专利技术的根据读地址信号进行读数据的步骤包括①产生个读地址的首地址的临时信号读地址1的首地址的临时信号变化规律第1个地址赋值为(D-I)N ;之后每隔DN 个时钟周期进行1次0 MN-I的模丽计数,计数值每次+DN ;读地址3的首地址的临时信号变化规律第本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:杨进
申请(专利权)人:南京中兴特种软件有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术