本发明涉及数字技术领域,特别是涉及一种数字下变频的迭代式抽取滤波装置及方法。
背景技术:
数字下变频技术是软件无线电的核心技术之一,主要功能是将模拟前端送来的高速数字化宽带中频信号数字下变频到基带,然后再进行信道选择滤波并降低采样率,从而获得低采样率的基带信号,以供后续的同步、解调、解码和自适应均衡等处理使用。
数字下变频包括数字混频器、数控振荡器和抽取滤波器三个组成部分。抽取滤波器的抽取因子一般较大,若用单级抽取滤波器,阶数很大,难以实现,而多级滤波比单级滤波可以显著地降低滤波器阶数,从而减小运算量和存储量。
现有技术中,多级滤波器级联方式设计中大多采用级联先后次序调换来达到不同滤波效果,设计完成后不能对滤波器结构进行调节,消耗的硬件资源较多,无法满足差异性较大的不同测试对象的测试需求。
技术实现要素:
鉴于现有技术的缺陷,本发明目的在于提供一种数字下变频的迭代式抽取滤波装置及方法,用以解决现有多级滤波器无法满足差异性较大的不同测试对象的测试需求。
本发明目的主要是通过以下技术方案实现的:
一方面,本发明提供一种数字下变频的迭代式抽取滤波装置,包括:
控制单元,用于设置迭代次数;
I路抽取滤波单元,用于接收I数据,根据所述迭代次数,完成I路抽取滤波;以及
Q路抽取滤波单元,用于接收Q数据,根据所述迭代次数,完成Q路抽取滤波。
进一步,控制单元包括CIC迭代计数器、FIR迭代计数器、主控模块和缓存模块;
I和Q路抽取滤波单元均包括单级CIC滤波器、第一FIFO、单级FIR滤波器和第二FIFO;
单级CIC滤波器,用于接收I或Q数据,对接收的I或Q数据进行抽取滤波,将滤波后的I或Q数据输出给第一FIFO;
第一FIFO,用于在主控模块的控制下,将第一单级CIC滤波器输出的I或Q数据返回给单级CIC滤波器,或者将单级CIC滤波器输出的I或Q数据输出给单级FIR滤波器;其中返回给单级CIC滤波器的次数由主控模块设置的CIC迭代次数确定;
单级FIR滤波器,用于接收第一FIFO输出的I或Q数据,对接收的I或Q数据进行抽取滤波,将滤波后的I或Q数据输出给第二FIFO;以及
第二FIFO,用于在主控模块的控制下,将单级FIR滤波器输出的I或Q数据返回给单级FIR滤波器,或者单级FIR滤波器输出的I或Q数据向外设输出,完成I或Q路抽取滤波;其中返回给单级FIR滤波器的次数由主控模块设置的FIR迭代次数确定;
进一步,CIC迭代计数器,用于计数CIC迭代次数;
FIR迭代计数器,用于计数FIR迭代次数;
缓存模块,用于存储CIC迭代计数器和FIR迭代计数器的计数数值;
主控模块,用于设置CIC迭代次数和FIR迭代次数,以及根据缓存模块中CIC迭代计数器的计数数值和设置CIC迭代次数,控制第一FIFO将单级CIC 滤波器输出的I或Q数据返回给单级CIC滤波器,或者将单级CIC滤波器输出的I或Q数据输出给单级FIR滤波器;以及根据缓存模块中FIR迭代计数器的计数数值和设置FIR迭代次数,控制第二FIFO将单级FIR滤波器输出的I或Q数据返回给单级FIR滤波器,或者将单级FIR滤波器输出的I或Q数据向外设输出。
进一步,单级CIC滤波器的最大抽取倍数为1023;单级FIR滤波器的最大抽取倍数为2。
进一步,所述装置还包括由两个乒乓RAM组成的缓存单元;
所述控制单元,还用于控制写入缓存单元的数据的顺序,以及缓存单元分别向I路抽取滤波单元和Q路抽取滤波单元输出的数据的顺序;
所述缓存单元,用于根据所述控制单元的控制的顺序,交替存储混频后的IQ数据;以及向I路抽取滤波单元输出I或Q数据,向Q路抽取滤波单元输出Q数据。
另一方面,本发明还提供一种数字下变频的迭代式抽取滤波方法,包括:
设置迭代次数;
接收I数据,根据所述迭代次数,完成I路抽取滤波;
接收Q数据,根据所述迭代次数,完成Q路抽取滤波。
进一步,设置迭代次数的步骤具体包括:设置CIC迭代次数和FIR迭代次数;
根据所述迭代次数,完成I路抽取滤波的步骤;或者根据所述迭代次数,完成Q路抽取滤波的步骤;具体包括:
根据CIC迭代次数,将接收的I或Q数据进行CIC迭代抽取滤波,以及输出完成CIC迭代抽取滤波后的I或Q数据;
根据FIR迭代次数,将完成CIC迭代抽取滤波后的I或Q数据进行FIR迭代抽取滤波,以及将完成FIR迭代抽取滤波的I或Q数据向外设输出。
本发明有益效果如下:本发明满足差异性较大的不同测试对象的测试需求, 简化数字下变频中多级抽取滤波结构,对可变级数抽取滤波器进行整合,大幅度减少多级抽取滤波器的设计复杂度,减少固件设计资源,实现用户自定义的抽取倍数,增强抽取滤波器的使用灵活性。
附图说明
图1是本发明实施例中一种数字下变频的迭代式抽取滤波装置的结构示意图;
图2是本发明实施例中缓存单元的结构示意图;
图3是本发明实施例中一种数字下变频的迭代式抽取滤波装置的详细结构示意图;
图4是本发明实施例中控制单元的结构示意图。
具体实施方式
本发明提供一种数字下变频的迭代式抽取滤波装置及方法,用以解决现有多级滤波器无法满足差异性较大的不同测试对象的测试需求,简化数字下变频中多级抽取滤波结构,对可变级数抽取滤波器进行整合,大幅度减少多级抽取滤波器的设计复杂度,减少固件设计资源,实现用户自定义的抽取倍数,增强抽取滤波器的使用灵活性。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
实施例一
如图1所示,本发明实施例提供一种数字下变频的迭代式抽取滤波装置,包括:
缓存单元,用于向I路抽取滤波单元和Q路抽取滤波单元输出IQ数据;
控制单元,用于设置迭代次数;
I路抽取滤波单元,用于接收I数据,根据所述迭代次数,完成I路抽取滤 波;以及
Q路抽取滤波单元,用于接收Q数据,根据所述迭代次数,完成Q路抽取滤波。
具体说,控制单元包括CIC迭代计数器、FIR迭代计数器、主控模块和缓存模块;
I和Q路抽取滤波单元均包括单级CIC滤波器、第一FIFO、单级FIR滤波器和第二FIFO;
单级CIC滤波器,用于接收I或Q数据,对接收的I或Q数据进行抽取滤波,将滤波后的I或Q数据输出给第一FIFO;
第一FIFO,用于在主控模块的控制下,将单级CIC滤波器输出的I或Q数据返回给单级CIC滤波器,或者将单级CIC滤波器输出的I或Q数据输出给单级FIR滤波器;其中返回给单级CIC滤波器的次数由主控模块设置的CIC迭代次数确定,具体为设置的CIC迭代次数-1;
单级FIR滤波器,用于接收第一FIFO输出的I或Q数据,对接收的I或Q数据进行抽取滤波,将滤波后的I或Q数据输出给第二FIFO;以及
第二FIFO,用于在主控模块的控制下,将单级FIR滤波器输出的I或Q数据返回给单级FIR滤波器,或者单级FIR滤波器输出的I或Q数据向外设输出,完成I或Q路抽取滤波;其中返回给单级FIR滤波器的次数由主控模块设置的FIR迭代次数确定,具体为设置的FIR迭代次数-1;
CIC迭代计数器,用于计数CIC迭代次数;
FIR迭代计数器,用于计数FIR迭代次数;
缓存模块,用于存储CIC迭代计数器和FIR迭代计数器的计数数值;
主控模块,用于设置CIC迭代次数和FIR迭代次数,以及根据缓存模块中CIC迭代计数器的计数数值和设置CIC迭代次数,控制第一FIFO将单级CIC滤波器输出的I或Q数据返回给单级CIC滤波器,或者将单级CIC滤波器输出的I或Q数据输出给单级FIR滤波器;以及根据缓存模块中FIR迭代计数器 的计数数值和设置FIR迭代次数,控制第二FIFO将单级FIR滤波器输出的I或Q数据返回给单级FIR滤波器,或者将单级FIR滤波器输出的I或Q数据向外设输出。
缓存单元由两个乒乓RAM组成;
所述控制单元,还用于控制写入缓存单元的数据的顺序,以及缓存单元分别向I路抽取滤波单元和Q路抽取滤波单元输出的数据的顺序;
所述缓存单元,用于根据所述控制单元的控制的顺序,交替存储混频后的IQ数据;以及向I路抽取滤波单元输出I数据,向Q路抽取滤波单元输出Q数据。
以下结合附图详细说明本发明实施例装置。
如图1所示,采样信号经过混频后输出IQ数据流,存储至高速缓存单元。计数控制单元控制缓存的写入和读出,缓存单元将IQ分别读出送入各自的数据处理通道,I路数据经过I通道抽取滤波,Q路数据经过Q通道抽取滤波。每级抽取滤波后抽取滤波次数进行累加,当次数满足用户设定的门限值时,抽取滤波完成,IQ分别输出。
如图2所示,RAM-A和RAM-B是两个完全相同的存储器,IQ数据流首先写入RAM-A中,存满后提示计数控制单元进行读取,同时IQ数据流开始存储至RAM-B中。RAM-A中的数据包分两路输出至各自处理通道,时序保持一致。当RAM-B存满后再进行第二个数据包处理。
如图3所示,高速缓存单元输出的I1和Q1分别进入CIC1和CIC2,滤波后存储至FIFOI1和FIFOQ1,计数控制单元对I2和Q2进行选择输出,当CIC迭代次数达到用户设定值后输出给FIR1和FIR2。FIR1输出给FIFOI2,FIR2输出给FIFOQ2,同样由计数控制单元控制其迭代次数。在单个数据处理通道中包含三种数据迭代循环,以I通道为例,I2和I3组成一个CIC迭代循环,I4和I5组成一个FIR迭代循环,I4和I3组成一个CIC+FIR迭代循环。
如图4所示,该单元包含CIC迭代计数器和FIR迭代计数器两个核心计数 器,分别对IQ通道的CIC和FIR迭代次数进行计数。主控单元对两个计数器进行统一设置,提供复位、使能以及时钟信号。同时,主控单元也提供高速缓存的控制信号,协调数据处理周期。
也就是说,本发明实施例中方法包括高速缓存、抽取滤波和计数控制三个环节,其中:
(1)高速缓存单元由两个乒乓RAM组成,对混频后的IQ数据进行交替存储,由计数控制单元控制其写入顺序和读出顺序;
(2)抽取滤波环节采用单级CIC和FIR滤波器组合设计,CIC最大抽取倍数为1023,FIR滤波器最大2倍抽取;
(3)抽取滤波环节中CIC和FIR分别连接一个高速FIFO,每一个FIFO均有两路可选输出,一路为返回前级迭代,另一路为输出到一下级;
(4)计数控制单元计算每个滤波器的迭代次数并对FIFO的输出通道进行选择,迭代次数由外部寄存器设置;
(5)IQ两路的滤波抽取环节结构完全相同,迭代次数相同,输出保持同步。
并且,所述高速缓存单元包含的两个RAM结构相同,大小一致,待其中一个存满后另一个才开始存储。其中一个RAM在存储期间,另一个RAM将数据读出进行抽取滤波处理;
所述IQ两路抽取滤波环节包含的所有FIFO结构相同,大小一致,计数控制单元控制FIFO的读出,为减小数据通道延时,FIFO在写入后应立即读出,但读出时钟应不高于写入时钟;
高速缓存的单个RAM里的数据作为一个数据包进行抽取滤波处理,完成一个数据包处理后才能读取另一个RAM的数据,对下一个数据包进行处理。
实施例二
一种数字下变频的迭代式抽取滤波方法,其特征在于,包括:
设置迭代次数;
接收I数据,根据所述迭代次数,完成I路抽取滤波;
接收Q数据,根据所述迭代次数,完成Q路抽取滤波。
具体说,设置迭代次数的步骤具体包括:设置CIC迭代次数和FIR迭代次数;
根据所述迭代次数,完成I路抽取滤波的步骤;或者根据所述迭代次数,完成Q路抽取滤波的步骤;具体包括:
根据CIC迭代次数,将接收的I或Q数据进行CIC迭代抽取滤波,以及输出完成CIC迭代抽取滤波后的I或Q数据;
根据FIR迭代次数,将完成CIC迭代抽取滤波后的I或Q数据进行FIR迭代抽取滤波,以及将完成FIR迭代抽取滤波的I或Q数据向外设输出。
本发明实施例方法,具体设置参阅实施例一,在此不再赘述。
本发明实施例中装置和方法,针对数字下变频中的抽取滤波处理单元进行改进,逻辑设计简单可靠,可应用于基于FPGA的正交数字下变频技术。根据数据处理的硬件资源,能在一定范围内合理调节抽取滤波级数,可实现灵活的滤波结构变化,同时也降低了FPGA设计中的资源消耗和数字下变频的设计难度。
尽管为示例目的,以上已经公开了本发明的优选实施例,但本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。