一种频域滤波器及实现频域滤波的方法

文档序号:7533202阅读:304来源:国知局
专利名称:一种频域滤波器及实现频域滤波的方法
技术领域
本发明涉及数字信号处理技术,特别是指一种频域滤波器及实现频域滤波的方法。
背景技术
在目前的数字信号处理系统中,滤波器被广泛应用于干扰的滤除、有用信号的提取、信号的整形等各方面。对于一般的、线性时不变系统的离散数字信号,目前主要使用时域卷积型和频域相乘型两种滤波器对其进行处理。对于滤波特性不变的滤波器而言,时域卷积型的滤波器由于有高效的查表方式的电路实现形式,非常节省计算资源,所以在芯片设计中得到了广泛的应用。但是在有些场合中,滤波器的单位脉冲响应的形状需要进行动态的变化,从而使得时域卷积形式的滤波器难于设计,而且需要的资源也过多。在这种情况下,可以用快速傅立叶变换(FFT)将时域信号转换为频域信号,再与滤波器频域系数简单的相乘后即可完成滤波,然后通过快速傅立叶反变换(IFFT)将滤波后的频域信号转换为时域信号输出。
在一项名称为“同时宽带和窄带无线通信的方法和装置”、公开号为CN 1141104A的中国发明专利申请中,公开了一个基于傅立叶正反变换的频域滤波方案。如图1所示,模块的输入信号是一个宽带的码分多址(CDMA)载波信号和几个窄带的调频(FM)信号,该方案是将上述两个信号混合后直接进行快速傅立叶变换41,然后在频域进行调频信号功率的检测42,并将检测到的调频信号用频域的陷波器滤除43,再将未被滤除的信号进行快速傅立叶反变换44还原为不包含调频信号的码分多址载波时域信号。
由于该方案中直接将信号进行快速傅立叶正反变换处理,这将导致经过傅立叶变换后的数据段首尾附近的数据经过滤波处理后发生相位的跳变,从而严重地影响了滤波效果,并将使滤波后的信号的相位产生非线性,因而对CDMA系统的解调性能影响很大;另外,由于正反傅立叶变换的运算延时非常大,从而导致整个滤波器的群延时也非常大,而在码分多址的蜂窝无线通讯系统中,信号处理的延时过大会严重影响无线通信系统的小区半径和功率控制等指标,所以需要采取必要的措施来有效地控制处理延时;同时,本方案无法从外部对滤波器频域系数进行动态的修改。
在另一项名称为“优化移动无线电系统发射机的性能的方法”、公开号为CN 1354609A的中国发明专利申请中,也公开了一个基于傅立叶正反变换的频域滤波方案,如图2所示。该专利申请所描述的方案是一种利用包括离散傅里叶变换(DFT)运算、频域滤波、离散傅里叶反变换(IDFT)运算、交叠处理样点块和过采样的一些处理操作优化移动无线电系统多载波发射机的性能的方法。其中,对于给定的输入采样频率、给定的输出采样频率的数量级和给定的所要求的频率分辨率的数量级,将DFT的长度LDFT和IDFT的长度LIDFT选择成能尽可能精细地选择交叠百分比和过采样因子。
该方案首先根据频域分辨率要求、DFT的输入信号带宽以及IDFT的输出信号带宽等信息,来确定离散傅立叶正反变换的长度、交叠的百分比和过采样因子;根据相应交叠百分比进行交叠提取之后的各个载波信号经过变频器7、8进行频偏处理,将各信道中心频率调整正确;接着进行补零移位处理1,将数据长度进行归一化调整;再进行DFT运算2,然后在频域对载波信号进行宽带信号的成型滤波运算3,再将各个载波的频域数据合并同时补零以调整数据长度4,然后进行IDFT运算5,最后对恢复出来的时域数据进行交叠数据相加合并的处理6,得到最终的滤波后的时域数据。
由于此方案是针对多载波的信号合并成型的应用,所以在频域滤波实现方面存在一些缺点。首先,由于交叠处理是选用交叠相加方式,并且有信号带宽的限制,所以对滤波群延时指标的优化有限;并且由于没有完全改善相位跳变的问题,所以需要引入额外的相位跳变抑制电路;其次,不同信号的离散傅里叶正反变换运算的长度、速率有很大差异,无法进行运算模块的复用设计,导致资源使用过多、实现难度增加、成本大幅上升;最后,该方案也无法实现从外部对滤波器频域系数进行动态的修改。
一般情况下频域滤波处理过程的延时都较大,并且经过分段式傅立叶变换后的数据段将出现首尾处的信号滤波效果差、相位的非线性等问题,从而使得频域滤波的设计和应用受到了一定的限制,但是,如果在频域滤波处理过程中增加对时域数据的交叠和反交叠处理后,以上问题就可以得到明显的改善。交叠和反交叠处理技术的原理,如图3所示如果输入的时域信号S1要进行运算长度为N的快速傅立叶变换,并且要求在交叠处理过程中的交叠长度为L,那么可从S1的第一个数据点开始,在S1上每隔(N-L)个数据取一段长度为N个数据的数据段,其中每个数据段中从末端算起的L个数据与下一个数据段的前L个数据是相同的,即交叠长度为L。这样,可按一定的顺序将S1分割成若干个长度为N、交叠长度为L的数据段,从而完成了对时域信号S1的交叠处理。由于S1的长度在理论上并没有限制,所以我们可以考虑取前F1个数据段的交叠处理过程,更多个数据段的交叠处理过程可依此类推。
上述进行交叠处理后的F1个数据段分别进行快速傅立叶变换、频域滤波、傅立叶反变换,经过上述处理后而得到的相应的F1个时域输出数据段再进行如下所述的反交叠处理。
现有技术中有多种反交叠处理的方法,其中一种就是将需进行反交叠处理的各个数据段按照交叠处理过程中的顺序直接进行叠加组合,组成希望得到的经过频域滤波之后的数据,这种方法称为交叠相加方法,上述现有技术二中就是使用了该种方法;除上述的交叠相加方法外,目前还有一种更有效的交叠处理技术,如图3所示,就是将各个需进行反交叠处理的F1个数据段前、后端的各L/2个数据剔除,将各个数据段中剩下的(N-L)个数据提出,按照交叠处理过程中的顺序进行组合,组成希望得到的经过频域滤波处理之后的数据。从图3可以看出,经过这种交叠、反交叠处理后,输出的滤波数据比没有进行交叠处理前的输入数据,提前了L/2个数据样点,也就是使频域滤波的群延时减少了相应的时间;同时,由于在反交叠处理过程中剔除了各个数据段的前、后端各L/2个数据,从而避免了数据段边缘的数据输出,使得滤波效果有很大的改善。随着交叠长度L的增大,滤波的性能就越好,但是同时也使实现的资源大大增加,成本升高。所以,在提高滤波性能的同时还必须有效地解决实现的资源问题。

