CN101958697A - 一种多相滤波结构的实现方法及装置 - Google Patents
一种多相滤波结构的实现方法及装置 Download PDFInfo
- Publication number
- CN101958697A CN101958697A CN 201010297382 CN201010297382A CN101958697A CN 101958697 A CN101958697 A CN 101958697A CN 201010297382 CN201010297382 CN 201010297382 CN 201010297382 A CN201010297382 A CN 201010297382A CN 101958697 A CN101958697 A CN 101958697A
- Authority
- CN
- China
- Prior art keywords
- data
- coefficient
- clock
- multiphase filtering
- filtering structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种具备同步运算能力和阶数实时可变的多相滤波结构的实现方案,它利用多相滤波结构中的支路滤波器在结构上的重复性,采用时分复用内核加权求和单元的方案为基础实现多相滤波运算与采样率变换;本方案一方面使多相滤波结构具备与工作时钟同步的数据处理和吞吐能力;另一方面,通过对数据分组缓存的存储深度和相关运算控制参数的在线设置动态地改变多相滤波结构的抽取或内插率,使得多相滤波结构在无额外硬件开销的前提下具备阶数可实时改变的功能。
Description
技术领域
本发明属于数字信号处理技术领域,涉及到多相滤波结构的实现,更具体说,涉及一种具备同步运算能力且阶数可变的多相滤波结构的高效实现方法和装置。
背景技术
数字信号处理建立在对物理世界中的模拟信号进行采样和量化的基础上,数字信号的采样率通常取决于模拟信号的物理特性与系统的处理能力。在数字通信、雷达与电子侦察、仪器仪表、数字音视频、自动控制等领域,电子系统前后端所处理的信号往往具有不同的物理特性(如带宽、中心频率等),为前后端分别选择合理的数字信号采样率则可大大提高电子系统的处理效率。因此,数字信号处理领域存在大量变采样率信号处理模型和算法,如软件无线电系统中的数字上/下变频,电子侦察接收机中的信道化数字滤波器组,数字图像的多分辨率表示,语音或图像压缩中的多通道子带编码等等。
多相滤波结构作为数字信号处理领域的一种经典模型,在实现抽样或内插时具有很高的资源利用率,因而被广泛应用在各类可编程逻辑器件、数字信号处理器或专用集成电路上,以实现各种变采样率信号处理。
例如,抽样系统中为防止抽取后信号产生混叠,一般在抽样前要对信号进行抗混叠滤波,如图1(A);内插系统中为得到内插后信号的基带部分,一般在内插后要对输出信号进行低通滤波,如图1(B)。抽取系统中的抗混叠滤波器和内插系统中的低通滤波器常采用FIR滤波器,其原型如图2所示。对于抽头数为N的FIR滤波器,可将其分解成M组抽头数为D的子滤波器(其中N=M×D,M、D均为正整数),这种分解称为多相(Polyphase)分解,如图3所示。对应的转移函数可表示为:
式(1)中,令ed(n)=h(mD+d),其转移函数为Ed(z),则得到:
将式(2)代入图1(A)所示的抽取系统即可得到图4(A)所示的先多相滤波后抽取的结构,该结构又等效为图4(B)所示的倍抽取器位于支路滤波器之前的先抽取后滤波的多相结构,其中子滤波器的结构如图5所示。类似地,可由图1(B)所示的内插系统得到图6所示的两种多相滤波内插结构。关于多相滤波结构的具体原理及推导在一般教科书上均有描述,此处不再详述。除抽取和内插系统外,多相滤波结构还被应用于信道分离和信道综合滤波器组的高效实现,如图7、图8所示。事实上,可将类似的变采样率信号处理模型看作多相滤波结构与线性运算的组合,如图9(A)和(B)所示。
在多相结构的工程实现中,抽取(或内插)系统中的延迟、抽取(或内插)等较复杂的操作可等效为简单的开关切换操作,如图10所示。另一方面,由于实际应用中抽取(或内插)率往往比较大,图9(A)中多相滤波抽取结构的输出(或图9(B)中多相滤波内插结构的输入)尽管在逻辑上是并行的,但实现时却多采用串行输出(或输入)的方式。这样,多相滤波抽取结构的输出(或多相滤波内插结构的输入)亦可用开关切换操作来实现。在输入输出均为串行模式的情况下,多相滤波抽取和内插结构的运算模型是等效的,如图11所示,其中即图10(A)和图10(B)中的Ed(z)。设输入为x(n),输出为y(n),该等效运算模型可由式(3)表示:
为节约硬件资源开销,多相滤波结构常通过时分复用一个加权求和单元来实现,主要包括各支路数据和系数向量的生成、内核滤波运算三部分,如图12所示。由于加权运算单元及其后续处理均可采用流水线结构,因此多相滤波结构效率和灵活性的主要瓶颈在于各支路的数据向量和系数向量的生成。传统的支路数据与系数向量生成方法主要存在两大问题:
一、效率低:传统方法往往需要多个时钟周期才能完成一组数据向量的排序和输出,从而成为效率瓶颈。提高工作时钟频率虽然可以提升处理速度,但却会造成稳定性和功耗的恶化,若此时器件工作频率已达到上限,则吞吐率的需求便无法得到满足。
二、灵活差:传统方法只能针对特定的抽取或内插率(参数)实现排序,若需要变化参数,只能采取切换不同的多相滤波结构或排序器来实现,如图13所示,而这样会大大增加硬件开销,提高功耗和成本。
随着人们对电子系统的处理效率、灵活性、功耗和成本的要求越来越高,基于传统多相滤波结构实现方案的变采样率信号处理算法已越来越无法满足数字通信、电子对抗、数字多媒体等领域的要求。
发明内容
针对上述问题,本发明提出了一种新的支路数据与系数向量生成方法,并在传统的分时复用加权求和单元的方案基础上,提出了一套具备同步运算能力且抽取(或内插)率实时可变的多相滤波结构的实现方法。本方法中的支路数据向量与系数向量生成方法具备两个特点:(1)一个时钟周期内即可生成一个支路的数据和系数向量,(2)抽取(或内插)率D可动态改变。它一方面消除了加权求和单元之前的数据吞吐率瓶颈,另一方面实现了抽取(或内插)率的灵活可变。另外,本发明还提供了运算控制与变阶控制的方法和装置,用以保证多相滤波结构的同步运算能力和可变阶特性。与传统方案相比,本发明提供的多相滤波结构实现方法继承了传统方案硬件开销小的优点,同时大大改善了变采样率信号处理算法的处理效率、灵活性、稳定性、数据吞吐率以及实现成本和功耗等。
为实现上述目的,本发明将提供一个完整的技术方案,它包含两个方面:其一,提供具备同步运算能力和可变阶数的多相滤波结构的实现装置;其二,提供具备同步运算能力和可变阶数的多相滤波结构的实现方法。
为便于描述作如下约定:多相结构的多相因子为M,抽取(或内插)率为D。其中,多相因子M也是图11中支路滤波器Hd(z)的抽头数,根据系统资源和性能的要求被设定为一固定值;D也是多相滤波结构的支路数,是个可变参数,具备K个可能取值D∈{D1,D2,...,DK},其最大取值为DMAX。多相结构的滤波器系数即原型滤波器系数,该原型滤波器满足可分解的条件:抽头数N=M×D(其中M,D均为正整数)。
如图14所示,本发明提供的实现装置包括以下功能单元:
(1)时钟源单元,为各模块提供同步工作时钟clk_f,该时钟与输入数字信号的最高采样时钟同步。
(2)数据向量生成单元,用于生成各支路滤波器的数据向量,并依次输出到加权求和单元。如图15所示,它具有M个数据输出口和1个数据输入口,相邻两个数据输出口之间的延迟为D。当它的输入数据为x(t)时,输出的数据向量由M个数据构成这里xm=x(t-C-(m-1)D),(其中m=1,2,·,M)。C为非负整数,其值由具体实现方式决定。D可由外部控制器实时设置。
(3)系数向量生成单元,用于生成各支路滤波器的系数向量,并依次输出到加权求和单元。该单元中存储了与D1,D2,...,DK相对应的K个原型滤波器的系数。在一个时钟周期内,本单元可输出某一个原型滤波器的M个特定的系数以构成一组系数向量它由D参数序号k和支路号d唯一确定,即wm=hk((m-1)Dk+d),(其中k=1,2,...,K)。
(4)加权求和单元,用于实现多相滤波结构各支路上的滤波运算,即某支路的数据向量以该支路的系数向量为权系数的加权运算。设输入的支路数据向量为(x1,x2,...,xM),系数向量为(w1,w2,...,wM),则输出y的计算式为:
(5)运算控制单元,用于控制数据向量与系数向量的同步生成。该单元对输入数据进行计数,并根据当前的计数值和D参数确定当前的支路号d,控制数据向量生成单元和系数向量生成单元同时输出支路d对应的数据向量和系数向量。
(6)变阶控制单元,用于动态设置多相滤波结构的D参数。该单元根据当前输入的D参数序号k,设置数据向量生成单元的延迟数为Dk,同时让系数向量生成单元输出原形滤波器k的系数,从而实现对D参数的动态设置。
本发明提供的多相滤波结构的实现方法为:
在上述实施装置上,本发明中的多相滤波结构具有如下基本操作:
初始化:装置的初始化。本操作可由输入的复位信号触发,具体包含以下并行的操作:
(1)运算控制单元的数据计数值count清零;
(2)数据向量生成单元中的数据缓存清零;
阶数设置:设置装置的D参数。根据用户对阶数设置生效条件的不同要求,本操作可由复位信号与/或D参数设置口k的变化与/或系统时钟信号触发,具体包含以下步骤:
(1)变阶控制单元读取D参数设置值k;
(2)变阶控制单元通过k值得到具体的D参数Dk;
(3)变阶控制单元根据k值与/或Dk设置运算控制单元、系数向量生成单元和数据向量生成单元的相关参数;
多相滤波运算:进行式(3)的多相滤波运算。根据用户的需要,本操作的触发条件可以是系统时钟与/或初始化操作的完成与/或阶数设置的完成,具体包含以下步骤:
(1)运算控制单元对输入数据进行计数,计算并输出支路号d,其中支路号d=Dk-1-count(modDk),count为计数值;
(2)滤波器系数向量生成单元根据来自变阶控制单元的k值与/或Dk和来自运算控制单元的支路号d从系数存储器中取出一组滤波器系数hk(d),hk(Dk+d),...,hk((M-1)Dk+d)送到加权求和单元;数据向量生成单元将一个新数据x(t)放入缓存,同时根据k值与/或Dk从数据缓存中取出M个数据x(t-C),x(t-C-Dk),x(t-C-2Dk),...,x(t-C-(M-1)Dk)送到加权求和单元。
(3)加权求和单元以M个系数hk(d),hk(Dk+d),...,hk((M-1)Dk+d)为权系数,算出M个数据x(t-C),x(t-C-Dk),x(t-C-2Dk),...,x(t-C-(M-1)Dk)的加权和y(t-C)并输出。
多相滤波结构的工作步骤如下:
步骤1:初始化操作;
步骤2:阶数设置;
步骤3:多相滤波运算;
步骤4:如需重新初始化,则跳至步骤1;如需重新设置阶数,则跳至步骤2;否则跳至步骤3。
上述步骤中,步骤2可与步骤3并行执行,而步骤3可通过采用流水线结构和并行操作实现支路滤波运算的连续进行。这样多相滤波结构就具备了在一个工作时钟周期内输入一个数据并输出一个结果的同步运算能力,以及动态改变抽取(或内插)率D的能力。
上述技术方案中,还可通过将系数存储单元内的某些位置的系数置零,或选择性地屏蔽加权求和运算单元内的部分乘法器等方法来改变多相因子M,进而节省系数存储器空间或实现一些特殊功能。
本发明提供的技术方案的有益效果是:利用多相滤波结构具有众多结构相同的支路滤波器的特点,通过将一个加权求和单元进行时分复用来实现多支路的滤波运算和抽取(或内插),大大节省了乘法器和加法器等硬件资源;另外,本发明提出的支路滤波器数据向量和系数向量的高效率生成方法,可保证数据向量和系数向量的实时生成,使得多相滤波结构具备与工作时钟同步的数据运算和吞吐能力;再者,本发明提出的变阶方案巧妙地实现了多相滤波结构的抽取(或内插)率D的实时可变,并且在必要的硬件开销(即基于DMAX的固定阶数多相滤波结构的数据存储器开销和用于存储多组原型滤波器系数的系数存储器开销)基础上无需再增加额外的存储器、乘法器和加法器等硬件开销。
附图说明
图1:(A)抽取系统(B)内插系统
图2:FIR滤波器的经典结构
图3:FIR滤波器的多相分解
图4:(A)先滤波后抽取的多相结构(B)先抽取后滤波的多相结构
图5:多相滤波器第d支路滤波器的实现结构
图6:(A)先内插后滤波的多相结构(B)先滤波后内插的多相结构
图7:信道分离滤波器组的多相结构
图8:信道综合滤波器组的多相结构
图9:(A)降采样率信号处理中的多相滤波结构(B)升采样率信号处理中的多相滤波结构
图10:(A)多相滤波抽取结构中的等效开关结构(B)多相滤波内插结构中的等效开关结构
图11:多相滤波抽取结构和多相滤波内插结构的等效实现模型
图12:分时复用加权求和单元的多相滤波结构实现方案
图13:切换处理单元的多相滤波结构变阶方案
图14:本发明中多相滤波结构实现装置的结构
图15:数据向量生成单元
图16:具体实施实例一的装置结构
图17:具体实施实例一、二中的加权求和单元
图18:具体实施实例一中控制单元的内部结构
图19:具体实施实例一中运算控制单元状态机的状态转移图
图20:具体实施实例一中的数据与控制信号
图21:具体实施实例一中数据分组缓存的轮转示意图
图22:具体实施实例一的缓存轮转工作机制与数据流向
图23:具体实施实例二的装置结构
图24:具体实施实例二中控制单元的内部结构
图25:具体实施实例二中的数据向量生成和变阶方案
具体实施方式
以下实施例用于说明本发明,但不用来限制本发明的范围。
为使本发明的目的、技术方法和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明提供了具备实时运算能力的可变阶多相滤波结构实现装置和实现方法。利用式(1)或式(2)对满足多相分解条件的FIR原型滤波器进行多相分解,多相因子为M,支路数为D,可得到如图3所示的FIR原型滤波器的多相结构。图11和式(3)展示了串行输入和输出模式下的多相滤波抽取(或内插)结构的运算模型,图12则展示了时分复用加权求和单元的多相滤波结构实现方案。
以下的具体实施实例均以图12所展示的基本方案为基础,根据发明内容中提供的技术方案,为实现同步运算和阶数可变提出切实可行的实施装置与步骤。其中,多相滤波结构的多相因子M固定不变,抽取(或内插)率D有K种可能取值,最大取值为DMAX。
具体实施实例一
装置具体结构如图16所示,它包括以下几部分:
(1)时钟源,提供与输入数字信号的最高采样时钟同步的时钟clk_f;
(2)数据缓冲存储器阵列,简称数据缓存阵列,它包含M+1个容量为DMAX的可读写存储器:RAM(0),RAM(1),…,RAM(M)。
(3)多路复用器,该单元连接数据输入口、控制单元、数据缓存阵列、加权求和单元。具体有如下端口:数据输入口In;与控制单元相连的复用状态控制口S,数据缓存阵列控制信号输入口WR,AddrD_WR,RD,AddrD_RD;与数据缓存阵列相连的控制信号输出口Addr_m,WRm,RDm,数据输入口RAM(m)_Din,数据输出口RAM(m)_Dout,;与加权求和单元相连的数据向量输出口x1,x2,...,xM。多路复用器的选通方式由S口的输入决定,它有M+1种状态,在状态Sm下多路复用器的选通方式如下:
RAM(p)_Din=In;WRp=WR;RDp=无效;Addrpp=AddrD_WR;
RAM(q)_Din=无效;WR q=无效;RDq=RD;Addr_q=AddrD_RD;
xi=RAM(f(i))_Dout;
其中m∈{0,1,·,M};p=(M+1-m)(mod(M+1)),q=0,1,...,M且q≠p,f(i)=(M+1+i-m)(mod(M+1)),i=1,2,...M。
(4)系数存储器阵列,它包含M个存储器,存有K套滤波器系数。其中,第k套滤波器的系数hk(v),(v=0,1,...MDk-1)存放在第[v/Dk]([]表示取整运算)个系数存储器的地址Addrk+Dk-v(modDk)中,其中是第k套滤波器的系数在系数存储器中的起始地址。系数存储器1,2,...M的输出与加权求和单元的输入系数w1,w2,...,wM相连。
(5)加权求和单元,它是一个M抽头的乘加器,完成式(4)的运算,其结构如图17所示。
(6)控制单元,该单元同时具有运算控制和变阶控制功能。它有如下接口:时钟和复位,D参数的设置口k;数据读写控制接口WR,AddrD_WR,RD,AddrD_RD;与系数存储器阵列相连的系数地址接口AddrH,以及输入缓冲的控制接口。其内部结构如图18所示,其中计数器Counter对有效时钟周期计数,计数值d等于Dk时Counter复位,同时触发状态机进入下一状态,状态切换方式如图19。数据缓存阵列的读地址AddrD_RD与写地址AddrD_WR均等于d,而系数地址则等于Addrk+d.控制单元还根据时钟clk_f按照相应的时序产生数据存储器读写信号RD和WR。Dk和Addrk由输入的k值查表得到。
下面对本实施实例中多相滤波结构的实现步骤进行描述。
根据预先设定的滤波器M参数,控制单元中的状态机有M+1种状态,S0,S1,...,SM,每个状态内又包含Dk次操作,不同状态之间仅多路复用器的选通方式不同,其余工作步骤相同,整个多相滤波结构的工作步骤为:
步骤1:复位:控制单元内的状态机恢复初始状态S0,读取k值并得到相应Dk和Addrk,计数器清零,相应的AddrD_RD清零AddrD_WR设为Dk,AddrH设为Addrk;数据缓存阵列内的所有RAM清零。
步骤2:在有效时钟沿到来时,若控制单元内部计数器Counter的计数值d小于Dk则d增加1,当d等于或大于Dk时计数值d清零,同时状态机切换到下一状态,如图19所示。控制单元设置数据缓存阵列的读地址AddrD_RD和写地址AddrD_WR为d,系数读取地址为Addrk+d,此时装置的控制信号与对应的数据和系数向量如图20所不。
步骤3:根据状态机当前的状态Sm(m∈{0,1,·,M}),多路复用器切换到对应的选通模式。图21展示了选通模式切换所造成的数据缓存阵列的轮转以及相应的数据搬移。
步骤4:在有效时钟沿到来时,向RAM(m)的地址AddrD_WR写入一个最新的输入数据。
步骤5:在有效时钟沿到来时,从除RAM(m)外的其余M个RAM中的地址AddrD_RD各读取一个数据,通过多路复用器从x1,x2,...,xM输出。
步骤6:在有效时钟沿到来时,从M个系数存储器的地址AddrH中各读出一个系数,将这M个系数送到w1,w2,...,wM。
步骤7:在有效时钟沿到来时,加权求和单元输出上一次的运算结果,读入数据向量(x1,x2,...,xM)和系数向量(w1,w2,...,wM),并进行加权求和运算。
步骤8:若rst信号有效则重复步骤1,否则重复步骤2。
上述步骤中,步骤2、3、4、5、6、7可在一个有效时钟沿到来时并行执行,这里的有效时钟是指In口上输入数据的采样时钟或In口有新数据到达时的clk_f时钟。
如图22,本实施实例在工作时,随着状态机的连续切换,数据缓存阵列中的M+1个数据存储器将轮流处于写入状态,保证了新数据被连续不断地缓存到装置中,另外M个数据存储器在参与运算保证了数据向量实时输出,这种工作机制即轮转调度机制。
具体实施实例二
该装置的结构如图23所示,它包含以下几个部分:
(1)时钟源,提供频率与最高输入数据率相同的时钟clk_f;
(2)多抽头高阶延迟线,它由位移寄存器或先入先出(FIFO)式的存储器实现,对应D的K种可能取值,高阶延迟线上共有K组抽头序列,其抽头位置为0,D,2D,...,(M-1)D,其中D∈{D1,D2,…,DK},多抽头高阶延迟线的总阶数为(M-1)DMAX。
(3)多路复用器,它的选通方式设置口SEL与控制单元相连,输入口多抽头高阶延迟线的所有抽头相连,输出口与加权求和单元的数据向量输入口x1,x2,...,xM相连。当SEL上的值为k(或DK)时,多路复用器将高阶延迟线的抽头序列0,Dk,2Dk,...,(M-1)Dk分别连接到加权求和单元的数据向量输入口x1,x2,...,xM。
(4)系数存储器阵列,它包含M个存储器,存有K套滤波器系数。其中,第k套滤波器的系数hk(v),(v=0,1,..MDk-1)存放在第[v/Dk]([]表示取整运算)个系数存储器的地址Addrk+Dk-v(modDk)中,其中是第k套滤波器的系数在系数存储器中的起始地址。系数存储器1,2,..M的输出与加权求和单元的输入系数w1,w2,...,wM相连。
(5)加权求和单元,它是一个M抽头的乘加器,完成式(4)的运算,其结构如图17。
(6)控制单元,该单元同时具备运算控制和变阶控制功能。它有如下接口:时钟和复位,和用户接口的k参数输入口;与系数存储器阵列相连的系数地址接口AddrH,以及输入缓冲的控制接口;多路复用器的选通方式设置口SEL。它的内部结构如图24所示,其中计数器Counter对数据有效时钟沿计数,计数值d等于Dk则Counter清零。SEL口等于k(或Dk),而系数地址则等于Addrk+d,Dk和Addrk由输入的k值查表得到。
下面对本实施实例中多相滤波结构的实现步骤进行描述。
步骤1:复位:控制单元内根据k值得到相应Dk和Addrk,计数器值d清零,相应的SEL为k(或Dk),AddrH为Addrk;多抽头高阶延迟线内所有存储单元清零。
步骤2:在有效时钟沿到来时,若控制单元内部的计数器的计数值d小于Dk则d增加1,若d等于或大于Dk则清零。同时设置SEL值为k(或Dk),系数地址AddrH为Addrk+d。
步骤3:多路复用器根据输入的SEL值k(或Dk),将高阶延迟线上的抽头序列0,Dk,2Dk,...,(M-1)Dk连接到x1,x2,...,xM。
步骤4:在有效时钟沿到来时,高阶延迟线从In输入一个最新的数据,其余内部数据依次向后移一个单元,最末单元的数据被丢弃。
步骤5:在有效时钟沿到来时,高阶延迟线抽头0,Dk,2Dk,...,(M-1)Dk上的数据经多路复用器输出口x1,x2,...,xM送到加权求和单元。
步骤6:在有效时钟沿到来时,从M个系数存储器的地址AddrH中各读出一个系数,将这M个系数经w1,w2,...,wM送入加权求和单元。
步骤7:在有效时钟沿到来时,加权求和单元输出上一次的运算结果,读入数据向量(x1,x2,...,xM)和系数向量(w1,w2,...,wM),进行加权求和运算。
步骤8:若rst信号有效则重复步骤1,否则重复步骤2。
上述步骤中,步骤2、3、4、5、6、7可在一个有效时钟沿到来时并行执行,这里的有效时钟是指In口上输入数据的采样时钟或In口有新数据到达时的clk_f时钟
本实施实例在工作时,数据向量随着新数据的输入而自动生成,如图25所示。
在上述两个具体实施实例中,当输入数据采样时钟和clk_f同步时,多相滤波结构处于连续工作状态,即每个工作时钟周期内都输入一个新数据,输出一个处理结果,实现了输入输出与工作时钟同步的运算能力。
多数情况下,多相滤波结构的M参数由设计人员根据系统需求事先确定,工作时,通过改变k值来调整D参数,即改变抽取(或内插)率。另外,还可将系数存储单元内的某些位置的系数置零,或选择性地屏蔽加权求和运算单元内的部分乘法器,来改变M参数,进而节省系数存储器空间或实现特殊功能。
若仅需要实现固定抽取率或内插率的多相滤波结构,只需在上述具体实施实例的控制单元中将D参数固定即可,这样上述实施实例即可作为具备同步运算能力和固定抽取(或内插)率的多相滤波结构。也就是说,可变阶的方案和相关装置方法也可以不包含在本发明中。
若多相滤波结构仅仅需要可变阶的特性而无需同步运算能力,也可以采用其它非实时运算装置和方法来实现多相滤波结构的运算,仅仅通过本发明中提出的控制和改变生成数据向量过程中的数据延迟数来实现多相滤波结构阶数的动态改变。
从上面的描述中,可以清楚地得知本发明的诸多特征和效果,因此通过本发明的权利要求覆盖属于其真正思想和保护范围中的所有本发明的特征和效果。包括实现数据向量同步生成方案的多缓存并行操作机制,及其衍生的多缓存轮转机制和多抽头延迟线机制;实现可变阶数据向量生成的动态延迟阶数设置机制,及其实现方式等。本发明提供的变阶方案在不增加数据存储器、运算单元等硬件开销的前提下使得多相滤波结构具备非常强的灵活性。
以上所述仅是本发明的优选实施方式,以此说明本发明的思想而不是限制本发明涵盖的范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种多相滤波结构的实现装置,其特征在于包括:
一个数据向量生成单元,用于缓存输入的数字信号采样点,并根据该多相滤波结构的多相因子M和抽取或内插率D生成输入各支路滤波器的数据向量,一个数据向量包含M个数据,数据间依次延迟D个采样时刻;
一个系数向量生成单元,用于存储该多相滤波结构的滤波器系数,并根据该多相滤波结构的多相因子M和抽取或内插率D生成各支路滤波器的系数向量,一个系数向量包含M个系数,对应原型滤波器中的抽头位置依次间隔D;
一个加权求和单元,用于实现该多相滤波结构各支路上的滤波运算,即求各支路数据以对应支路系数为权系数的加权和;
一个运算控制单元,用于控制和同步数据向量生成单元、滤波器系数向量生成单元以及加权求和单元的工作,并根据装置的工作时钟、输入数字信号的采样时钟和该多相滤波结构的抽取或内插率D,实现该多相滤波结构的运算流程。
2.根据权利要求1所述的多相滤波结构的实现装置,其特征在于,还包括一个时钟模块和一前级输入缓存,所述时钟模块用于向装置中各个单元提供同步时钟;所述前级输入缓存,用于将采样率小于或等于工作时钟的连续数字信号转化成采样率等于工作时钟的非连续数字信号,使多相滤波结构对采样率小于或等于其工作时钟频率的变采样率数字信号进行实时处理。
3.根据权利要求1所述的多相滤波结构的实现装置,其特征在于,其中所述数据向量生成单元具有以下特征:(1)对数据进行分段缓存,(2)各缓存段并行操作,(3)在一个时钟周期内输入一个采样数据并输出一组数据向量。
4.根据权利要求1所述的多相滤波结构的实现装置,其特征在于,其中所述系数向量生成单元具有以下特征:(1)对系数进行分组存储,(2)各存储段并行操作,(3)在一个时钟周期内输出一组系数向量。
5.根据权利要求1所述的多相滤波结构的实现装置,其特征在于,其中所述运算控制单元根据参数D,在每输入一个采样数据时,产生一个支路号d,控制所述数据向量生成单元存储新输入的采样数据并输出支路滤波器d上的数据向量,控制所述系数向量生成单元输出支路滤波器d上的系数向量,还控制所述加权求和单元进行一次滤波运算并输出运算结果;其中所述运算控制单元在一个时钟周期内实现支路号d的产生和对所述数据向量生成单元、所述系数向量生成单元和所述加权求和单元的控制,进而在所述一个时钟周期内完成一次多相滤波运算,使得装置具备与工作时钟同步的数据处理和吞吐能力。
6.根据权利要求1所述的多相滤波结构的实现装置,其特征在于,其中所述数据向量生成单元还具有如下特征:动态设置所生成数据向量中数据间的延迟D。
7.根据权利要求1所述的多相滤波结构的实现装置,其特征在于,其中所述系数向量生成单元还具有如下特征:存储与多个D参数相对应的滤波器的系数,并动态指定其输出某一个滤波器的系数向量。
8.根据权利要求1所述的多相滤波结构的实现装置,其特征在于,其中所述运算控制单元还具有如下特征:用于产生支路号的D参数被动态设置。
9.根据权利要求1或6或7或8所述的多相滤波结构的实现装置,其特征在于,还包括一变阶控制单元,用于设置多相滤波结构的抽取或内插率D,并对数据向量生成单元、系数向量生成单元、加权运算单元和运算控制单元中的D参数进行动态设置,进而实现对多相滤波结构的抽取或内插率D的动态设置。
10.根据权利要求1或3或7所述的多相滤波结构的实现装置,其特征在于,其中数据向量生成单元的数据分段缓存和并行操作通过一种多缓存轮转调度机制来实现,具体方法如下:设多相因子为M,采用M+1个数据存储器RAM(0)~RAM(M),轮转调度器具有M+1个状态S0~SM,在状态Sm时(其中m=0,1,·,M),根据支路号d将输入的采样数据写入RAM(m)的地址d中,同时从其余M个数据存储器的地址d中各读出一个数据RAM(q)_Dout,其中q∈{0,1,...,M}且q≠(M+1-m)(mod(M+1)),按顺序x1,x2,...,xM构成一组数据向量输出,其中xi=RAM(f(i))_Dout,f(i)=(M+1+i-m)(mod(M+1)),i=1,2,...M;每输入一个采样数据,支路号d累加1,当d计到D时,d清零并切换到下一个状态,即状态(m+1)(modM),如此反复;
其中所述运算控制单元通过产生数据存储器读写地址和读写控制信号,和状态机控制多路器实现所述多缓存轮转调度机制,进而实现该多相滤波结构的连续不间断工作。
11.根据权利要求1或3或7所述的多相滤波结构的实现装置,其特征在于,其中所述数据向量生成单元的数据间的延迟D的设置通过设置数据存储器的读写地址d的变化范围来实现,其具体方法是:若多相滤波结构具有K种可能的支路数D1,D2,...,DK,在高阶延迟线上设K组抽头并将其作为多路复用器的输入,当多相滤波结构的支路数D被设为Dk时,其中k∈{1,2,...,K},将数据向量生成单元中数据分组存储器的读写地址的范围设置为0~Dk-1;所述变阶控制单元根据输入的D参数改变运算控制单元中控制数据存储器和系数存储器地址变化范围的参数,进而实现抽取或内插率D的实时改变。
12.根据权利要求1或3或7所述的多相滤波结构的实现装置,其特征在于,其中所述数据向量生成单元的数据分组存储和并行操作通过多抽头的高阶延迟线来实现,具体方法是:当该多相滤波结构的支路数为D,多相因子为M时,高阶延迟线上位置为0,D,2D,...,(M-1)D处加入抽头;数据从延迟线最前端输入,当一个新数据输入时,延迟线中现有数据依次后移一个单元,最末单元中的数据被丢弃,从前述抽头输出一组数据向量。
13.根据权利要求1或3或7所述的多相滤波结构的实现装置,其特征在于,其中所述数据向量生成单元的输出数据延迟间隔D的设置通过高阶延迟线上多组抽头的切换来实现,具体方法是:若多相滤波结构具有K种可能的支路数D1,D2,...,DK,在高阶延迟线上设K组抽头并将其作为多路复用器的输入,当多相滤波结构的支路数D被设为Dk时,其中k∈{1,2,...,K},多路复用器将抽头0,Dk,2Dk,...,(M-1)Dk上的M个数据作为数据向量输出。
14.一种如权利要求1所述的多相滤波结构的实现装置的工作方法,其特征在于具体工作步骤为:
步骤1:复位:控制单元内的状态机恢复初始状态S0,读取k值并得到相应Dk和Addrk,计数器清零,相应的AddrD_RD清零AddrD_WR设为Dk,AddrH设为Addrk;数据缓存阵列内的所有RAM清零;
步骤2:在有效时钟沿到来时,若所述控制单元内部计数器Counter的计数值d小于Dk则d增加1,当d等于或大于Dk时计数值d清零,同时所述状态机切换到下一状态;所述控制单元设置数据缓存阵列的读地址AddrD_RD和写地址AddrD_WR为d,系数读取地址为Addrk+d;
步骤3:根据所述状态机当前的状态Sm(m∈{0,1,·,M}),多路复用器切换到对应的选通模式;
步骤4:在有效时钟沿到来时,向RAM(m)的地址AddrD_WR写入一个最新的输入数据;
步骤5:在有效时钟沿到来时,从除RAM(m)外的其余M个RAM中的地址AddrD_RD各读取一个数据,通过所述多路复用器从x1,x2,...,xM输出;
步骤6:在有效时钟沿到来时,从M个系数存储器的地址AddrH中各读出一个系数,将这M个系数送到w1,w2,...,wM;
步骤7:在有效时钟沿到来时,所述加权求和单元输出上一次的运算结果,读入数据向量(x1,x2,...,xM)和系数向量(w1,w2,...,wM),并进行加权求和运算;
步骤8:若rst信号有效则重复步骤1,否则重复步骤2;
上述步骤中,步骤2、3、4、5、6、7在一个有效时钟沿到来时并行执行,这里的有效时钟是指In口上输入数据的采样时钟或In口有新数据到达时的clk f时钟;另外工作时,数据缓存阵列中的M+1个数据存储器将轮流处于写入状态,保证了新数据被连续不断地缓存到装置中,另外M个数据存储器在参与运算保证了数据向量实时输出。
15.一种如权利要求1所述的多相滤波结构的实现装置的工作方法,其特征在于具体工作步骤为:
步骤1:复位:所述控制单元内根据k值得到相应Dk和Addrk,计数器值d清零,相应的SEL为k或Dk,AddrH为Addrk;多抽头高阶延迟线内所有存储单元清零;
步骤2:在有效时钟沿到来时,若所述控制单元内部的计数器的计数值d小于Dk则d增加1,若d等于或大于Dk则清零。同时设置SEL值为k或Dk,系数地址AddrH为Addrk+d;
步骤3:所述多路复用器根据输入的SEL值k或Dk,将高阶延迟线上的抽头序列0,Dk,2Dk,...,(M-1)Dk连接到x1,x2,...,xM;
步骤4:在有效时钟沿到来时,高阶延迟线从In输入一个最新的数据,其余内部数据依次向后移一个单元,最末单元的数据被丢弃;
步骤5:在有效时钟沿到来时,高阶延迟线抽头0,Dk,2Dk,...,(M-1)Dk上的数据经多路复用器输出口x1,x2,...,xM送到所述加权求和单元;
步骤6:在有效时钟沿到来时,从M个系数存储器的地址AddrH中各读出一个系数,将这M个系数经w1,w2,...,wM送入所述加权求和单元;
步骤7:在有效时钟沿到来时,所述加权求和单元输出上一次的运算结果,读入数据向量(x1,x2,...,xM)和系数向量(w1,w2,...,wM),进行加权求和运算;
步骤8:若rst信号有效则重复步骤1,否则重复步骤2;
上述步骤中,步骤2、3、4、5、6、7可在一个有效时钟沿到来时并行执行,这里的有效时钟是指In口上输入数据的采样时钟或In口有新数据到达时的clk_f时钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102973820A CN101958697B (zh) | 2010-09-30 | 2010-09-30 | 一种多相滤波结构的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102973820A CN101958697B (zh) | 2010-09-30 | 2010-09-30 | 一种多相滤波结构的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101958697A true CN101958697A (zh) | 2011-01-26 |
CN101958697B CN101958697B (zh) | 2012-11-14 |
Family
ID=43485841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102973820A Expired - Fee Related CN101958697B (zh) | 2010-09-30 | 2010-09-30 | 一种多相滤波结构的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101958697B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473365A (zh) * | 2013-09-25 | 2013-12-25 | 北京奇虎科技有限公司 | 一种基于hdfs的文件存储方法、装置及分布式文件系统 |
CN104539263A (zh) * | 2014-12-25 | 2015-04-22 | 电子科技大学 | 一种可重构低功耗数字fir滤波器 |
CN106656105A (zh) * | 2016-09-30 | 2017-05-10 | 歌尔科技有限公司 | 一种正弦插值方法、装置和高速数据采集设备 |
CN110247642A (zh) * | 2019-06-13 | 2019-09-17 | 江苏卓胜微电子股份有限公司 | 一种fir滤波方法及滤波器 |
CN111884655A (zh) * | 2020-07-27 | 2020-11-03 | 中国电子科技集团公司第三十六研究所 | 一种可变模小数变频的串行信号处理方法及装置 |
CN112346392A (zh) * | 2021-01-07 | 2021-02-09 | 江苏永鼎通信有限公司 | 5g超带宽高速信号的并行滤波方法、系统及装置 |
CN112886944A (zh) * | 2019-11-29 | 2021-06-01 | 西安诺瓦星云科技股份有限公司 | 滤波器系数生成方法及装置 |
CN113346871A (zh) * | 2021-03-30 | 2021-09-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道多相多速率适配fir数字滤波处理架构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10322164A (ja) * | 1997-05-21 | 1998-12-04 | Nec Corp | ディジタルフィルタ |
CN1371179A (zh) * | 2001-02-20 | 2002-09-25 | 三星电子株式会社 | 采样速率转换装置及采样速率转换方法 |
CN1992517A (zh) * | 2005-12-26 | 2007-07-04 | 中兴通讯股份有限公司 | 一种可编程内插滤波器装置及其实现方法 |
-
2010
- 2010-09-30 CN CN2010102973820A patent/CN101958697B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10322164A (ja) * | 1997-05-21 | 1998-12-04 | Nec Corp | ディジタルフィルタ |
CN1371179A (zh) * | 2001-02-20 | 2002-09-25 | 三星电子株式会社 | 采样速率转换装置及采样速率转换方法 |
CN1992517A (zh) * | 2005-12-26 | 2007-07-04 | 中兴通讯股份有限公司 | 一种可编程内插滤波器装置及其实现方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473365B (zh) * | 2013-09-25 | 2017-06-06 | 北京奇虎科技有限公司 | 一种基于hdfs的文件存储方法、装置及分布式文件系统 |
CN103473365A (zh) * | 2013-09-25 | 2013-12-25 | 北京奇虎科技有限公司 | 一种基于hdfs的文件存储方法、装置及分布式文件系统 |
CN104539263A (zh) * | 2014-12-25 | 2015-04-22 | 电子科技大学 | 一种可重构低功耗数字fir滤波器 |
CN104539263B (zh) * | 2014-12-25 | 2017-04-12 | 电子科技大学 | 一种可重构低功耗数字fir滤波器 |
CN106656105B (zh) * | 2016-09-30 | 2020-02-28 | 歌尔科技有限公司 | 一种正弦插值方法、装置和高速数据采集设备 |
CN106656105A (zh) * | 2016-09-30 | 2017-05-10 | 歌尔科技有限公司 | 一种正弦插值方法、装置和高速数据采集设备 |
CN110247642A (zh) * | 2019-06-13 | 2019-09-17 | 江苏卓胜微电子股份有限公司 | 一种fir滤波方法及滤波器 |
CN112886944A (zh) * | 2019-11-29 | 2021-06-01 | 西安诺瓦星云科技股份有限公司 | 滤波器系数生成方法及装置 |
CN111884655A (zh) * | 2020-07-27 | 2020-11-03 | 中国电子科技集团公司第三十六研究所 | 一种可变模小数变频的串行信号处理方法及装置 |
CN111884655B (zh) * | 2020-07-27 | 2024-02-20 | 中国电子科技集团公司第三十六研究所 | 一种可变模小数变频的串行信号处理方法及装置 |
CN112346392A (zh) * | 2021-01-07 | 2021-02-09 | 江苏永鼎通信有限公司 | 5g超带宽高速信号的并行滤波方法、系统及装置 |
CN113346871A (zh) * | 2021-03-30 | 2021-09-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道多相多速率适配fir数字滤波处理架构 |
CN113346871B (zh) * | 2021-03-30 | 2023-07-18 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道多相多速率适配fir数字滤波处理架构 |
Also Published As
Publication number | Publication date |
---|---|
CN101958697B (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101958697B (zh) | 一种多相滤波结构的实现方法及装置 | |
CN105915241B (zh) | Fpga中实现超高速数字正交下变频及抽取滤波的方法与系统 | |
CN101567701B (zh) | 一种高效多路数字下变频器系统 | |
CN100499371C (zh) | 一种可编程内插滤波器装置及其实现方法 | |
CN102035502B (zh) | 一种fir滤波器的实现结构装置 | |
CN104112053B (zh) | 一种面向图像处理的可重构架构平台设计方法 | |
CN103269212B (zh) | 低成本低功耗可编程多级fir滤波器实现方法 | |
CN109271133B (zh) | 一种数据处理方法及系统 | |
CN109194307B (zh) | 数据处理方法及系统 | |
CN104539263B (zh) | 一种可重构低功耗数字fir滤波器 | |
CN101072019B (zh) | 一种滤波器及其滤波方法 | |
CN104393854A (zh) | 基于fpga的时分复用级联积分梳状抽取滤波器及其实现方法 | |
CN110147252A (zh) | 一种卷积神经网络的并行计算方法及装置 | |
CN106656103B (zh) | 一种fir滤波器组及滤波方法 | |
CN102025377B (zh) | 一种改进型级联积分梳妆插值滤波器 | |
CN204316468U (zh) | 一种多路数字滤波器 | |
CN102567282B (zh) | 通用dsp处理器中fft计算实现装置和方法 | |
CN105720944B (zh) | 通用fir滤波器及其配置方法 | |
CN105066990A (zh) | 一种适用于捷联惯性导航的高精度数字滤波器 | |
CN109976660A (zh) | 基于线性插值的任意重采样算法和数据采样系统 | |
CN102158451A (zh) | 高速多载波多相内插滤波方法和装置 | |
CN109271137A (zh) | 一种基于公钥加密算法的模乘装置及协处理器 | |
CN110166021A (zh) | 一种实现任意降采样率转换的数字信号处理方法 | |
CN103345379A (zh) | 一种复数乘法器及其实现方法 | |
CN104777456B (zh) | 可配置的雷达数字信号处理器及其处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121114 Termination date: 20140930 |
|
EXPY | Termination of patent right or utility model |