一种数字滤波器及数据处理方法与流程

文档序号:14835594发布日期:2018-06-30 12:16阅读:399来源:国知局
一种数字滤波器及数据处理方法与流程

本发明涉及移动通信领域,尤其涉及一种数字滤波器及数据处理方法。



背景技术:

随着移动通信的发展,移动通信的用户逐渐增多,对数据业务的要求也越来越高,全球微波互联接入(Worldwide Interoperability for Microwave Access,WIMAX)、长期演进(Long Term Evolution,LTE)等3G、4G的应用日渐增多。WIMAX、LTE与2G的全球移动通信系统(Global System for Mobile Communication,GSM)的一个区别在于GSM的信号带宽是固定的200KHz,而WIMAX、LTE的信号带宽有多种可能,如LTE包括3MHz、5MHz、10MHz、15MHz、20MHz等,WIMAX包括5MHz、7MHz、10MHz、20MHz等。

在数字通信系统中,常常要求一个软件版本支持多种制式多种带宽的数字信号处理。目前,应用较多的数字滤波器,主要是对固定带宽、固定数据速率输入的信号进行处理。当输入信号的带宽和数据速率存在多种可能的情况下,需要集成多个数字滤波器,这样会增加系统复杂度等,甚至有可能导致系统无法实现。还有一部分数字滤波器,虽然可以应对输入信号带宽以及数据速率可变的情况,但是每当输入信号的带宽变化时,都需要更换滤波器的处理时钟,并复位系统,这种使用方式对系统稳定性有较大影响,较为复杂。

综上可知,现有技术中数字滤波器处理输入数字信号时的复杂度较高。



技术实现要素:

本发明实施例提供一种数字滤波器及数据处理方法,用以解决现有技术中的数字滤波器处理输入数字信号时的复杂度较高的技术问题。

第一方面,本发明实施例提供一种数字滤波器,包括:

控制模块,至少用于存储输入信号数据的存取地址、滤波器系数地址;

串行连接的M个DPRAM模块,其中,所述M个DPRAM模块中的第一DPRAM模块与所述控制模块连接,至少用于接收输入信号数据;

多个第一加法器模块,其中,一个第一加法器模块连接所述M个DPRAM模块中处于对称位置的两个DPRAM模块;

多个乘法器模块,其中,一个乘法器模块与一个第一加法器模块连接,所述乘法器模块的个数与数字滤波器阶数、每个乘法器复用次数相关,所述每个乘法器模块的复用次数与数字滤波器时钟、数字滤波器的通道模式对应的通道数和所述输入信号数据的采样率相关,所述通道数由输入数据流对应的带宽组合确定;

多个存储模块,其中,一个存储模块与一个乘法器模块连接,用于存储滤波器系数,每个存储模块存储的滤波器系数的个数由所述乘法器模块的复用次数确定;

多个第二加法器模块,与所述多个乘法器模块连接;

延时模块,用于所述数字滤波器的延时。

在一种可能的实现方式中,若所述数字滤波器的通道模式为单通道模式,则所述单通道的输入采样率为F;或,

若所述数字滤波器的通道模式为双通道模式,则所述双通道中每个通道的输入采样率为F/2;或,

若所述数字滤波器的通道模式为三通道模式,则所述三通道中一个通道的输入采样率为F/2、另两个通道中每个通道的输入采样率为F/4;或,

若所述数字滤波器的通道模式为四通道模式,则所述四通道中每个通道的输入采样率为F/4。

在一种可能的实现方式中,输入数据流对应的带宽组合包括5MHz、10MHz、15MHz、20MHz中的至少一项。

第二方面,本发明实施例提供一种数据处理方法,应用于数字滤波器,所述数字滤波器包括依次连接的M个双端口随机存储器DPRAM,M为大于等于2的整数。其中,数据处理方法包括:

在获取输入数据流包括的N个输入信号数据中的第j个输入信号数据时,基于预设带宽配置模式从所述M个DPRAM中读取在所述第j个输入信号数据之前接收的多个输入信号数据,其中,所述预设带宽配置模式与所述输入数据流对应的至少两种带宽相关、用于指示每个输入信号数据在所述DPRAM内的存取地址,N为大于等于1的整数,j为小于等于N的整数;