发明内容
有鉴于此,本发明的主要目的在于提供一种频域滤波器及实现频域滤波的方法,在有效改善滤波性能和降低滤波器延时的同时,还可大大降低实现成本。
本发明的进一步目的在于提供上述频域滤波器及实现频域滤波的方法,可以方便、快捷、动态地修改频域滤波器的滤波特性。
为达到上述目的,本发明的技术方案是这样实现的一种频域滤波器,包括控制模块、存储单元阵列、滤波器系数存储器、数据切换模块、旋转因子查表模块、输出数据合并模块及至少一个高速通用运算单元;其中,需要进行频域滤波的时域数据通过数据总线连接到所述的存储单元阵列,该存储单元阵列通过数据总线将经过频域滤波处理的时域数据输出至所述的输出数据合并模块,经增益调整后输出最终的时域数据;所述的控制模块与存储单元阵列之间通过读/写、地址信号线相连接;所述的控制模块连接外部输入的时域数据同步信号;所述的控制模块输出数据合并控制信号至所述的输出数据合并模块,控制滤波后的时域输出数据的选通及合并;所述的控制模块输出旋转因子查表控制信号至所述的旋转因子查表模块,控制其在傅立叶正/反变换时同步查表以及输出相应的旋转因子至高速通用运算单元;所述的控制模块输出数据切换控制信号至所述的数据切换模块,控制其对存储单元阵列输入/输出数据的选通及对高速通用运算单元傅立叶运算和频域滤波运算数据的切换,存储单元阵列与数据切换模块及数据切换模块与高速通用运算单元之间均通过双向数据总线相连;所述的控制模块输出状态控制信号至所述的高速通用运算单元,控制其傅立叶运算和频域滤波运算状态的切换。
所述的存储单元阵列由至少两个存储单元构成。
所述的存储单元阵列是RAM阵列。
所述的存储单元是由至少2个RAM构成的RAM组。
所述的滤波器系数存储器由至少一个RAM构成。
所述高速通用运算单元为蝶形运算单元。
所述数据切换模块至少由输入选择器、输出选择器、输入分路器、输出分路器和至少两个输入输出切换单元构成;所述的输入输出切换单元与存储单元阵列中的存储单元在数目上相等,并一一对应,且各输入输出切换单元分别通过双向数据总线与其对应的存储单元连接,各输入输出切换单元的一路数据输出端均连接至所述的输入选择器,各输入输出切换单元的一路数据输入端均连接至所述的输出分路器;输入选择器的数据输出端连接所述的输入分路器;输入分路器的两路数据输出端连接所述的高速通用运算单元;输出选择器的两路数据输入端连接所述的高速通用运算单元,输出选择器的数据输出端连接所述的输出分路器。
所述的控制模块进一步输出同步控制信号至所述的滤波器系数存储器,控制其在使用期间处于写保护,在空闲期间取消写保护,可以进行滤波器系数的更新。
一种实现频域滤波的方法,包括以下步骤
分别将需要进行频域滤波的各段时域数据交叠存储在一存储单元阵列的各个存储单元中;将上述存储单元阵列存储的各段交叠的时域数据于不同时间段分别在同一个高速通用运算单元中进行傅立叶变换运算、频域滤波运算、傅立叶反变换运算,并将经过上述滤波处理后的时域数据再存储在存储单元阵列的各存储单元中;依次选择读取上述存储在存储单元阵列的各存储单元中的滤波处理后的时域数据,同时进行反交叠处理,合并输出得到最终的时域数据;并且,对一段时域数据在存储单元阵列一存储单元的存储完成之前,高速通用运算单元对存储单元阵列前一存储单元存储的交叠的前一段时域数据的傅立叶反变换运算已经完成。
所述的频域滤波方法,进一步包括对反交叠处理后的时域数据进一步进行增益调整处理。
所述的频域滤波方法,进一步包括对所述频域滤波运算的滤波系数进行更新。
所述的频域滤波方法,对存储单元阵列中一存储单元存储的一段交叠时域数据在高速通用运算单元中进行傅立叶变换运算、频域滤波运算和傅立叶反变换运算时,其运算数据的读出和运算结果的写入是交替在存储单元的两个存储器中同时进行。
本发明针对普通频域滤波方案中数据段首尾附近滤波效果差和滤波器延时较大的问题,增加了数据的交叠、反交叠处理,通过适当地增加交叠长度,可以有效的改善滤波的效果和降低滤波器的延时;本发明通过时分复用,用少量甚至一个高速通用运算单元,如蝶形运算单元,就可完成多个经过交叠处理的数据段的快速傅立叶变换、快速傅立叶反变换、频域滤波运算等数据运算处理,节省了大量的运算单元,从而大大降低了资源使用需求,使实现更加方便,实现成本大大降低。同时,本发明还提供了一个滤波器系数存储器,可以方便、快捷、动态的修改滤波器的系数,在一些需要自适应滤波特性的系统中可以得到很好的应用。


