实现多种扩频码长的高速滤波装置及其方法
技术领域
本发明涉及无线通信领域的扩频通信技术,尤其涉及实现多种扩频码长的高速滤波装置及其方法。
背景技术
扩展频谱通信具有很强的抗干扰性能,其多址能力、保密、抗多径性能等也倍受人们青睐,因此被广泛应用在军事通信和民用通信中。
扩频通信是一种通过提高传输频带带宽达到提高信道容量和抗干扰能力的通信方式。扩频通信的类型主要有DSSS(直接序列扩频)、FHSS(跳频扩频)、THSS(时间跳变扩频)以及综合扩频等方法。其中,直接序列扩频是将要发送的信息用PN码(伪随机码)扩展到一个较宽的频带上去,并在接收端使用与发送端相同的伪随机码对所接收到的信号进行相关运算,以去除噪声干扰和恢复扩频前的原信号。由于扩展频谱通信的特点,故直接序列扩频具有良好的抗干扰特性,也在通信领域得到广泛应用。
目前,对直接序列扩频信号的解扩主要有两种方法:一种是采用滑动相关器法以捕获扩频码相位,另一种是采用匹配滤波器法以直接算出所有相关结果。其中,相关器法捕获扩频码相位能够适合多种码元长度,且具有结构较简单,复杂度较低,对硬件要求不高等优点,但该方法需要耗费的捕获时间较长,不适合较长扩频码的实时捕获。而匹配滤波器法捕获可以很快实现扩频码捕获,但是由于对硬件要求高,一般结构比较固定,在采用RAM(随机存取存储器)等存储器实现时很难支持多种码元长度的扩频码。如果采用移位寄存器方式实现,又要占用大量硬件资源,这对于码长较长的扩频信号,几乎不可能实现。
另外,随着通信业的发展,各种制式的无线通信***及其硬件设备的不断增加,使得全球电磁兼容环境日益恶化,无线通信设备之间的相互干扰现象时有发生,这就对今后的无线通信***在抗干扰方面提出了更加智能化的要求。以扩频通信中带宽恒定的情况为例,在信道条件较差时采用较长的扩频码,可以提高抗干扰能力;在信道条件较好时采用较短扩频码或不扩频,以提高传输速率。可见单一设备支持多种扩频码长有着广泛的市场空间。但目前支持多种扩频码长的主要实现方法,即滑动相关器法和基于寄存器的匹配滤波法,在时间上或硬件资源上均无法很好的支持长度超过1000的扩频码。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现多种扩频码长的高速滤波装置及其方法,以解决可变扩频码长的情况下扩频码的快速捕获问题,提高扩频通信的抗干扰能力。
为达到上述目的,本发明的技术方案是这样实现的:
一种支持多种扩频码长的高速匹配滤波装置,该装置包括数据选通器、乘法器、加法器、累加器、延时寄存器以及伪随机PN码生成器,所述匹配滤波装置进一步包括多个地址控制器、先入先出FIFO存储器阵列以及多个选通开关;其中,
地址控制器,用于控制FIFO存储器深度,根据不同扩频码长度和单个码片的采样点数选择不同的FIFO存储器深度;
FIFO存储器阵列,由多个FIFO存储器组成,且每个FIFO存储器提供一个抽头与扩频码通过乘法器与PN码相乘,并通过选通开关的控制输出;
选通开关,在所述每路乘法器之后,用于控制是否将该路相关运算结果送入所述加法器;
加法器,用于将多路FIFO存储器输出的并行计算值相加;
累加器,用于将相关运算串行部分累加,并将结果输入相应的存储器作为匹配滤波器的输出;
延时寄存器,用于对所输入的数据进行旋转移位处理,其输出端连接所述数据选通器的一输入端;
PN码存储器,分为多段生成,用于与FIFO存储器的抽头进行相关运算。
其中,所述FIFO存储器深度由每个码片的采样点数和扩频码长决定,所述FIFO存储器受每路地址控制器控制。
所述FIFO存储器为单口随机存取存储器RAM,双口RAM或其他移位寄存器构成。
所述FIFO存储器阵列的配置数目,根据实际扩频码长以及最大并行运算的个数决定。
所述PN码存储器容量可配,内容可配。
一种支持多种扩频码长的高速匹配滤波方法,该方法包括:
A、连接数据选通器,依次将每路地址控制器、FIFO存储器相连接,并将所述FIFO存储器的输出端和PN码生成器的输出端之一通过第一路乘法器相连接,并将乘法器的输出端经过第一路选通开关接入加法器;
B、将所述FIFO存储器的输出端依次连接另一路地址控制器、FIFO存储器,并将该FIFO存储器的输出端和PN码生成器的输出端之一通过第二路乘法器相连,再将该乘法器的输出端经第二路选通开关接入所述加法器;
C、重复步骤B,直至将包括地址控制器、FIFO存储器以及乘法器和选通开关的第N路电路接入所述加法器;
D、将步骤A至步骤C所述的共N路电路运算的结果经累加器与自身的相关运算串行部分累加,并将运算结果存入存储器。
其中,所述选通开关匹配不同的时钟速率、采样速率以及扩频码长之间的关系,当某段FIFO存储器的选通开关断开时,该FIFO存储器的输出抽头参与相关运算;当选通开关闭合时,该FIFO存储器与下级串行FIFO存储器组成一个深度为两个FIFO的深度之和的新FIFO存储器。
本发明所提供的实现多种扩频码长的高速滤波装置及其方法,具有以下优点:
本发明为支持多种扩频码长的高速匹配滤波装置,采用FIFO实现数据存储,降低了硬件寄存器的资源消耗,采用选通开关控制FIFO之间的重组,利用旋转折叠算法实现串并结合节省存贮空间,从而克服了现有技术中对硬件资源消耗较大,长扩频码捕获灵活性差的问题。
附图说明
图1为现有匹配滤波器的结构示意图;
图2为本发明深度可配置FIFO(先进先出)存储器的结构示意图;
图3为本发明支持多种扩频码长的高速匹配滤波装置原理示意图;
图4为扩频码码长变化演示数据示意图之一;
图5为扩频码码长变化演示数据示意图之二。
具体实施方式
下面结合附图及本发明的实施例对本发明的装置和方法作进一步详细的说明。
图1为现有匹配滤波器的结构示意图,如图1所示,匹配滤波器通常主要由输入数据移位寄存器单元、抽头匹配乘法器单元以及求和加法器单元构成。其功能可用下式进行表示:
其中:Sumk为k时刻数字匹配滤波器输出,Dinn为k时刻输入,c1~cn为本地扩频码,N为匹配滤波器积分求和长度,也是扩频码长度。
参考图1,其输入数据11在时钟12的控制下,通过多个寄存器(1~n)13实现时延,然后依次与每个寄存器13相对应的本地扩频码c1~本地扩频码cn通过乘法器分别相乘,最后再将所有的乘法器输出的结果通过加法器累加,即为所述匹配滤波器的输出。这里,所述寄存器13为移位寄存器。
这里,假设Din数据宽度为4,扩频码长为1024;如果采用移位寄存器方式直接实现,仅单路匹配滤波就需要1024×4=4k存储寄存器,同时也耗费大量的加法器资源。而如果采用固定RAM利用旋转移位方式实现,由于RAM相对寄存器占用面积较小,会节省大量资源,但RAM的抽头距离固定,设计好后只能支持固定长度扩频码运算,因而无法满足实际应用中对可变长度的扩频码进行运算的要求。
图2为本发明深度可配置FIFO存储器的结构示意图,如图2所示,在读使能信号21的控制下,地址计数器的输出在地址计数信号24的作用下,经第一地址控制器后转换为读地址,即读总线26;在写使能信号22的控制下,地址计数器的输出在地址计数信号25的作用下,经第二地址控制器25后转换为写地址,即写总线27;所述第一地址控制器24、第二地址控制器25用于实现FIFO寄存器的深度控制,当所输入的地址超过FIFO的深度时,所述第一地址控制器24和第二地址控制器25将其地址跳转到最小地址位置。所述读总线26和所述写总线27分别与RAM相连,通过读总线26和写总线27的作用来控制数据总线23的输入,最后,将所输入的数据经过RAM处理后的通过输出数据总线28输出,作为最终的处理结果。
图3为本发明支持多种扩频码长的高速匹配滤波装置原理示意图,如图3所示,当PN码长为2n(n为大于1的自然数)时,可通过改变FIFO的深度以实现对多种扩频码的解扩。而结构上通过FIFO串联以及延迟寄存器的方式实现折叠滤波,这样可以通过提高时钟频率来完成部分串行运算,进一步减少对资源的消耗。时钟速率的提高同时保证了一个采样周期内计算出一个相关运算值,从而实现了实时高速匹配滤波的目的。选通开关38用于匹配不同的时钟速率、采样速率以及扩频码长之间的关系,当某段FIFO的选通开关38断开时,该FIFO的输出抽头参与相关运算;当选通开关38闭合时,相当于该FIFO与下级串行FIFO组成一个深度为两个FIFO的深度之和的新FIFO,这样,能够实现对FIFO深度与并行个数的配置更加灵活。
因此,本发明中采用可配深度FIFO存储器以实现折叠滤波。其中,所述高速匹配滤波装置中,对各部件作用以及具体实施过程描述如下:
加法器,用于将多路FIFO并行计算值相加;累加器,用于将相关运算串行部分累加;延时寄存器,用于对输入数据作旋转移位处理;PN码存储器,分为多段生成,用于与FIFO抽头进行相关运算。所述PN码存储器在图3中未示出,其与所述每路乘法器的PN码输入端相连。
数据选通器31,用于当有新数据输入时,将采样数据送入FIFO,其他时刻将延迟寄存器的末端反馈回的数据送入FIFO;
地址控制器阵列32,由第一地址控制器、第二地址控制器、…、第N地址控制器组成,通过所述地址控制器控制FIFO深度。
设时钟频率为Fc,采样频率为Fs码片速率Fchip,PN码长度为N,则FIFO深度为:
Depth=(Fs/Fc)×(Fs/Fchip)×N
其中,FIFO的个数为(Fc/Fs),以时钟频率为采样速率的8倍、一个码片采样2次为例,设FIFO总深度为512,则当PN码长为1024时,设置可用FIFO深度为256,而FIFO的个数为8;当PN码长为512时,设置可用FIFO深度为128;当PN码长为256时,设置可用FIFO深度为64;当PN码长为128时,设置可用深度FIFO为32等等依此类推。
所示33、34、35分别表示不同的FIFO深度,前述图2所示仅为其中的一种实现方式;此外,所述FIFO还可以采用单口RAM通过时钟选通读、写进行控制;
PN码(PN1~PNn)37,在此由于有n路并行,故所述PN码被等分为n段;
选通开关38,用于当时钟速率为采样速率的2n倍时,所述选通开关38等距打开2n路;
累加器39,用于负责将所产生的串行部分累加起来;
输出信号3A,为最终结果输出。
下面以FIFO个数为8、最大深度为32的情形为例进行说明。此时该装置可支持长度为8、16、32、64、128、256的扩频码解扩。进一步地,以扩频码长度为64和16为例说明整个***工作情况,当扩频码长度为64时,若时钟速率Fc为码片速率Fchip的16倍,采样频率为Fs码片速率Fchip的两倍,也就是说采样一个完整扩频码长需要128个采样点。可配置8个FIFO对应选通开关为开,每个FIFO深度设置为16,经过一个完整PN码周期延迟后,输入数据在通过数据选通器31的选通重组排序后就会出现如图4所示结构;其中x.y中的x表示为第几个码片,y表示为x码片的第几个采样点,如:0.0即为第一个输入的采样点。
图4为扩频码码长变化演示数据示意图之一,如图4所示,这时PN码44存为8段,每段存储8个数,其存储顺序如图中右侧所示。此时乘法器运算分别为63.0×PN63、62.0×PN62、61.0×PN61、60.0×PN60、59.0×PN59、58.0×PN58、57.0×PN57、56.0×PN56,将这些值加起来正好是部分相关的结果。而下一个时钟PN码换成PN55~PN48,FIFO抽头的输出为55.0~48.0。这样将连续8个时钟部分相关结果累加即为匹配滤波的输出。
当扩频码长度为16时,若时钟速率Fc为码片速率Fchip的16倍,采样频率为Fs码片速率Fchip的4倍,也就是说采样一个完整扩频码长也需要64个采样点。可配置4个FIFO对应选通开关为开,所有FIFO深度都为8,一个完整PN码周期延迟后,输入数据在通过数据选通器41的选通重组排序后就会出现如图5所示结构。
图5为扩频码码长变化演示数据示意图之二,如图5所示,此时PN码55分别存入与c2、c4、c6、c8相对应的存储单元,共四段,每段4个PN码元,其存储顺序按图中所示。所述c2、c4、c6、c8相对应的选通开关打开,其他关闭,如图所示选通开关56打开,选通开关57闭合。此时乘法运算器分别为15.0×PN15、14.0×PN14、13.0×PN13、12.0×PN12也完全对应。同理,连续4个时钟部分相关结果累加之和即为匹配滤波器输出。
可见,结合本发明的计算装置,通过上述运算,正确有效地实现了对多种不同的扩频码长的匹配滤波。
本发明提供的方法并不局限于上述具体方案,例如,当时钟速率变化时,还可配置地址选择器,选择FIFO存储器的个数以适应多速率信号处理的要求。所述FIFO的个数由实际所支持PN码的码长种类决定,不局限于4个或8个等。这里,所述FIFO既可采用RAM方式实现,也可通过使用移位寄存器方式来实现。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。