基于预设规则对所述第j个输入信号数据及所述多个输入信号数据进行处理,获得多个输出信号分量,其中,所述预设规则为:将所述M个DPRAM中处于对称位置的两个DPRAM中具有相同滤波器系数的输入信号数据的输入值相加后,与相应的所述滤波器系数相乘;

基于所述多个输出信号分量,确定并输出与所述第j个输入信号数据对应的输出信号。

在一种可能的实现方式中,获取输入数据流包括的N个输入信号数据中每个输入信号数据的获取规则为:每间隔预设个数的时钟获取并顺序存储一个输入信号数据,其中,所述预设个数由通道数和相应输入信号数据的采样率确定,所述通道数由所述输入数据流对应的带宽组合确定,每种带宽组合的总带宽相等。

在一种可能的实现方式中,所述基于预设带宽配置模式从所述M个DPRAM中读取在所述第j个输入信号数据之前接收的多个输入信号数据,包括:

基于所述预设带宽配置模式从所述第(1+n)个DPRAM中倒序读取与所述第j个输入信号数据处于同一带宽的第一组输入信号数据时,且从第(M-n)个DPRAM中顺序读取与所述第j个输入信号数据处于同一带宽的第二组输入信号数据,其中,所述倒序读取的顺序与所述预设带宽配置模式对应的存储顺序相反,所述顺序读取的顺序与所述存储顺序相同,所述第(1+n)个DPRAM与所述第(M-n)个DPRAM处于对称位置,所述n依次取0到(M-1)的整数;

由多个所述第一组输入信号数据和多个所述第二组输入信号数据构成所述多个输入信号数据。

在一种可能的实现方式中,所述基于预设规则对所述第j个输入信号数据及所述多个输入信号数据进行处理,获得多个输出信号分量,包括:

将所述第j个输入信号数据、多个所述第一组输入信号数据和多个所述第二组输入信号数据中具有相同滤波器系数的输入信号数据的输入值相加,并与相应的所述滤波器系数相乘,获得多个输出信号分量。

在一种可能的实现方式中,所述基于所述多个输出信号分量,确定与所述第j个输入信号数据对应的输出信号,包括:

对所述多个输出信号分量进行累加,确定与所述第j个输入信号数据对应的输出信号。

第三方面,本发明实施例提供一种数字滤波器,包括:

依次连接的M个双端口随机存储器DPRAM,所述M为大于等于2的整数;

获取模块,用于在获取输入数据流包括的N个输入信号数据中的第j个输入信号数据时,基于预设带宽配置模式从所述M个DPRAM中读取在所述第j个输入信号数据之前接收的多个输入信号数据,其中,所述预设带宽配置模式与所述输入数据流对应的至少两种带宽相关、用于指示每个输入信号数据在所述DPRAM内的存取地址,N为大于等于1的整数,j为小于等于N的整数;

处理模块,用于基于预设规则对所述第j个输入信号数据及所述多个输入信号数据进行处理,获得多个输出信号分量,其中,所述预设规则为:将所述M个DPRAM中处于对称位置的两个DPRAM中具有相同滤波器系数的输入信号数据的输入值相加后,与相应的所述滤波器系数相乘;

输出模块,用于基于所述多个输出信号分量,确定并输出与所述第j个输入信号数据对应的输出信号。

在一种可能的实现方式中,所述获取模块获取输入数据流包括的N个输入信号数据中每个输入信号数据的获取规则为:每间隔预设个数的时钟clock获取并顺序存储一个输入信号数据,其中,所述预设个数由通道数和相应输入信号数据的采样率确定,所述通道数由所述输入数据流对应的带宽组合确定,每种带宽组合的总带宽相等。

在一种可能的实现方式中,所述获取模块用于:

