一种数字分路系统的制作方法

文档序号:7923381阅读:172来源:国知局
专利名称:一种数字分路系统的制作方法
技术领域
本发明涉及一种分路系统,特别是一种基于循环判决结构的数字分路系统。
背景技术
传统的数字分路方法中数据接口模块的进数采用先写后读的传统模式,即直接采用一块深度为滤波器总阶数H的双口 RAM来存储输入信号,然后对采入的H个信号进行滤波。由于每次采样阶数有限,并且需要在H+1个信号来之前对已经采样的H个信号完成数字分路运算,而由于完成滤波要做滤波器阶数H次乘加,因此按照这个方法实现的乘加速率很高,特别是在滤波器阶数较高时,系统资源会达到数百兆赫兹甚至更高,这样会降低系统设计的可靠度和可实现性;而对于目前在传统分路基础上改进的基于流水结构的数字分路,同样要生成滤波器总阶数长度H的输入缓存,由于它通过采样窗口进行钟控流水处理, 降低了输入信号的采样时钟和处理时钟,但这种方法中加权运算和顺序调整资源耗费巨大,对于高阶数滤波、大容量多通道分路的情况下,资源耗费非常大,系统功耗增加,不能满足日益提高的数字分路性能要求。另外该种方法没有将数字分路设计参数化,造成对于新的要求设计修改难度较大,难以通用。

发明内容
本发明所要解决的技术问题是提供一种采用循环判决结构的数字分路系统,能够提高资源利用率和运算时序。本发明包括如下技术方案一种数字分路系统,其特征在于包含输入信号分区缓存模块、循环读写控制模块、循环判决调序模块、加权乘法器模块、多级叠接-相加模块、时序同步模块、分布式滤波器模块、位序排列计算模块、乒乓缓存模块、顺序FFT模块和抽点输出缓存模块,其中所述输入信号分区缓存模块对输入采样信号进行分区、分段缓存;所述循环读写控制模块对输入信号分区缓存模块进行读写寻址控制,并产生循环判决调序模块的控制信号和分布式滤波器模块的控制信号,循环判决调序模块的控制信号包括FFT序号和分区号;所述分布式滤波器模块通过循环读写控制模块控制滤波器系数存储器的输出,产生所需要的多相滤波系数;所述循环判决调序模块对输入信号分区缓存模块的读出信号进行顺序调整,使之能对应分布式滤波器模块输出的滤波系数,所述循环判决调序模块计算输入信号分区缓存模块读出数据存储阵列的位序矩阵,利用分区号和分段号来计算循环因子,并根据FFT序号、分区号以及循环因子进行位序调整,并更新数据存储阵列的数据输出;所述加权乘法器模块将循环判决调序模块输出的信号和分布式滤波器模块输出的滤波系数做加权乘法运算;所述时序同步模块对循环读写控制模块产生的FFT序号、输入分区号以及滤波器模块产生的滤波系数进行延迟处理;所述多级叠接-相加模块对加权乘法器模块输出的数据进行叠接-相加运算;所述位序排列计算模块对FFT序号进行位置调整,保证FFT运算中各通道频点对应的正确性;所述乒乓缓存模块缓存位序调整后的各通道信号,保证FFT输入信号的连续性;所述顺序FFT运算模块按照循环读写控制模块产生的FFT序号对叠接-相加运算后的数据进行顺序FFT运算,把输出的信号按照频点排列顺序输出,运算结果按照频分顺序输出;所述抽点输出缓存模块对顺序FFT运算后的各通道信号按FFT输出序号进行抽取分通道输出。本发明与现有技术相比的优点在于通过对输入采样信号进行分区、分段缓存,通过循环判决结构来实现顺序调整和加权运算,有效降低了实现资源和功耗并提高了时序。通过循环判决结构对分路设计进行了参数化设计,使设计更加通用,可以根据不同的设计要求,只需修改参数就可以实现不同的数字分路设计。