图1为现有技术一的技术方案示意图;图2为现有技术二的技术方案示意图;图3为交叠、反交叠处理技术原理示意图;图4为本发明的动态频域滤波处理原理示意图;图5为本发明的动态频域滤波器实现结构示意图;图6为本发明中一实施例中一个RAM组的数据处理流程7为本发明的动态频域滤波器中的数据切换模块结构示意图;图8为本发明一实施例的数据处理总体时序图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明中对信号进行动态频域滤波处理的原理如图4所示,包括以下步骤步骤401将输入的时域信号,即输入数据流,进行交叠处理,使其被分割成根据一定的交叠百分比进行重叠取值的多个数据段。
步骤402将经过交叠处理后的各数据段分别进行快速傅立叶变换。
步骤403将经过快速傅立叶变换后得到的各段频域数据与滤波器系数存储器中提供的频域滤波器系数相乘,完成频域滤波运算。其中,频域滤波器的系数放置在一个滤波器系数存储器中,该存储器可以由软件或其他计算电路进行实时更新,实现频域滤波器特性的动态修改。
步骤404将完成频域滤波的各个数据段分别进行快速傅立叶反变换,恢复成时域数据段。
步骤405将各时域数据段进行反交叠处理,得到时域输出数据流。
在上述交叠及反交叠处理过程中,随着交叠长度L的增大,所需的运算资源等也大大增加,从而导致成本升高。为解决该问题,必须提高运算的效率,并且有效的将运算和控制单元进行高度的复用。由于在进行傅立叶变换运算之前需进行时域数据的存储,所以可在进行时域数据的存储时将快速傅立叶运算的速率提高,使得在等待时域数据存储期间尽可能多地进行傅立叶变换运算。一般的宽带通信系统中,基带时域数据的传输速率往往在几兆赫兹以上,所以,可将数据传输速率倍频数十倍后作为傅立叶变换的运算速率,从而使运算单元等各种资源得到充分的利用。
基于较低速率的时域数据输入和高速的傅立叶变换的运算模块,可设计一种性能优良、低成本的动态频域滤波方案,其实现结构如图5所示。
本发明的主要特点之一是使用了一个存储单元阵列,该阵列由至少2个独立的存储单元构成,为经过交叠处理后的数据段和傅立叶运算、滤波运算的中间数据提供存储空间,该存储单元阵列可以是随机存取存贮器(RAM)阵列。以RAM阵列为例,RAM阵列中的每一个存储单元称为一个RAM组,每一个RAM组由至少2个RAM构成,其功能是完成数据运算的原位存储。在同一时间,两个RAM中只能是一个处于读状态,另一个处于写状态,处于读状态的那个RAM负责将需要进行计算的数据以数据流的方式读出,送给计算单元;计算结果则可存储到同组的另一个处于写状态的RAM。
另外,本发明利用高速集成电路芯片的特点,使用了一个高速的通用运算单元,如蝶形运算单元,该单元可通过上述存储单元阵列及本发明提供的一种数据切换模块进行时分复用,为其他运算提供资源。
同时,本发明还提供了一个可由外部控制的滤波器系数存储器,其功能是可动态地修改频域滤波器的滤波特性,并使得外部对滤波器系数的更新与滤波运算过程实现同步。
以存储单元阵列为RAM阵列为例,如图5所示本发明提供的一种动态频域滤波器包括控制模块501、存储单元阵列502、滤波器系数存储器503、数据切换模块504、输出数据合并模块506、旋转因子查表模块507以及至少一个高速通用运算单元505;控制模块501有6路控制信号输出端,分别连接所述的存储单元阵列502、滤波器系数存储器503、数据切换模块504、高速通用运算单元505、输出数据合并模块506和旋转因子查表模块507,控制模块501还有一路外部控制信号输入端口。
其中,控制信号10是提供存储单元阵列的读写控制和选通控制信号,控制数据的输入、输出、交叠、反交叠、蝶形运算、频域滤波等处理的读写;控制信号11是输出数据合并控制信号,控制不同存储单元的最终时域输出数据的选通、合并;控制信号12是滤波器系数存储器的同步控制信号,在存储器系数使用期间进行存储器的写保护,在空闲状态中取消写保护,可以进行系数的更新;控制信号13是旋转因子查表控制信号,使旋转因子的查表与傅立叶运算同步,并在傅立叶正、反变换时控制输出相应的旋转因子;控制信号14是高速通用运算单元的状态控制信号,实现对该单元的蝶形运算状态和频域滤波运算状态之间的切换控制;控制信号15是数据切换控制信号,通过对存储单元和高速通用运算单元的输入输出数据的选通控制,实现了高速通用运算单元对多个存储单元数据运算的时分复用,并实现对蝶形运算、频域滤波运算数据的输入切换控制;外部控制信号16是外部的时域数据输入的同步信号,使控制模块与外部输入数据的时序同步。
首先,控制模块501向RAM阵列502发出控制信号10,通过该控制信号对各存储单元写地址操作的控制,在时域数据1经过输入数据总线输入到RAM阵列502的输入过程2中完成图3所示的交叠处理,并将交叠处理过程中产生的各个时域数据段逐个分配到RAM阵列502中的各个存储单元,即RAM组中;各个数据段的所有处理过程中所需的存储空间,由该数据段所在的RAM组提供。
然后,根据控制模块501向RAM阵列502、旋转因子查表模块507、高速通用运算单元505、数据切换模块504分别发出的控制信号10、13、14、15,各个RAM组中的存储数据与高速通用运算单元505,以下以蝶形运算单元为例,该单元中可以有4个并行的乘法器和6个加法器,通过数据切换模块504进行高速的交换,即将数据从RAM组中读出并通过双向数据总线5上送入数据切换模块504,在数据切换模块504中经数据切换后,将需要进行蝶形运算的数据经双向数据总线6输入蝶形运算单元505与旋转因子查表模块507同步输出的相应的旋转因子7进行蝶形运算。经过蝶形运算处理后的数据经双向数据总线6传输给数据切换模块504进行分配,再经双向数据总线5写入到RAM阵列502中相应的RAM组。根据快速傅立叶运算的原理,多次重复以上过程,即可将原输入的时域数据全部转换为与其相对应的频域数据,即完成了快速傅立叶变换。
接着,根据控制模块501发出的控制信号10、12、14、15,相应RAM组中的频域数据和滤波器系数存储器503中相应的滤波器系数9被同步地送入蝶形运算单元505,在该单元中进行相乘运算,完成滤波运算。滤波运算后的结果经数据切换模块504被送入RAM阵列502中相应的RAM组进行存储,准备进行快速傅立叶反变换处理。
接着,根据控制模块501发出的控制信号10、13、14、15,各个RAM组中的存储数据通过数据切换模块504与蝶形运算单元505进行高速的交换,即将数据从RAM组中读到双向数据总线5上送入数据切换模块504,在数据切换模块504中经数据切换后,将需要进行蝶形运算的数据经双向数据总线6输入蝶形运算单元505与旋转因子查表模块507同步输出的进行过共轭处理后的相应的旋转因子7进行蝶形运算。经过蝶形运算处理后的数据经双向数据总线6传输给数据切换模块504进行分配,再经双向数据总线5写入到RAM阵列502中相应的RAM组。多次重复以上过程,即可将需转换的频域数据全部转换为与其相对应的时域数据,即完成了快速傅立叶反变换。
根据控制模块501发出的控制信号10、11,从相应的RAM组中输出反交叠处理所需的输出数据3;各存储单元读出的不同的数据段在输出数据合并模块506中经过如图3所示的反交叠处理,并且进行相应的快速傅立叶反变换结果的增益调整后,即可得到最终的时域输出数据4,从而达到了频域滤波的目的。
图5中所示的滤波器系数存储器503由至少一个RAM构成,可以从外部对滤波器系数存储器中的滤波器系数进行动态的调整,从而实现频域滤波器特性的动态更新,该动态更新可由软件或计算电路完成。外部输入的对滤波器系数存储器中相应数据8的更新,可以在不进行滤波运算时写入滤波器系数存储器,为进行下一次频域滤波做好准备。
图6所示为一个RAM组中的两个RAM的数据处理流程图。如果需进行的傅立叶变换的计算长度是2N个数据点,则傅立叶正、反变换都需进行N级的蝶形运算处理。通过如图6所示的流程图,以N=8即需进行的傅立叶变换的计算长度是256个数据点为例,在一个RAM组中,通过对两个RAM轮换读写的操作,可以高速地完成所需的运算处理。最后,在该流程结束时的数据输出时,只是对RAM2进行读操作,而此时的RAM1就已经可以进行下一段数据的输入处理了。通过反复进行上述流程,可以实现对数据流的高速处理,并可有效提高交叠处理的交叠比例。
在图5中所示的动态频域滤波器实现结构示意图中,关于数据切换模块的详细描述,以与其连接的RAM阵列502由3个独立的存储单元,即3个RAM组构成为例,如图7所示。
图7中的RAM阵列502包括3个RAM组,每个RAM组中包含两个RAM。在同一时间,两个RAM中只能是一个处于读状态,另一个处于写状态。处于读状态的那个RAM负责将需要进行计算的数据以数据流的方式读出,送给计算单元;计算结果则可存储到同组的另一个处于写状态的RAM。这样,同组的两个RAM按图6所示的流程进行N次读写操作,即可完成2N个数据的傅立叶变换。
如图7所示,数据切换模块504至少由输入选择器702、输出分路器703、输入分路器704、输出选择器705和至少两个输入输出切换单元701构成。数据切换模块504中输入输出切换单元701的数目与存储单元阵列存储单元的个数相等,并与存储单元阵列中的存储单元一一对应。以下描述均以所述存储单元阵列为RAM阵列502为例,则数据切换模块504中有3个输入输出切换单元701,且每个输入输出切换单元701分别与RAM阵列502中的RAM组一一对应,其作用是使与其所连接的RAM组与选择器之间进行数据交换,并确保其所连接的RAM组中的两个RAM处在正确的读或写的状态中。输入选择器702是一个多选一模块,当数据切换模块504中有3个输入输出切换单元701时,输入选择器702可以是一个三选一模块,并可依此类推,以下以输入选择器702是一个三选一模块为例进行说明。该输入选择器702的作用是根据通用运算单元所处的时分复用的状态,通过控制信号15从由输入输出模块传输的3个RAM组的输出数据中选择其中一个RAM组的输出数据,传输给输入分路器704,输入分路器704根据控制信号15判断该数据需进行蝶形运算还是需进行频域滤波运算后,再将该数据送给高速通用运算单元505中相应的运算单元。以高速通用运算单元505为蝶形运算单元为例,输出选择器705是一个二选一模块,其作用是对于经过蝶形运算单元505处理后的输出数据,首先需要根据控制信号15判断当前高速通用运算单元505所处的运算状态,再对其输出的频域滤波输出数据和蝶形运算输出数据进行二选一的选择,得到所需的输出数据,将该数据传输给输出分路器703。输出分路器703根据控制信号15判断高速通用运算单元505当前所处的时分复用的状态,再将该数据分配给相应的正在进行数据读写的RAM组所连接的输入输出切换单元701。该数据再经过输入输出切换单元701的输入输出切换,将数据送给当前RAM组中负责数据存储的RAM,完成数据的存储。上述数据切换模块对时分复用的数据控制和运算状态的切换时序分别由上述控制信号15进行控制。
上述的对数据切换模块的描述均是以存储单元阵列为RAM阵列,且RAM阵列由3个RAM组构成为例而进行的说明,当存储单元阵列的不是RAM阵列而是由其他类型的存储单元构成,或RAM阵列中的RAM组的数目为2或大于3时,上述数据切换的方法也同样适用,只是数据切换模块的构造将做相应地进行变化,以适合数据切换的需要。另外,上述数据切换模块的结构组成中,各个子模块均较简单,只是整体的电路结构需适应RAM阵列和时分复用的通用运算单元的接口要求。
基于图5所示的动态频域滤波器实现结构示意图,本发明一具体实施例中数据处理的总体时序如图8所示。图8中的点状图形表示时域输入数据,纵线图形表示傅立叶正反变换和频域滤波运算,横线图形表示滤波后的时域输出数据。在该具体实施例中,输入的时域数据传输速率为2.4576兆赫兹,需要进行计算长度为256个数据点的快速傅立叶变换实现频域滤波,数据的交叠长度要求为140个数据点。将时域数据传输速率进行倍频25倍后作为蝶形运算的速率,即61.44兆赫兹。
如图8所示在频域滤波处理开始时,RAM组1开始对输入时域数据流的包括第1个数据点在内的前256个数据点的第一个数据段进行处理,即将该段时域数据存入RAM组1中,即801中的点状图形;当该段输入时域数据的存储完成后,通过数据切换模块504将RAM组1中的存储数据传输到高速通用运算单元505中进行傅立叶变换的蝶形运算,此时旋转因子模块507同步地进行查表,提供运算所需的旋转因子,运算结果存回RAM组1中;蝶形运算处理完毕后,高速通用运算单元505切换到频域滤波的运算状态,此时滤波器系数存储器503也同步的输出滤波器系数,与通过数据切换模块504传输到高速通用运算单元505中的RAM组1中的暂存的蝶形运算之后的频域数据进行频域滤波的运算,运算结果存回RAM组1中;滤波运算处理完毕后,高速通用运算单元505再切换回蝶形运算状态,对RAM组1中暂存的滤波之后的频域数据进行傅立叶反变换,得到时域数据,运算结果存回RAM组1中,以上的傅立叶正反变换和频域滤波的运算均由801中的纵线图形表示;完成上述处理后的数据立即通过输出数据合并模块506,对RAM组1中的输出数据进行选择、输出,完成反交叠后的数据输出,输出数据由801中的横线图形表示。同理,数据段802、803、804、805、...的处理方式与上述处理方式相同,各数据段输出的数据即所有数据段的横线部分就能合成完整的经过滤波后的输出时域数据。
因为要进行交叠处理并且实现对高速通用单元的时分复用,所以可在输入时域数据流的第117个数据点输入RAM组1的同时将该数据点后,包括该数据点在内的256个数据点的第2段数据存储到RAM组2中即802中的点状图形;并在输入时域数据流的第233个数据点输入RAM组1、RAM组2的同时将该数据点后,包括该数据点在内的256个数据点的第3段数据存储到RAM组3中即803中的点状图形;在RAM组2的时域数据输入完毕之前,高速通用运算模块对RAM组1中存储数据的处理已经完毕,可立即开始对RAM组2中的存储数据进行处理;同时,由于RAM组1中的数据已经处理完毕,已可接收新的数据进行存储,所以在输入时域数据流的第349个数据点输入RAM组2、RAM组3的同时将该数据点后,包括该数据点在内的256个数据点的第4段数据重新存储到RAM组1中即804中的点状图形;同理,RAM组3的时域数据输入完毕之前,高速通用运算模块505对RAM组2中存储数据的处理已经完毕,可立即开始对RAM组3中的存储数据进行处理;同时,由于RAM组2中的数据已经处理完毕,已可接收新的数据进行存储,所以在输入时域数据流的第465个数据点输入RAM组3、RAM组1的同时将该数据点后,包括该数据点在内的465个数据点的第5段数据重新存储到RAM组2中即805中的点状图形;依次类推,反复进行RAM阵列中3个RAM组的轮换,便可以实现交叠长度为140个数据点的交叠处理,并且,由于按照这种数据处理方式,3个RAM组和一个高速通用运算单元可进行反复轮换的滤波处理,完成正常的滤波运算,从而也实现了高速通用运算单元的时分复用。
在本实施例中,所有数据段进行交叠处理后的快速傅立叶正反变换以及频域滤波运算都可以通过时分复用的方法用同一个蝶形运算单元来完成,从而大大地节约了电路实现资源;并且,仅通过3个独立存储单元就实现了交叠百分比为55%的交叠及反交叠处理,可以完全满足单位脉冲响应为140阶的滤波器的性能要求;同时,此实施例还将频域滤波器的群延时降低了70个数据点采样时间,即28.5微秒。
本发明的电路实现方案和应用应包括、但不限于上述具体实施例。本发明中所述的傅立叶变换是应用基2算法的快速傅立叶变换,在实际应用中,也可以使用其他的快速傅立叶变换算法,如基4算法等,与之相应的蝶形运算单元的内部结构也会有相应调整;同时,所述的高速通用运算单元可以是蝶形运算单元,也可以是其他的运算单元;本发明中所使用的交叠、反交叠处理技术可以是图3所示的处理方法,也可以是交叠相加方式或其他的交叠、反交叠处理方法;另外,可以根据时域数据传输速率的不同、频域分辨率要求的不同、交叠百分比的不同以及蝶形运算速率的不同,改变快速傅立叶变换的长度和交叠长度,或增加或减少存储单元阵列中存储器组的数量,也可以增加高速通用运算单元的数量,以便在实现成本和滤波效果之间得到更加满足需求的平衡点。本发明的电路实现方案可以通过专用集成电路芯片实现,也可以使用可编程逻辑器件实现;可以应用在包括通信系统信号的接收、发射在内的多种数字信号处理场合中。
综上所述,本发明以高速的集成电路芯片器件(如ASIC或FPGA)为电路实现的基础,在尽量节省芯片资源、降低实现成本的前提下,解决了传统频率滤波结构的不足之处,提供了一个完善的基于快速傅立叶正反变换(FFT/IFFT)、滤波器的滤波特性可动态变化的高效滤波器的实现方案。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种频域滤波器,其特征在于包括控制模块、存储单元阵列、滤波器系数存储器、数据切换模块、旋转因子查表模块、输出数据合并模块及至少一个高速通用运算单元;其中,需要进行频域滤波的时域数据通过数据总线连接到所述的存储单元阵列,该存储单元阵列通过数据总线将经过频域滤波处理的时域数据输出至所述的输出数据合并模块,经增益调整后输出最终的时域数据;所述的控制模块与存储单元阵列之间通过读/写、地址信号线相连接;所述的控制模块连接外部输入的时域数据同步信号;所述的控制模块输出数据合并控制信号至所述的输出数据合并模块,控制滤波后的时域输出数据的选通及合并;所述的控制模块输出旋转因子查表控制信号至所述的旋转因子查表模块,控制其在傅立叶正/反变换时同步查表以及输出相应的旋转因子至高速通用运算单元;所述的控制模块输出数据切换控制信号至所述的数据切换模块,控制其对存储单元阵列输入/输出数据的选通及对高速通用运算单元傅立叶运算和频域滤波运算数据的切换,存储单元阵列与数据切换模块及数据切换模块与高速通用运算单元之间均通过双向数据总线相连;所述的控制模块输出状态控制信号至所述的高速通用运算单元,控制其傅立叶运算和频域滤波运算状态的切换。
2.根据权利要求1所述的频域滤波器,其特征在于所述的存储单元阵列由至少两个存储单元构成。
3.根据权利要求1所述的频域滤波器,其特征在于所述的存储单元阵列是RAM阵列。
4.根据权利要求2所述的频域滤波器,其特征在于所述的存储单元是由至少2个RAM构成的RAM组。
5.根据权利要求1所述的频域滤波器,其特征在于所述的滤波器系数存储器由至少一个RAM构成。
6.根据权利要求1所述的频域滤波器,其特征在于所述高速通用运算单元为蝶形运算单元。
7.根据权利要求1所述的频域滤波器,其特征在于所述数据切换模块至少由输入选择器、输出选择器、输入分路器、输出分路器和至少两个输入输出切换单元构成;所述的输入输出切换单元与存储单元阵列中的存储单元在数目上相等,并一一对应,且各输入输出切换单元分别通过双向数据总线与其对应的存储单元连接,各输入输出切换单元的一路数据输出端均连接至所述的输入选择器,各输入输出切换单元的一路数据输入端均连接至所述的输出分路器;输入选择器的数据输出端连接所述的输入分路器;输入分路器的两路数据输出端连接所述的高速通用运算单元;输出选择器的两路数据输入端连接所述的高速通用运算单元,输出选择器的数据输出端连接所述的输出分路器。
8.根据权利要求1所述的频域滤波器,其特征在于所述的控制模块进一步输出同步控制信号至所述的滤波器系数存储器,控制其在使用期间处于写保护,在空闲期间取消写保护,可以进行滤波器系数的更新。
9.一种实现频域滤波的方法,其特征在于包括以下步骤分别将需要进行频域滤波的各段时域数据交叠存储在一存储单元阵列的各个存储单元中;将上述存储单元阵列存储的各段交叠的时域数据于不同时间段分别在同一个高速通用运算单元中进行傅立叶变换运算、频域滤波运算、傅立叶反变换运算,并将经过上述滤波处理后的时域数据再存储在存储单元阵列的各存储单元中;依次选择读取上述存储在存储单元阵列的各存储单元中的滤波处理后的时域数据,同时进行反交叠处理,合并输出得到最终的时域数据;并且,对一段时域数据在存储单元阵列一存储单元的存储完成之前,高速通用运算单元对存储单元阵列前一存储单元存储的交叠的前一段时域数据的傅立叶反变换运算已经完成。
10.根据权利要求9所述的频域滤波方法,其特征在于对反交叠处理后的时域数据进一步进行增益调整处理。
11.根据权利要求9所述的频域滤波方法,其特征在于进一步包括对所述频域滤波运算的滤波系数进行更新。
12.根据权利要求9所述的频域滤波方法,其特征在于对存储单元阵列中一存储单元存储的一段交叠时域数据在高速通用运算单元中进行傅立叶变换运算、频域滤波运算和傅立叶反变换运算时,其运算数据的读出和运算结果的写入是交替在存储单元的两个存储器中同时进行。
全文摘要
本发明公开了一种频域滤波器,该频域滤波器包括控制模块、存储单元阵列、滤波器系数存储器、数据切换模块、旋转因子查表模块、输出数据合并模块及至少一个高速通用运算单元;所述的高速通用运算单元可通过所述的存储单元阵列、数据切换模块进行时分复用,为完成快速傅立叶变换、快速傅立叶反变换、频域滤波运算等数据运算处理提供资源。同时,本发明还公开了一种实现频域滤波的方法。本发明解决了传统频率滤波结构的不足之处,提供了一个完善的基于快速傅立叶正反变换、滤波器的滤波特性可动态变化的高效滤波器的实现方案。
文档编号H03H17/02GK1567807SQ0314659
公开日2005年1月19日 申请日期2003年7月8日 优先权日2003年7月8日
发明者吴沛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1