基于所述预设带宽配置模式存储顺序从所述第(1+n)个DPRAM中倒序读取与所述第j个输入信号数据处于同一带宽的第一组输入信号数据,且从第(M-n)个DPRAM中顺序读取与所述第j个输入信号数据处于同一带宽的第二组输入信号数据,其中,所述倒序读取的顺序与所述预设带宽配置模式对应的存储顺序相反,所述顺序读取的顺序与所述存储顺序相同,所述第(1+n)个DPRAM与所述第(M-n)个DPRAM处于对称位置,所述n依次取0到(M-1)的整数;

由多个所述第一组输入信号数据和多个所述第二组输入信号数据构成所述多个输入信号数据。

在一种可能的实现方式中,所述处理模块具体用于:

将所述第j个输入信号数据、多个所述第一组输入信号数据和多个所述第二组输入信号数据中具有相同滤波器系数的输入信号数据的输入值相加,并与相应的所述滤波器系数相乘,获得多个输出信号分量。

在一种可能的实现方式中,所述输出模块具体用于:

对所述多个输出信号分量进行累加,确定与所述第j个输入信号数据对应的输出信号。

第四方面,本发明实施例提供一种计算机装置,包括:

至少一个处理器,以及

与所述至少一个处理器通信连接的存储器、通信接口;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,利用所述通信接口执行如第二方面所述的方法。

第五方面,本发明实施例提供一种计算机可读存储介质,包括:

所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第二方面所述的方法。

本发明实施例中在获取输入数据流包括的N个输入信号数据的第j个输入信号数据时,基于预设带宽配置模式读取在第j个输入信号数据之前接收的多个输入数据,而预设带宽配置模式与输入数据流对应的至少两种带宽相关、用于指示每个输入信号数据在DPRAM内的存取地址,然后根据预设规则对第j个输入信号数据及多个输入信号数据进行处理,获得多个输出信号分量,进而确定并输出与第j个输入信号数据对应的输出信号。即本发明实施例提供的数据处理方法能够同时处理至少两种带宽的输入信号,降低了数字滤波器处理输入信号的复杂度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中常用的数字滤波器的结构简图;

图2为现有技术中另一种数字滤波器的结构简图;

图3为本发明实施例提供的一种数字滤波器的结构示意图;

图4为本发明实施例中两个DPRAM模块连接读写原理图;

图5为本发明实施例提供的一种数据处理方法的流程示意图;

图6为本发明实施例提供的另一种数字滤波器的结构示意图;

图7为本发明实施例提供的一种计算机装置的结构示意图。

具体实施方式

为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

首先,对现有技术中常用的数字滤波器进行介绍如下。

图1为现有技术中常用的数字滤波器的结构简图,其中,Z-1表示延时,即每间隔一定时间获取一个输入信号数据。图1中,x8可以表示接收的第9个输入信号数据,接收的前8个输入信号数据分别为x7、x6、x5、x4、x3、x2、x1、x0;c0、c1、……、c8表示滤波器系数。

因此,当接收输入信号数据为x8,对应的输出信号可以表示为:

y8=x0*c8+x1*c7+x2*c6+x3*c5+x4*c4+x5*c3+x6*c2+x7*c1+x8*c0。

由于滤波器系数具有对称性,即c0和c8、c1和c7、c2和c6、c3和c5相等。因此,请参见图2,为现有技术中另一种数字滤波器的结构简图。图2中,x(n)为输入信号数据,y(n)为相应的输出信号,a0、a1、a2、a3和a4为滤波器系数。

下面结合附图对本发明优选的实施方式进行详细说明。

实施例一

本发明实施例中的可配置带宽数字滤波器,可以使用现场可编程门阵列(Field-Programmable Gate Array,FPGA)平台,可以采用脉动型有限长单位冲激响(Systolic Finite Impulse Response,SFIR)滤波器架构,使用高速率的滤波器时钟进行数字滤波,即可以根据实际所需的最大带宽进行设定滤波器时钟,并且在进行数字滤波的过程中不变。

本发明实施例中的数字滤波器可以处理LTE、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)等类型的通道信号。