图1为本发明系统所用方法的原理图。图2为本发明系统的实现框图。图3为循环判决结构调序算法流程图。图4为顺序FFT模块时序图
具体实施例方式如图1所示为本发明系统所用方法的原理图。图中分布式滤波器的阶数为N,Hn 为对应的N个滤波器系数,Xn是量化采样得到的需进行滤波处理的数据,Xn分批进入滤波器,每批次进入滤波器的数据个数为M(M为抽取率,M =数据采样率/出数速率),FFT点数为FFTNUM,每读进一批数据(即M个数)后,系统进行一次分路运算。理论上对于&中每个数,进行一次多相滤波操作Yn = Xn * Ηη,η = 1,2,· · ·,N然后对于得出的办,对应每个FFT序号,每间隔FFTNUM个点做一次累加,共累加 N/FFTNUM 次,即Yn(I),= X(I) * H(1)+X(1+FFTNUM) * H(1+FFTNUM) +X(1+2 * FFTNUM) * H(l+2 女 FFTNUM)+......Yn(2) '= X (2) * H (2)+X (2+FFTNUM) * H(2+FFTNUM) +X (2+2 * FFTNUM) * H (2+2 女 FFTNUM)+..................Yn (FFTNUM) ' = X (FFTNUM)女 H (FFTNUM) +X (FFTNUM+FFTNUM)女 H (FFTNUM+FFTNUM)+X(FFTNUM+2 * FFTNUM) * H(FFTNUM+2 * FFTNUM)+......
实际上,当写入第1批M个数时,&最前面M个数(第一分区)的地址由新写入的M个数占据,此时用于存储&数据的存储器中数的排列为X (N+l)、X (N+2)、…、\ (N+M)、X (M+l)、X (M+2)、…、\ (2M)、X (2M+1)、…、X (N)此时^i(I),Yn(I)‘ = X(M+1) * H(1)+X(M+1+FFTNUM) * H(1+FFTNUM)+X(M+1+2FFTNUM) * H(1+2FFTNUM)+......当写入第二批M个数时,&随后的M个数(第二分区)的地址由新写入的M个数占据,此时用于存储&数据的存储器中数的排列为X (N+l)、X (N+2)、· · ·、X (N+M)、X (N+M+l)、X (N+M+2)、…X (N+2M)、X (2M+1)、…、 X (N)、此时^i(I),Yn(I),= X(2M+1) H(1)+X(2M+1+FFTNUM) H(1+FFTNUM)+X(2M+1+2FFTNUM) * H(1+2FFTNUM)+......即在不同批次下与滤波器的系数H(I)、H(1+FFTNUM)、H(1+2FFTNUM)......对应
相乘的数值是动态变化的。对应与H(I)相乘的数,随着不同的进数批次,依次为X(1)、 X(M+1)、X(2M+1)........本发明根据进数的批次号(记为mzhi,mzhi每进M个数后加1)和FFT序号p^n’ 的序号,取值范围为0 (FFTNUM-I)的自然数),对得到的FFTNUMf^i’点做信号下变频后位序排列计算操作,得到进行FFTNUM点FFT变换所需的FFTNUM个点的正确排列顺序。然后对正确排好顺序的FFTNUM个点作FFT运算,并将结果输出。以此类推,对所有进入系统的采样数据完成数字分路。图2给出了本发明系统的实现框图,各组成部分的功能和工作过程如下1、输入信号分区缓存模块由Hdtjek (分布式滤波器阶数N/FFT点数FFTNUM)块双口 RAM组成,每块RAM的深度均为FFTNUM。该缓存用来存储外部量化采样后进入系统的信号。输入信号分区缓存模块总的存储长度为分布式滤波器总阶数,根据需要进行分路的路数确定进行FFT运算点数FFTNUM(常数)。输入信号分区缓存模块由Nbl。。k个分段组成,每个分段长度为FFTNUM ;每个分段又包括若干个分区,每个分段的分区数R = FFTNUM/M,每个分区长度为抽取率M(M =数据采样率/出数速率)。输入信号分区缓存模块总的分区数Nk =分布式滤波器总阶数/M,滤波器长度要能够整除FFT运算点数。输入信号分区缓存模块由循环读写控制模块进行读写寻址控制,寻址以分区长度M(即抽取率)为基数进行判决, 每段分区地址也以M为基数,以FFT运算点数(FFTNUM)为周期循环递增计数。2、循环读写控制模块控制输入信号分区缓存模块的数据的读写,根据分区长度循环递增判断来产生分区读写控制信号;根据采样输入信号的不同批次(按照分区长度即抽取率分批次),决定每次读数的起始位置。整个输入信号分区缓存采用流水线的方式进行读写工作,其实现思路如下对于Hdtrck块双口 RAM,量化后的采样数据由第一个分段的输入接口进入,依次写入第一分段的从首地址开始至末地址的FFTNUM个地址,然后从第二个分段的输入接口首地址开始执行相同的操作,直至写满Nbl。。k个双口 RAM。缓存分段的输入接口进第mzhi批M个数的第1个数时(mzhi为进数的批次数,也就是分区号。每进M个采样信号后加1),输出接口根据分区数mzhi进行循环判别,以每个分区大小为间隔进行递增,循环判别的周期为输入信号缓存的存储长度N。由于采用的是每次进M个采样信号,然后完成一次FFT数字分路运算,所以输入信号缓存的输入时钟clk_in 和输出时钟cllib_out关系为cllib_out = (clk_in女FFTNUM)/M0对应每个输出时钟,每块 RAM同时读出一个数,共读出Nbl。。k个数,存入循环判决调序模块中的数据存储阵列(data_ store);每块RAM根据输出时钟先后顺序从读数起始地址开始依次读出FFTNUM个数。对于每个输入批次,该循环读写控制模块根据选定的FFT点数FFTNUM进行循环计数产生FFT序号ρ,ρ为0 (FFTNUM-I)点计数信号,并以此来控制后续FFT运算输入信号。FFT序号按照输入信号分区缓存模块读取时钟cl!A_0Ut上升沿同步递增来进行计算。量化后的采样信号分批次从输入信号缓存(由双口 RAM阵列实现)的输入接口进入,第一批次从第一个分区的首地址依次写入,第二批次从第二分区的首地址依次写入,直至写完最后一个分区;当数据读出时,读数起始地址的计算公式为读数起始地址addrb_out = Mod (Μ * Mshell, FFTNUM);其中,addrb_out表示读数的起始地址,Mod表示求模运算、M为每次进入输入信号缓存的数据个数(每段分区长度),Mshell为每次写入缓存的对应段号,FFTNUM为采用的FFT 运算点数。由于缓存输出接口每段读取的起始地址总是超前输入接口起始写入地址M个地址,这样就保证了在输入接口写完第M个数后,输出接口刚读取完它所需的FFT运算的点数,从而使得输入缓存的输入输出同时工作,实现了流水线操作。另外该模块的主要参数在于采样信号抽取率M、分段长度FFTNUM以及分区号mzhi。通过改变这三个参数可以快速实现该模块的设计修改。对采样信号的整个读写采用了循环计算控制和参数化设计方法,使得分路信号运算按照流水结构进行。3、循环判决调序模块由于将输入信号分区缓存模块分为Nbl。。k块双口 RAM,对应滤波器系数H(I)的数据随批次号不同在不同的RAM间跳动,随着FFT序号的不同,会出现与滤波器系数对应的数据由一个RAM跳至下一个RAM的情况。本发明采用了循环判决结构对输入缓存的各分段读出信号进行加权运算之前的顺序调整,使之能对应分布式滤波器权值。该部分首先计算分区缓存读出数据存储阵列(信号量化位宽X分段数Hdtrck)的位序矩阵COe_array,利用分区号mzhi和分段号Mshell来计算循环因子zhishi,这里0彡分区号mzhi ( Νκ-1,分区号由循环读写控制模块根据时钟流水计算,不断刷新,每进M个数,分区号加1。Mstell是写入所述缓存模块的段号,总共分段H^k,因此Mstell取值范围为 0 ^ Mshell ^ Nbl0ck-Io循环因子zhishi是缓存模块读出数据时对应的段号,循环因子的计算算法为For Mshell=O: (Nb|0Ck-1)
if R*Mshen <=mzhi<= R*Mshell+R一 1
zhishi= Mshell; end; end;然后利用分区号对R取余,计算RE =RE = REM(mzhi, R),根据上述求余结果RE对循环读写控制模块产生的FFTNUM序号 P(0彡P彡(FFTNUM-I))进行判读,每个循环判决过程如图3所示。通过这个循环完成数据存储阵列的位序矩阵循环判读,根据FFT运算信号、分区号以及循环因子进行位序调整,并更新数据存储阵列的数据输出,达到调序的目的。调序设计是整个数字分路的核心组成部分,消耗的电路资源最大,而通过循环判决用较小的实现电路代价完成了加权前调序,而且使整个分路设计参数化和通用化。4、分布式滤波器模块分布式滤波器模块包括Nbl。。k块ROM,用于存储滤波器系数, 通过循环读写控制模块控制Nbl。。k块ROM的输出,产生所需要的匹配滤波系数,采用根升余弦滤波器对调序后信号进行采样成型滤波,以采用的FFT点数作为滤波器分段存储深度并高精度量化,实现结构采用分布式结构,节省宝贵的块RAM资源。对应每个输出时钟,每块 ROM同时读出一个数,共读出Nbl。。k个数;每块ROM根据输出时钟cllib_0ut的先后顺序从首地址开始读出FFTNUM个数。5、加权乘法器模块将循环判决调序后输出的信号和从分布式滤波器中读出的滤波器系数做加权乘法运算。加权操作通过乘法器实现。6、多级叠接-相加模块对加权滤波后的数据进行叠加运算,利用多级加法器完成叠接-相加运算。当输入信号分区缓存模块不写数时,累加原理如下公式所述Yn(I),= X(I) * H(1)+X(1+FFTNUM) * H(1+FFTNUM) +X(1+2 * FFTNUM) * H(l+2 女 FFTNUM)+......Yn(2) '= X (2) * H (2)+X (2+FFTNUM) * H(2+FFTNUM) +X (2+2 * FFTNUM) * H (2+2 女 FFTNUM)+..................Yn (FFTNUM) ' = X (FFTNUM)女 H (FFTNUM) +X (FFTNUM+FFTNUM)女 H (FFTNUM+FFTNUM)+X(FFTNUM+2 * FFTNUM) * H(FFTNUM+2 * FFTNUM)+......7、时序同步模块由于信号经过循环顺序调整和加权运算,信号延迟了两级,因此为了能够与循环读写控制模块产生的控制信号进行同步以便于进行后续的FFT运算处理, 对循环读写控制模块产生的FFT序号、输入分区号进行两级延迟处理,保持与信号运算同步。滤波器系数也需要经过一级延迟同步输入加权乘法器模块。8、位序排列计算模块进行FFT前,根据循环读写控制模块产生的FFT序号进行位置循环调整,保证下变频中各通道数据对应的下变频频点的正确性。其算法如下For η = 1 FFTNUM
K = mod(p-l+M * mzhi, FFTNUM);End其中,ρ为之前所述的FFT序号,M为抽取率(即输入信号缓存分区大小),mzhi为输入信号缓存的分区号,K为对应的调整位置,FFTNUM为采用FFT点数,Mod表示求模运算。9、乒乓缓存模块缓存位序调整后的各通道信号,由2块深度为FFTNUM的双口 RAM组成。在工作时,其中一块RAM用作当前给FFT的输入信号给入,另外一块用作下一次 FFT输入信号暂存,保证FFT输入信号的连续性。通过位序排列计算模块中所述公式,将依次进入的FFT点数个数据调整为进行 FFT时的正确顺序。乒乓缓存模块采用了两块相同深度的双口 RAM做乒乓操作使用,深度为 FFT点数的2倍。例如做64点FFT,则2块RAM的总深度为128,I区为0-63深度,II区为 64-127深度。当对I区进行位序排列计算时,对II区已调整好的数据进行按顺序的读取; 反之当对II区进行位序排列计算处理时,对I区已调整好的数据进行按顺序的读取。双口
RAM中,输出口地址始终按顺序读取(即按照0-127,0-127......重复),输入口地址选择
性的写入I区或II区(即按照64-127,0-63,64-127......进行存储),输入、输出口的读
写地址恒差64。输入口的写数位置为按照位序排列计算得到的位置,通过存储位置的选择, 实现了对FFT序号位置的调整功能。10、顺序FFT (Natural-order FFT)运算模块按照循环控制产生的FFT序号对加权叠接-相加后的数据进行顺序FFT运算,把输出的信号按照频点排列顺序输出。FFT采用的接口时序如图4所示。顺序FFT相关时序如下所述当start信号置为高时,表明FFT启动,开始计算。这时通过xn_re和xn_im分别输入信号的实部和虚部。fwcLinv决定了 FFT工作是正向计算还是逆FFT计算,该信号在 fVcLinv为高时使能。ce是FFT的使能时钟,FFT工作期间一直为高。顺序FFT模块通过前一级的位序排列计算模块计算好输入FFT信号的排列位置后通过xnjndex输入给FFT。 FFT实部和虚部输出信号分别通过xk_re和xk_im输出。顺序FFT输出结果是按照频点顺序排列输出的,输出的序号为xkjndex。Rfd是FFT准备输出信号(高有效),busy是FFT 正在工作信号(高有效),edone是FFT运算预告知信号,done是运算结束指示信号(高有效)。如果FFT运算发生溢出,则通过ovflo来指示(高有效)。顺序FFT模块采用的工作时钟为clk,这也是FFT模块的进数时钟。FFT运算通过工作时钟elk的上升沿来完成。SCale_SCh用来完成FFT计算过程中截位和信号幅度控制, 防止溢出,通过scale_sch_we来使能(高有效),该FFT模块端口说明如下表1顺序FFT模块接口说明
权利要求
1.一种数字分路系统,其特征在于包含输入信号分区缓存模块、循环读写控制模块、 循环判决调序模块、加权乘法器模块、多级叠接-相加模块、时序同步模块、分布式滤波器模块、位序排列计算模块、乒乓缓存模块、顺序FFT模块和抽点输出缓存模块,其中所述输入信号分区缓存模块对输入采样信号进行分区、分段缓存; 所述循环读写控制模块对输入信号分区缓存模块进行读写寻址控制,并产生循环判决调序模块的控制信号和分布式滤波器模块的控制信号,循环判决调序模块的控制信号包括 FFT序号和分区号;所述分布式滤波器模块通过循环读写控制模块控制滤波器系数存储器的输出,产生所需要的多相滤波系数;所述循环判决调序模块对输入信号分区缓存模块的读出信号进行顺序调整,使之能对应分布式滤波器模块输出的滤波系数,所述循环判决调序模块计算输入信号分区缓存模块读出数据存储阵列的位序矩阵,利用分区号和分段号来计算循环因子,并根据FFT序号、分区号以及循环因子进行位序调整,并更新数据存储阵列的数据输出;所述加权乘法器模块将循环判决调序模块输出的信号和分布式滤波器模块输出的滤波系数做加权乘法运算;所述时序同步模块对循环读写控制模块产生的FFT序号、输入分区号以及滤波器模块产生的滤波系数进行延迟处理;所述多级叠接-相加模块对加权乘法器模块输出的数据进行叠接-相加运算; 所述位序排列计算模块对FFT序号进行位置调整,保证FFT运算中各通道频点对应的正确性;所述乒乓缓存模块缓存位序调整后的各通道信号,保证FFT输入信号的连续性; 所述顺序FFT运算模块按照循环读写控制模块产生的FFT序号对叠接-相加运算后的数据进行顺序FFT运算,把输出的信号按照频点排列顺序输出,运算结果按照频分顺序输出;所述抽点输出缓存模块对顺序FFT运算后的各通道信号按FFT输出序号进行抽取分通道输出。
2.如权利要求1所述的数字分路系统,其特征在于输入信号分区缓存模块总的存储长度为分布式滤波器总阶数N,由Nbl。。k个RAM组成,每个RAM形成一个分段,每个分段长度为FFT运算点数FFTNUM,Nblock = N/FFTNUM ;每个分段又包括若干个分区,每个分区长度为抽取率M,每个分段包含的分区数R = FFTNUM/M;输入信号分区缓存模块由循环读写控制模块进行读写寻址控制。
3.如权利要求1所述的数字分路系统,其特征在于循环读写控制模块以FFT运算点数和分区长度为寻址计算周期,通过时钟同步控制实现流水操作,实现对输入信号分区缓存模块的读写,同时产生循环判决调序模块的控制信号。
4.根据权利要求2所述的数字分路系统,其特征在于采样信号分段从输入信号缓存模块的输入接口进入,存储时从第一个分区缓存的首地址依次写入,直至写完最后一个分区缓存;输入信号缓存模块的输出接口每段读取的起始地址总是超前输入接口起始写入地址M个地址,在输入接口写完第M个数后,输出接口刚读取完它所需的FFT运算的点数。
全文摘要
一种数字分路系统包括输入信号分区缓存模块、循环读写控制模块、循环判决调序模块、加权乘法器模块、时序同步模块、多级叠接-相加模块、分布式滤波器模块、位序排列计算模块、乒乓缓存模块、顺序FFT模块和抽点输出缓存模块。该系统在数字分路中利用循环判决方式进行了加权叠接操作,整个过程时钟控制并且利用了循环判决结构,输出部分用顺序FFT处理和频分抽点输出,设计使得时序增强,耗费资源更少,信号处理更为流畅。
文档编号H04L5/00GK102510325SQ20111029130
公开日2012年6月20日 申请日期2011年9月29日 优先权日2011年9月29日
发明者楼大年, 汤琦, 赵毅, 陈锐 申请人:西安空间无线电技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1