CN102510325B - 一种数字分路系统 - Google Patents
一种数字分路系统 Download PDFInfo
- Publication number
- CN102510325B CN102510325B CN201110291303.XA CN201110291303A CN102510325B CN 102510325 B CN102510325 B CN 102510325B CN 201110291303 A CN201110291303 A CN 201110291303A CN 102510325 B CN102510325 B CN 102510325B
- Authority
- CN
- China
- Prior art keywords
- module
- fft
- order
- output
- circulation
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种数字分路系统包括输入信号分区缓存模块、循环读写控制模块、循环判决调序模块、加权乘法器模块、时序同步模块、多级叠接-相加模块、分布式滤波器模块、位序排列计算模块、乒乓缓存模块、顺序FFT模块和抽点输出缓存模块。该系统在数字分路中利用循环判决方式进行了加权叠接操作,整个过程时钟控制并且利用了循环判决结构,输出部分用顺序FFT处理和频分抽点输出,设计使得时序增强,耗费资源更少,信号处理更为流畅。
Description
技术领域
本发明涉及一种分路系统,特别是一种基于循环判决结构的数字分路系统。
背景技术
传统的数字分路方法中数据接口模块的进数采用先写后读的传统模式,即直接采用一块深度为滤波器总阶数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个数)后,系统进行一次分路运算。
理论上对于Xn中每个数,进行一次多相滤波操作:
Yn=Xn*Hn,n=1,2,...,N
然后对于得出的Yn,对应每个FFT序号,每间隔FFTNUM个点做一次累加,共累加N/FFTNUM次,即
Yn(1)’=X(1)*H(1)+X(1+FFTNUM)*H(1+FFTNUM)+X(1+2*FFTNUM)*H(1+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个数时,Xn最前面M个数(第一分区)的地址由新写入的M个数占据,此时用于存储Xn数据的存储器中数的排列为:
X(N+1)、X(N+2)、...、X(N+M)、X(M+1)、X(M+2)、...、X(2M)、X(2M+1)、...、X(N)
此时Yn(1)’
Yn(1)’=X(M+1)*H(1)+X(M+1+FFTNUM)*H(1+FFTNUM)+X(M+1+2FFTNUM)*H(1+2FFTNUM)+......
当写入第二批M个数时,Xn随后的M个数(第二分区)的地址由新写入的M个数占据,此时用于存储Xn数据的存储器中数的排列为:
X(N+1)、X(N+2)、...、X(N+M)、X(N+M+1)、X(N+M+2)、...X(N+2M)、X(2M+1)、...、X(N)、
此时Yn(1)’
Yn(1)’=X(2M+1)*H(1)+X(2M+1+FFTNUM)*H(1+FFTNUM)+X(2M+1+2FFTNUM)*H(1+2FFTNUM)+......
即在不同批次下与滤波器的系数H(1)、H(1+FFTNUM)、H(1+2FFTNUM)......对应相乘的数值是动态变化的。对应与H(1)相乘的数,随着不同的进数批次,依次为:X(1)、X(M+1)、X(2M+1)、......。
本发明根据进数的批次号(记为mzhi,mzhi每进M个数后加1)和FFT序号p(Yn’的序号,取值范围为0~(FFTNUM-1)的自然数),对得到的FFTNUM个Yn’点做信号下变频后位序排列计算操作,得到进行FFTNUM点FFT变换所需的FFTNUM个点的正确排列顺序。
然后对正确排好顺序的FFTNUM个点作FFT运算,并将结果输出。
以此类推,对所有进入系统的采样数据完成数字分路。
图2给出了本发明系统的实现框图,各组成部分的功能和工作过程如下:
1、输入信号分区缓存模块:由Nblock(分布式滤波器阶数N/FFT点数FFTNUM)块双口RAM组成,每块RAM的深度均为FFTNUM。该缓存用来存储外部量化采样后进入系统的信号。输入信号分区缓存模块总的存储长度为分布式滤波器总阶数,根据需要进行分路的路数确定进行FFT运算点数FFTNUM(常数)。输入信号分区缓存模块由Nblock个分段组成,每个分段长度为FFTNUM;每个分段又包括若干个分区,每个分段的分区数R=FFTNUM/M,每个分区长度为抽取率M(M=数据采样率/出数速率)。输入信号分区缓存模块总的分区数NR=分布式滤波器总阶数/M,滤波器长度要能够整除FFT运算点数。输入信号分区缓存模块由循环读写控制模块进行读写寻址控制,寻址以分区长度M(即抽取率)为基数进行判决,每段分区地址也以M为基数,以FFT运算点数(FFTNUM)为周期循环递增计数。
2、循环读写控制模块:控制输入信号分区缓存模块的数据的读写,根据分区长度循环递增判断来产生分区读写控制信号;根据采样输入信号的不同批次(按照分区长度即抽取率分批次),决定每次读数的起始位置。整个输入信号分区缓存采用流水线的方式进行读写工作,其实现思路如下:
对于Nblock块双口RAM,量化后的采样数据由第一个分段的输入接口进入,依次写入第一分段的从首地址开始至末地址的FFTNUM个地址,然后从第二个分段的输入接口首地址开始执行相同的操作,直至写满Nblock个双口RAM。
缓存分段的输入接口进第mzhi批M个数的第1个数时(mzhi为进数的批次数,也就是分区号。每进M个采样信号后加1),输出接口根据分区数mzhi进行循环判别,以每个分区大小为间隔进行递增,循环判别的周期为输入信号缓存的存储长度N。由于采用的是每次进M个采样信号,然后完成一次FFT数字分路运算,所以输入信号缓存的输入时钟clk_in和输出时钟clkb_out关系为clkb_out=(clk_in*FFTNUM)/M。对应每个输出时钟,每块RAM同时读出一个数,共读出Nblock个数,存入循环判决调序模块中的数据存储阵列(data_store);每块RAM根据输出时钟先后顺序从读数起始地址开始依次读出FFTNUM个数。
对于每个输入批次,该循环读写控制模块根据选定的FFT点数FFTNUM进行循环计数产生FFT序号p,p为0~(FFTNUM-1)点计数信号,并以此来控制后续FFT运算输入信号。FFT序号按照输入信号分区缓存模块读取时钟clkb_out上升沿同步递增来进行计算。
量化后的采样信号分批次从输入信号缓存(由双口RAM阵列实现)的输入接口进入,第一批次从第一个分区的首地址依次写入,第二批次从第二分区的首地址依次写入,直至写完最后一个分区;当数据读出时,读数起始地址的计算公式为:
读数起始地址addrb_out=Mod(M*Mshell,FFTNUM);
其中,addrb_out表示读数的起始地址,Mod表示求模运算、M为每次进入输入信号缓存的数据个数(每段分区长度),Mshell为每次写入缓存的对应段号,FFTNUM为采用的FFT运算点数。
由于缓存输出接口每段读取的起始地址总是超前输入接口起始写入地址M个地址,这样就保证了在输入接口写完第M个数后,输出接口刚读取完它所需的FFT运算的点数,从而使得输入缓存的输入输出同时工作,实现了流水线操作。另外该模块的主要参数在于采样信号抽取率M、分段长度FFTNUM以及分区号mzhi。通过改变这三个参数可以快速实现该模块的设计修改。
对采样信号的整个读写采用了循环计算控制和参数化设计方法,使得分路信号运算按照流水结构进行。
3、循环判决调序模块:由于将输入信号分区缓存模块分为Nblock块双口RAM,对应滤波器系数H(1)的数据随批次号不同在不同的RAM间跳动,随着FFT序号的不同,会出现与滤波器系数对应的数据由一个RAM跳至下一个RAM的情况。本发明采用了循环判决结构对输入缓存的各分段读出信号进行加权运算之前的顺序调整,使之能对应分布式滤波器权值。
该部分首先计算分区缓存读出数据存储阵列(信号量化位宽×分段数Nblock)的位序矩阵coe_array,利用分区号mzhi和分段号Mshell来计算循环因子zhishi,这里0≤分区号mzhi≤NR-1,分区号由循环读写控制模块根据时钟流水计算,不断刷新,每进M个数,分区号加1。Mshell是写入所述缓存模块的段号,总共分段Nblock,因此Mshell取值范围为0≤Mshell≤Nblock-1。循环因子zhishi是缓存模块读出数据时对应的段号,循环因子的计算算法为:
然后利用分区号对R取余,计算RE:RE=REM(mzhi,R),
根据上述求余结果RE对循环读写控制模块产生的FFTNUM序号P(0≤P≤(FFTNUM-1))进行判读,每个循环判决过程如图3所示。
通过这个循环完成数据存储阵列的位序矩阵循环判读,根据FFT运算信号、分区号以及循环因子进行位序调整,并更新数据存储阵列的数据输出,达到调序的目的。调序设计是整个数字分路的核心组成部分,消耗的电路资源最大,而通过循环判决用较小的实现电路代价完成了加权前调序,而且使整个分路设计参数化和通用化。
4、分布式滤波器模块:分布式滤波器模块包括Nblock块ROM,用于存储滤波器系数,通过循环读写控制模块控制Nblock块ROM的输出,产生所需要的匹配滤波系数,采用根升余弦滤波器对调序后信号进行采样成型滤波,以采用的FFT点数作为滤波器分段存储深度并高精度量化,实现结构采用分布式结构,节省宝贵的块RAM资源。对应每个输出时钟,每块ROM同时读出一个数,共读出Nblock个数;每块ROM根据输出时钟clkb_out的先后顺序从首地址开始读出FFTNUM个数。
5、加权乘法器模块:将循环判决调序后输出的信号和从分布式滤波器中读出的滤波器系数做加权乘法运算。加权操作通过乘法器实现。
6、多级叠接-相加模块:对加权滤波后的数据进行叠加运算,利用多级加法器完成叠接-相加运算。当输入信号分区缓存模块不写数时,累加原理如下公式所述:
Yn(1)’=X(1)*H(1)+X(1+FFTNUM)*H(1+FFTNUM)+X(1+2*FFTNUM)*H(1+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 n=1:FFTNUM
K=mod(p-1+M*mzhi,FFTNUM);
End
其中,p为之前所述的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分别输入信号的实部和虚部。fwd_inv决定了FFT工作是正向计算还是逆FFT计算,该信号在fwd_inv为高时使能。ce是FFT的使能时钟,FFT工作期间一直为高。顺序FFT模块通过前一级的位序排列计算模块计算好输入FFT信号的排列位置后通过xn_index输入给FFT。FFT实部和虚部输出信号分别通过xk_re和xk_im输出。顺序FFT输出结果是按照频点顺序排列输出的,输出的序号为xk_index。Rfd是FFT准备输出信号(高有效),busy是FFT正在工作信号(高有效),edone是FFT运算预告知信号,done是运算结束指示信号(高有效)。如果FFT运算发生溢出,则通过ovflo来指示(高有效)。
顺序FFT模块采用的工作时钟为clk,这也是FFT模块的进数时钟。FFT运算通过工作时钟clk的上升沿来完成。scale_sch用来完成FFT计算过程中截位和信号幅度控制,防止溢出,通过scale_sch_we来使能(高有效),
该FFT模块端口说明如下:
表1顺序FFT模块接口说明
11、抽点输出模块:根据FFT运算结果进行每通道抽点输出,对每一个通道进行采样率调整后最终输出。这一级主要完成FFT运算结果按频分抽取并进行每通道采样率调整。
实施例
分布式匹配滤波器器阶数为1920阶,由64点FFT完成下变频计算,输入信号缓存模块由30个分段组成,每个分段为64个存储深度的双口RAM,每次进入16个数(每个分区长度M定为16),分区号mzhi每进16个数记一次;当数据以Clk_in速率进入双口RAM的输入口时,其数据写入首地址由地址0开始;读取的数据速率为clkb_out(输出口),其读取首地址由16开始。由于最新被写入的16个点实际相当于是输入信号信号缓存最新接受的16个点数据,所以与滤波器(1920阶)的最后16个系数对应。当完成写入16个数后,真正对应滤波器第一个系数的点应为由输入信号缓存中的地址16中读取的点。当FFT序号小于48,即对应输出口的读取地址为16,17,18...63时,输入信号缓存第一个分段(RAM0)中地址为16的点与滤波器系数第一个点H(1)对应,地址为17的点与滤波器系数第二个点H(2)对应......其后的数据依次对应。当FFT序号大于等于48时,由输入信号缓存第二个分段(RAM1)中读出的前16个数应与H1所在滤波器系数分段1(ROM0)中的后面16个滤波器系数依次对应(即H49~H64),即RAM1首地址中的点与H49对应...;其后的数据依次对应。
当数据以Clk_in速率进入每个分区,读取的数据速率为clkb_out,clkb_out=(clk_in*FFTNUM)/M=clk_in*4。由于读取速率clkb_out是输入速率的4倍,所以当输入信号写完16个数时,输出数据已经读完64个数据。第一批次数据的写地址是从0开始,对应写入的分区号为mzhi=0,读地址是从16开始的,读的第17个数(读地址对应为16)对应滤波器第1个系数。等到写完这前16个数,开始写下一个分区(mzhi=1),数据写入首地址由地址16开始,这时候读地址是从32开始的,其后数据依次对应。按照这个过程,每个分段(64个数深度)共包含4个分区,每次读过程根据写入批次号计算是从哪个分区所对应的地址开始读,并从该地址开始顺序读完每个分段的64个数。
如果对每个分段读出的数据进行位序调整,那么此过程耗费资源极大。而在本发明的循环判决调序模块的算法中,对每个分段同时读出的信号按照时钟先进行缓存,把读出的数据存入到数据存储阵列data_store(信号量化位宽×分段数Nblock)中,本例中是30个深度的数据存储阵列,一一对应输入信号缓存30个分段,该阵列的位序序号为(0~29),再定义一个位序存储矩阵coe_array顺序存储这些位序序号。
根据输入信号缓存模块的实现结构,循环判决调序模块的实现过程如图3所示:首先对FFT序号P(FFTNUM取64,0≤P≤63)进行判断。Mzhi取值为0~119,每次读取的分区号mzhi对M求余,求余结果区间为(0,1,2,3)。变量zhishi根据访问到的分区号mzhi对应在哪个分段来决定,取值范围为(0~29)。定义一个循环判决变量i,这个变量i用来计算数据存储阵列data_store的位序。判读P计算值有两种情况,情况一:P≤(FFTNUM-M*(RE-1)),这时i根据时钟clkb_out进行循环递增,每个时钟上升沿加一,然后对i进行判读,如果i+zhishi属于(0≤i+zhishi≤Nblock-1),那么对应存储阵列data_store的位序矩阵coe_array对应的第i个元素值进行更新,计算i+zhishi后把该结果赋值给coe_array(i),完成data_store的位序变化;如果i不在(0≤i+zhishi≤Nblock-1)区间内,则位序值计算为i+zhishi-Nblock并把该值赋值给对应位序元素值,coe_array(i)。
情况二:如果P值判读>FFTNUM-M*(RE-1)),那么在这种情况下定义另外一个循环变量j进行判读,j也是根据clkb_out进行循环累加,每次加1,然后进行循环判读。如果j计算值在区间(0≤j≤Nblock-2)之内,位序矩阵coe_array中对应元素值coe_array(j)前移,即coe_array(j)=coe_array(j+1),而最前的元素赋值给最末位置,例如对于Nblock=30的情况,coe_array(29)=coe_array(0));如果j计算值j>Nblock-2,停止循环判读j并跳出循环判读。
需要说明的是,本发明系统随着滤波器阶数的增加,输入信号缓存的存储长度会增加,同时时序控制会越发复杂,所耗费的电路实现资源也快速增加。而耗费电路资源最多的是循环判决调序模块和循环判决模块。本发明系统充分利用了循环参数化设计的优点,通过循环的判决和计算用很少的资源实现了信号加权运算,为未来数字信道化设备研制小型化提供了一种思路。同时使得整个设计参数化,可以根据不同的需求快速实现数字分路。
由于采用了循环判决来实现加权叠接-相加运算,叠接-相加次数通过循环判决来计算,可以利用很少的电路资源就可以实现,同时循环判决的参数化设计整个数字分路系统更加通用化,只需通过配置FFT运算点数、分区数、循环因子和更新滤波器系数就可以灵活设计所需要的数字分路。根据该项发明,FFT转换长度为2N点(N为大于1的正整数),对应可以实现的分路最大路数为2N路,增大了子带容量,同时避免重复开发,节省了宝贵的开发成本。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (4)
1.一种数字分路系统,其特征在于包含:输入信号分区缓存模块、循环读写控制模块、循环判决调序模块、加权乘法器模块、多级叠接-相加模块、时序同步模块、分布式滤波器模块、位序排列计算模块、乒乓缓存模块、顺序FFT模块和抽点输出缓存模块,其中:
所述输入信号分区缓存模块对输入采样信号进行分区、分段缓存;
所述循环读写控制模块对输入信号分区缓存模块进行读写寻址控制,并产生循环判决调序模块的控制信号和分布式滤波器模块的控制信号,循环判决调序模块的控制信号包括FFT序号和分区号;
所述分布式滤波器模块通过循环读写控制模块控制滤波器系数存储器的输出,产生所需要的多相滤波系数;
所述循环判决调序模块对输入信号分区缓存模块的读出信号进行顺序调整,使之能对应分布式滤波器模块输出的滤波系数,所述循环判决调序模块计算输入信号分区缓存模块读出数据存储阵列的位序矩阵,利用分区号和分段号来计算循环因子,并根据FFT序号、分区号以及循环因子进行位序调整,并更新数据存储阵列的数据输出;
所述加权乘法器模块将循环判决调序模块输出的信号和分布式滤波器模块输出的滤波系数做加权乘法运算;
所述时序同步模块:对循环读写控制模块产生的FFT序号、输入分区号以及滤波器模块产生的滤波系数进行延迟处理;
所述多级叠接-相加模块:对加权乘法器模块输出的数据进行叠接-相加运算;
所述位序排列计算模块对FFT序号进行位置调整,保证FFT运算中各通道频点对应的正确性;
所述乒乓缓存模块:缓存位序调整后的各通道信号,保证FFT输入信号的连续性;
所述顺序FFT模块:按照循环读写控制模块产生的FFT序号对叠接-相加运算后的数据进行顺序FFT运算,把输出的信号按照频点排列顺序输出,运算结果按照频分顺序输出;
所述抽点输出缓存模块:对顺序FFT运算后的各通道信号按FFT输出序号进行抽取分通道输出。
2.如权利要求1所述的数字分路系统,其特征在于:输入信号分区缓存模块总的存储长度为分布式滤波器总阶数N,由Nblock个RAM组成,每个RAM形成一个分段,每个分段长度为FFT运算点数FFTNUM,Nblock=N/FFTNUM;每个分段又包括若干个分区,每个分区长度为抽取率M,每个分段包含的分区数R=FFTNUM/M;输入信号分区缓存模块由循环读写控制模块进行读写寻址控制。
3.如权利要求1所述的数字分路系统,其特征在于:循环读写控制模块以FFT运算点数和分区长度为寻址计算周期,通过时钟同步控制实现流水操作,实现对输入信号分区缓存模块的读写,同时产生循环判决调序模块的控制信号。
4.根据权利要求2所述的数字分路系统,其特征在于:采样信号分段从输入信号缓存模块的输入接口进入,存储时从第一个分区缓存的首地址依次写入,直至写完最后一个分区缓存;输入信号缓存模块的输出接口每段读取的起始地址总是超前输入接口起始写入地址M个地址,在输入接口写完第M个数后,输出接口刚读取完它所需的FFT运算的点数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110291303.XA CN102510325B (zh) | 2011-09-29 | 2011-09-29 | 一种数字分路系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110291303.XA CN102510325B (zh) | 2011-09-29 | 2011-09-29 | 一种数字分路系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102510325A CN102510325A (zh) | 2012-06-20 |
CN102510325B true CN102510325B (zh) | 2014-04-02 |
Family
ID=46222379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110291303.XA Active CN102510325B (zh) | 2011-09-29 | 2011-09-29 | 一种数字分路系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102510325B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102790623B (zh) * | 2012-07-05 | 2014-12-03 | 中国电子科技集团公司第五十四研究所 | 一种全数字可配置动态信道分路技术的设计方法 |
CN104932992B (zh) * | 2015-07-08 | 2017-10-03 | 中国电子科技集团公司第五十四研究所 | 一种带宽粒度可变的微波数字柔性转发方法 |
CN107145457B (zh) * | 2017-04-25 | 2019-10-29 | 电子科技大学 | 基于片上ram提升多通道有效数据传输的装置及方法 |
CN107454030B (zh) * | 2017-07-17 | 2020-03-17 | 科大智能电气技术有限公司 | 一种电力线宽带载波半并行发射机及其实现方法 |
CN109683017A (zh) * | 2018-12-21 | 2019-04-26 | 安徽白鹭电子科技有限公司 | 一种并行乒乓处理单元、一种高速频率扫描装置及使用方法 |
CN116662246B (zh) * | 2023-08-01 | 2023-09-22 | 北京炬玄智能科技有限公司 | 跨时钟域的数据读取电路及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578485A (zh) * | 2003-07-28 | 2005-02-09 | 凯明信息科技股份有限公司 | 时分无线通信系统的自动频率校正方法及其装置 |
CN101174849A (zh) * | 2006-10-31 | 2008-05-07 | 中科院嘉兴中心微系统所分中心 | 无线传感网节点的扩频码片同步捕获和跟踪方法及其装置 |
CN101616114A (zh) * | 2008-06-24 | 2009-12-30 | 展讯通信(上海)有限公司 | 正交多子带传输波形的生成方法及其装置 |
-
2011
- 2011-09-29 CN CN201110291303.XA patent/CN102510325B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578485A (zh) * | 2003-07-28 | 2005-02-09 | 凯明信息科技股份有限公司 | 时分无线通信系统的自动频率校正方法及其装置 |
CN101174849A (zh) * | 2006-10-31 | 2008-05-07 | 中科院嘉兴中心微系统所分中心 | 无线传感网节点的扩频码片同步捕获和跟踪方法及其装置 |
CN101616114A (zh) * | 2008-06-24 | 2009-12-30 | 展讯通信(上海)有限公司 | 正交多子带传输波形的生成方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102510325A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102510325B (zh) | 一种数字分路系统 | |
CN110378468A (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
CN109828744A (zh) | 一种基于fpga的可配置浮点向量乘法ip核 | |
CN110718211B (zh) | 一种基于混合压缩卷积神经网络的关键词识别系统 | |
CN109032781A (zh) | 一种卷积神经网络算法的fpga并行系统 | |
CN109409511A (zh) | 一种用于动态可重构阵列的卷积运算数据流调度方法 | |
Fan et al. | Reconfigurable acceleration of 3D-CNNs for human action recognition with block floating-point representation | |
CN109194307B (zh) | 数据处理方法及系统 | |
CN102831895A (zh) | 一种用现场可编程门阵列实现mfcc参数提取的方法 | |
CN109271133B (zh) | 一种数据处理方法及系统 | |
WO2018027706A1 (zh) | Fft处理器及运算方法 | |
CN104202016A (zh) | 一种基于查表法的任意倍可变的信号升采样实现方法及系统 | |
CN109144469A (zh) | 流水线结构神经网络矩阵运算架构及方法 | |
CN110162742A (zh) | 实数矩阵求逆的浮点运算电路实现方法 | |
CN106486110B (zh) | 一种支持语音实时分解/合成的伽马通滤波器组芯片系统 | |
CN101025919B (zh) | 音频解码中的合成子带滤波方法和合成子带滤波器 | |
CN104504205B (zh) | 一种对称fir算法的并行化二维分割方法及其硬件结构 | |
CN109242091A (zh) | 图像识别方法、装置、设备及可读存储介质 | |
CN104348446B (zh) | 一种实现fir滤波的方法和滤波装置 | |
CN103176949A (zh) | 实现fft/ifft变换的电路及方法 | |
CN111275180B (zh) | 一种降低深度神经网络数据迁移及功耗的卷积运算结构 | |
WO2023134507A1 (zh) | 随机计算方法、电路、芯片及设备 | |
CN116822616A (zh) | 一种用于大语言模型中Softmax函数训练的装置 | |
CN101551790B (zh) | 应用于通信领域的快速傅立叶变换实现方法及装置 | |
CN104808086B (zh) | 一种具有自适应功能的ad采集板卡及采集方法 |
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 |