请参见图3,为本发明实施例的可配置带宽数字滤波器的结构示意图,该数字滤波器可包括控制模块31、串行连接的M个双端口随机存储器(Double Port Random Access Memory,DPRAM)模块32、多个第一加法器模块33、多个存储模块34、多个乘法器模块35、多个延时模块36、多个第二加法器模块37和累加器38,其中,累加器38的作用为对多个第二加法器模块37得到的结果进行累加,图中的X(n)为输入信号对应的输入数据流,Y(n)为相应的输出信号,n可以依次取0到N的整数,N为大于等于1的整数。

控制模块31可以用于存储输入数据流中的各个输入信号数据的存取地址,其中,存取地址包括写地址和读地址;还可以用于存储滤波器系数地址,一个滤波器系数地址可以指示相应的滤波器系数在存储模块中的相应存储位置;控制模块31包括的使能单元存在两种状态,分别可以用0或1表示,即当使能为1时可以指示数字滤波器写入输入信号数据,当使能为0时可以禁止数字滤波器写入输入信号数据。

DPRAM模块32可以包括两个端口,一个端口可以用于写时序,另一个端口可以用于读数据,并且DPRAM模块32存储数据的深度可以由数字滤波器所需处理的输入数据流的数据量来决定。图3中以示出10个DPRAM模块32为例。由图3可知,10个DPRAM模块32为串行连接,其中,10个DPRAM模块32中的DPRAM模块1与控制模块31连接,可以用于接收输入信号数据。10个DPRAM模块32中处于对称位置的两个DPRAM模块32与同一个第一加法器模块33连接,如DPRAM模块1和DPRAM模块10、DPRAM模块2和DPRAM模块9等。

为便于本领域技术人员理解两两DPRAM模块32之间的连接关系,请参见图4,为本发明实施例中两个DPRAM模块32之间的连接读写原理图,以DPRAM模块1和DPRAM模块2的连接为例。其中,当控制模块32中的使能单元的状态为1,即可以指示数字滤波器写入输入信号数据时,DPRAM模块1写入一个输入信号数据,并可以按照预设带宽配置模式通过端口1将该输入信号数据存到相应的写地址,然后通过端口2从读地址读取与前述一个输入信号数据临近的前一个输入信号数据(图4中用输出信号数据表示),作为DPRAM模块2的输入信号数据写入。

由于输入信号数据是顺序性的存放在10个DPRAM中的,不同的带宽配置模式,依次写入的输入信号数据属于不同的通道,数据的读取须按照对应的带宽配置模式进行读取。

图3中以示出5个第一加法器模块33为例。由图3可知,一个第一加法器模块33可以连接M个DPRAM模块32中处于对称位置的两个DPRAM模块32,可以用于对该两个DPRAM模块32输出的输入信号数据的输入值进行对应相加。

比如,DPRAM模块1和DPRAM模块10、DPRAM模块2和DPRAM模块9、DPRAM模块3和DPRAM模块8、DPRAM模块4和DPRAM模块7、DPRAM模块5和DPRAM模块6输出的输出值可以通过连接的相应的第一加法器模块33直接相加。

本发明实施例中可以高负荷的使用乘法器模块35,即可以使用少数乘法器模块35的资源实现高阶数的数字滤波。可以通过以下公式计算得到一个乘法器模块35的复用次数,即:

复用次数=滤波器时钟/(通道数*通道速率)

其中,通道数可以与输入数据流的带宽组合相关、且与数字滤波器的通道模式对应。

在一种可能的实现方式中,若数字滤波器的通道模式为单通道模式,则单通道的输入采样率为F;或,

若数字滤波器的通道模式为双通道模式,则双通道中每个通道的输入采样率为F/2;或,

若数字滤波器的通道模式为三通道模式,则三通道中一个通道的输入采样率为F/2、另两个通道中每个通道的输入采样率为F/4;或,

若数字滤波器的通道模式为四通道模式,则四通道中每个通道的输入采样率为F/4。

比如,可以参见表1,为本发明实施例中数字滤波器的通道模式对应的通道配置表。

表1

表1中,多通道的数字滤波器的通道数可以配置为4,而当数字滤波器的通道模式为单通道模式时,其可以容纳的通道数为1,输入采样率为1倍采样率,例如输入采样率为F,这时,输入数据流对应的带宽组合可以由通道资源工作模式0000指示为20MHZ。

当数字滤波器的通道模式为双通道模式时,其可以容纳的通道数为2,这时带宽组合可以包括3/4采样率,即3F/4的15MHZ和1/4采样率,即F/4的5MHZ,该带宽组合可以由通道资源工作模式0001指示。或者,当数字滤波器的通道模式为双通道模式时,其可以容纳的通道数为2,这时带宽组合可以包括两个1/4采样率,即3F/4的10MHZ,该带宽组合可以由通道资源工作模式0101指示。其中,通道资源工作模式可以自定义设置。

而数字滤波器的通道模式的其他情况可以参见表1,本发明实施例不作赘述。

本发明实施例中的数字滤波器可以实现多个不同带宽组合,各个带宽都是协议范围内的,每种带宽组合的总带宽相等。通道速率与输入信号数据的采样率相关或者相等。

乘法器模块35的个数与数字滤波器阶数、每个乘法器模块35复用次数相关。因此,可以利用数字滤波器系数的对称性,可以通过以下公式计算确定数字滤波器中所需乘法器模块35的个数,即:

乘法器模块35的个数=数字滤波器的阶数/(2*复用次数)

其中,公式中的“2”由数字滤波器系数的对称性确定。

需要说明的时,若通过上述公式得到的计算结果为整数,则取所得数作为乘法器模块35的个数;若计算结果为小数,则去掉小数部分再加1后所得数作为乘法器模块35的个数。

举例来说,数字滤波器时钟为245.76MHz(单位:兆赫兹),所设计的数字滤波器的阶数为79阶,实现4通道滤波器,每个通道的输入速率为7.68Msps(单位:百万抽样/秒)。

由数字滤波器时钟和通道数,以及每个通道的通道速率可算得每个乘法器的复用次数为245.76/(4*7.68)=8;利用滤波器系数的对称性,可算得需要的乘法器模块为79/(2*8)=4.9375,即需要使用5个乘法器模块35,请仍参见图3所示。

本发明实施例中存储模块34在图3中以只读存储器(Read-Only Memory,ROM)示出。由图3可知,一个存储模块34与一个乘法器模块35连接,用于存储滤波器系数,每个存储模块34存储的滤波器系数的个数可以由乘法器模块35的复用次数确定,或者也可以由滤波器系数的位宽,如16bit确定,其中,位宽与输入信号数据相关。

在实际应用中,滤波器系数可以采用奇对称形式。这时,数字滤波器需要存储的滤波器系数可以由以下公式确定:

滤波器系数的个数=(数字滤波器的阶数+1)/2

而每个存储模块34可以按照顺序依次存储这些滤波器系数。

比如,数字滤波器的阶数为79的数字滤波器,需要40个滤波器系数实现,每个存储模块34可以存储8个滤波器系数。如图3所示,ROM1~ROM5依次按顺序存放滤波器系数:ROM 1存放系数0~7,ROM 2存放系数8~15,ROM 3存放系数16~23,ROM 4存放系数24~31,ROM 5存放系数32~39。

本发明实施例中第二加法器模块37可以与第一加法器模块33相同或者不同。如图3所示,第二加法器模块37与乘法器模块35相连接,可以对通过多个乘法器模块35获得的多个输出信号分量进行累加,获得输出信号Y(n)。

延时模块36可以用于数字滤波器在进行数字滤波的过程中的延时。比如,延时单元可以控制相隔数个时钟clock写入一个输入信号数据到DPRAM模块32,其相隔的数可以由通道数和输入数据采样率决定。

本发明实施例中,延时模块36控制每8个clock写入输入信号X(n)对应的一个输入信号数据到DPRAM模块32中时,控制模块31可以控制依次读取处于对称位置的两个DPRAM模块32中的历史存入的输入信号数据;然后,两两DPRAM模块32的输出信号数据可以通过相应的第一加法器模块33相加,并与相应的存放与存储模块34的滤波器系数通过乘法器模块35相乘,获得多个输出信号分量;再由第二加法器模块37对上述多个输出信号分量进行累加,获得相应的输出信号Y(n)。

综上所述,本发明实施例的一个或者多个技术方案,具有如下技术效果或者优点:

第一、本发明实施例中的数字滤波器可以支持多种制式信号的处理,并且可以支持实时在线配置,使用灵活便捷,滤波效果显著,方便维护。

第二、由于本发明实施例中的数字滤波器采用数字化处理,无需多余的成本,一个数字滤波器兼容多种的带宽组合,效果稳定并且可节省FPGA资源,即降低成本。

实施例二

基于同一发明构思,请参见图5,本发明实施例提供一种数据处理方法,可以应用于如实施例一所述的数字滤波器中。其中,数据处理方法的过程可以描述如下:

S501:在获取输入数据流包括的N个输入信号数据中的第j个输入信号数据时,基于预设带宽配置模式从M个DPRAM中读取在第j个输入信号数据之前接收的多个输入信号数据,其中,预设带宽配置模式与输入数据流对应的至少两种带宽相关、用于指示每个输入信号数据在DPRAM内的存取地址,N为大于等于1的整数,j为小于等于N的整数;

S502:基于预设规则对第j个输入信号数据及多个输入信号数据进行处理,获得多个输出信号分量,其中,预设规则为:将M个DPRAM中处于对称位置的两个DPRAM中具有相同滤波器系数的输入信号数据的输入值相加后,与相应的滤波器系数相乘;

S503:基于多个输出信号分量,确定并输出与第j个输入信号数据对应的输出信号。

本发明实施例中,获取输入数据流包括的N个输入信号数据中每个输入信号数据的获取规则为:每间隔预设个数的时钟获取并顺序存储一个输入信号数据,其中,预设个数由通道数和相应输入信号数据的采样率确定,通道数由输入数据流对应的带宽组合确定,每种带宽组合的总带宽相等。带宽组合可以包括5MHz、10MHz、15MHz、20MHz中的至少一项。

假设输入数据流对应的带宽组合为15MHz和5MHz,则对应的通道数为2。输入数据流包括的N个输入信号数据可以表示为x0,x1,x2,x3,x4,……,x28,x29,x30,x31等,其中,每4个输入信号数据可以对应一个周期,如x0,x1,x2为15MHz带宽上的不同的输入信号数据,x3为5MHz带宽上的输入信号数据,即x0,x1,x2,x3可以对应一个周期。

若DPRAM的深度为32,即DPRAM可以包括用于存放数据的地址有32个,可以分别用0,1,2,3,4,……,28,29,30,31表示。则带宽组合为15MHz和5MHz的输入数据流,在每间隔预设个数的时钟,如8clock获取并顺序存储一个输入信号数据后,一个输入信号数据可以对应一个存放地址,即15MHz带宽的输入信号数据在DPRAM中的存放地址可以为0,1,2,4,5,6,8,9,10,12,13,14,16,17,18,20,21,22,24,25,26,28,29,30;相应地,5MHz带宽的输入信号数据在DPRAM中的存放地址为3,7,11,15,19,23,27,31。

本发明实施例中,每获取一个输入信号数据,在经过数字滤波器的处理后,可以相应得到一个与该输入信号数据对应的输出信号。

在S501中,预设带宽配置模式与输入数据流对应的至少两种带宽相关,比如输入数据流对应的带宽包括15MHz和5MHz,这时,可以根据上述带宽组合对应的通道,将DPRAM内的存取地址分为两个部分,一个部分用于存储15MHz带宽上的输入信号数据,一部分可以用于存储5MHz带宽上的输入信号数据,而预设带宽配置模式可以指示每个输入信号数据在DPRAM内的存放地址,需要说明的是,存放地址与相应的读取地址为同一地址。

因此,在获取输入数据流包括的N个输入信号数据中的第j个输入信号数据时,可以根据预设带宽配置模式从M个DPRAM中读取在第j个输入信号数据之前接收的多个输入信号数据。

比如,在依次获取并顺序存放x0,x1,x2,x3,x4,……,x28,x29,x30,x31输入数据之后,通过第一个DPRAM获取第33个输入信号数据,即x32时,可以先将x32存放到x0原来对应的存放地址0上。然后,可以根据预设带宽配置模式,从M个DPRAM中读取在第33个输入信号数据之前接收的多个输入信号数据。

在一种可能的实现方式中,基于预设带宽配置模式从M个DPRAM中读取在第j个输入信号数据之前接收的多个输入信号数据,可以通过但不仅限于以下方式进行。

读取DPRAM中输入信号数据的原则可以包括:同一通道,即处于同一带宽的输入信号数据需要按照存储顺序进行读取,最后存入的数据应该最先读取出来;依次读取与每个存储模块34存储的滤波器系数对应个数的输入信号数据。

即若通过M个DPRAM中的第1个DPRAM获取第j个输入信号数据,则基于预设带宽配置模式从第(1+n)个DPRAM中倒序读取与第j个输入信号数据处于同一带宽的第一组输入信号数据,且从第(M-n)个DPRAM中顺序读取与第j个输入信号数据处于同一带宽的第二组输入信号数据。

上述例子继续,请同时参见图3,假设在依次获取并顺序存放x0,x1,x2,x3,x4,……,x28,x29,x30,x31输入数据之后,通过第一个DPRAM获取第33个输入信号数据时,即x32时,可以先将x32存放到x0原来对应的存放地址0上。

针对带宽为15MHz的输入信号数据,从DRRAM模块1中读出的第一组输入信号数据的地址分别为:0、30、29、28、26、25、24和22;而从DRRAM模块10中读出的第二组输入信号数据的地址分别为:21、22、24、25、26、28、29和30。从DPRAM模块2中读出的第一组输入信号数据的地址分别为:1、0、30、29、28、26、25和24;从DPRAM模块9中读出的第二组输入信号数据的地址分别为:22、24、25、26、28、29、30、0。其他的DPRAM模块的输出类似,本发明实施例不再赘述。

由多个第一组输入信号数据和多个第二组输入信号数据构成多个输入信号数据。

然后,可以进入S502,即基于预设规则对第j个输入信号数据及多个输入信号数据进行处理,获得多个输出信号分量,其中,预设规则为:将M个DPRAM中处于对称位置的两个DPRAM中具有相同滤波器系数的输入信号数据的输入值相加后,与相应的所述滤波器系数相乘。

在一种可能的实现方式中,基于预设规则对第j个输入信号数据及多个输入信号数据进行处理,获得多个输出信号分量,可以包括:

将第j个输入信号数据、多个第一组输入信号数据和多个第二组输入信号数据中具有相同滤波器系数的输入信号数据的输入值相加,并与相应的滤波器系数相乘,获得多个输出信号分量。

上述例子继续,请仍参见图3,将0、30、29、28、26、25、24和22分别对应的输入信号数据的输入值,与21、22、24、25、26、28、29和30分别对应的输入信号数据的输入值相加,然后与相应的滤波器系数相乘,可以获得多个输出信号分量。如地址0对应的输入信号数据的输入值与地址21对应的输入信号数据的输入值相加,与ROM1中存储的滤波器系数地址0对应的滤波器系数相乘,可以得到一个输出信号分量;又如地址30对应的输入信号数据的输入值与地址22对应的输入信号数据的输入值相加,与ROM1中存储的滤波器系数地址1对应的滤波器系数相乘,可以得到一个输出信号分量。其余输入信号数据的计算方式类似,本发明实施例中不再赘述。

在通过上述方式获得多个输出信号分量之后,可以进入S503,即基于多个输出信号分量,确定并输出与第j个输入信号数据对应的输出信号。

在一种可能的实现方式中,所述基于多个输出信号分量,确定与第j个输入信号数据对应的输出信号,可以包括对多个输出信号分量进行累加,确定与第j个输入信号数据对应的输出信号。

综上所述,本发明实施例的一个或者多个技术方案,具有如下技术效果或者优点:

本发明实施例中在获取输入数据流包括的N个输入信号数据的第j个输入信号数据时,基于预设带宽配置模式读取在第j个输入信号数据之前接收的多个输入数据,而预设带宽配置模式与输入数据流对应的至少两种带宽相关、用于指示每个输入信号数据在DPRAM内的存取地址,然后根据预设规则对第j个输入信号数据及多个输入信号数据进行处理,获得多个输出信号分量,进而确定并输出与第j个输入信号数据对应的输出信号。即本发明实施例提供的数据处理方法能够同时处理至少两种带宽的输入信号,降低了数字滤波器处理输入信号的复杂度。

实施例三

基于同一发明构思,请参见图6,本发明实施例提供一种数字滤波器,可以应用如实施例二所述的数据处理方法。数字滤波器包括依次连接的M个双端口随机存储器DPRAM、获取模块61、处理模块62和输出模块63,所述M为大于等于2的整数。

其中,获取模块61,用于在获取输入数据流包括的N个输入信号数据中的第j个输入信号数据时,基于预设带宽配置模式从所述M个DPRAM中读取在所述第j个输入信号数据之前接收的多个输入信号数据,其中,所述预设带宽配置模式与所述输入数据流对应的至少两种带宽相关、用于指示每个输入信号数据在所述DPRAM内的存取地址,N为大于等于1的整数,j为小于等于N的整数;

处理模块62,用于基于预设规则对所述第j个输入信号数据及所述多个输入信号数据进行处理,获得多个输出信号分量,其中,所述预设规则为:将所述M个DPRAM中处于对称位置的两个DPRAM中具有相同滤波器系数的输入信号数据的输入值相加后,与相应的所述滤波器系数相乘;

输出模块63,用于基于所述多个输出信号分量,确定并输出与所述第j个输入信号数据对应的输出信号。

在一种可能的实现方式中,所述获取模块61获取输入数据流包括的N个输入信号数据中每个输入信号数据的获取规则为:每间隔预设个数的时钟clock获取并顺序存储一个输入信号数据,其中,所述预设个数由通道数和相应输入信号数据的采样率确定,所述通道数由所述输入数据流对应的带宽组合确定,每种带宽组合的总带宽相等。

在一种可能的实现方式中,所述获取模块61用于:

基于所述预设带宽配置模式存储顺序从所述第(1+n)个DPRAM中倒序读取与所述第j个输入信号数据处于同一带宽的第一组输入信号数据,且从第(M-n)个DPRAM中顺序读取与所述第j个输入信号数据处于同一带宽的第二组输入信号数据,其中,所述倒序读取的顺序与所述预设带宽配置模式对应的存储顺序相反,所述顺序读取的顺序与所述存储顺序相同,所述第(1+n)个DPRAM与所述第(M-n)个DPRAM处于对称位置,所述n依次取0到(M-1)的整数;

由多个所述第一组输入信号数据和多个所述第二组输入信号数据构成所述多个输入信号数据。

在一种可能的实现方式中,所述处理模块62具体用于:

将所述第j个输入信号数据、多个所述第一组输入信号数据和多个所述第二组输入信号数据中具有相同滤波器系数的输入信号数据的输入值相加,并与相应的所述滤波器系数相乘,获得多个输出信号分量。

在一种可能的实现方式中,所述输出模块63具体用于:

对所述多个输出信号分量进行累加,确定与所述第j个输入信号数据对应的输出信号。

实施例四

请参见图7,基于同一发明构思,本发明实施例中提供一种计算机装置,包括至少一个处理器71,以及与所述至少一个处理器71通信连接的存储器72和通信接口73,图7中以示出一个处理器71为例。

其中,所述存储器72存储有可被所述至少一个处理器71执行的指令,所述至少一个处理器71通过执行所述存储器72存储的指令,利用所述通信接口73执行如实施例二中所述的方法。

实施例五

基于同一发明构思,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如实施例二所述的方法。

在具体的实施过程中,计算机可读存储介质包括:通用串行总线闪存盘(UMiversal Serial Bus flash drive,USB)、移动硬盘、只读存储器(Read-OMly PePory,ROP)、随机存取存储器(RaMdoP Access PePory,RAP)、磁碟或者光盘等各种可以存储程序代码的存储介质。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROP/RAP、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1