"); //-->
本文总结并比较扩频通信中PN码捕获的各种方法,并着重介绍由大步进快速捕获延迟锁定环构成的解扩系统的结构和实现机理。提出用CPLD对该系统中关键部件——PN码发生器和大步进逻辑电路数字化的方案,并给出解决办法。
扩频通信就是在发端将一个速率远高于信号频率的伪随机序列(本地PN码)与信号相乘,产生扩频信号,从而拓宽信号频谱;在收端用一个与发端完全相同的伪随机序列与接收到的扩频信号相乘,通过窄带滤波器滤除带外干扰,提高解调前信号的信噪比。在扩频通信系统中对发端PN码的同步是个至关重要的环节,没有对发端PN码的捕获和同步就根本无法实现解扩,也就无法获得扩频通信的各项优势。本文将对扩频通信中PN码捕获的几种常用方法进行比较和讨论,并重点论述一项相对比较新的解扩技术——大步进快速捕获技术以及如何将复杂可编程逻辑器件技术应用其中完成本地PN码发生器和大步进逻辑的数字化。
扩频通信中PN码的捕获方法
同步不确定性包括码相位不确定性和载波频率不确定性,因此实现PN码的同步包含两个步骤。首先是捕获,使本地参考码和接收码的相位差小于一个码元宽度,使本振的中心频率精确到使去扩谱信号位于相关后滤波器的通带内,保证解调器能够很好地工作,这个过程也称粗同步;第二步是跟踪,也称精同步,使得两个PN码的相位差保持为一个PN码码元的若干分之一。跟踪的问题可以由延迟锁定环很好地解决,而PN码的捕获,特别是低信噪比下长序列PN码的快速捕获,已经成为扩频通信系统中很重要的一个问题。
传统的PN码捕获主要有以下几种方法:
1. 单步进搜索:这是最原始的搜索方法,它逐次移动一个相位步进量(一个PN码码元),每移动一次作一次相关判决,直到两个PN码同步。
2.滑动相关:使本地码产生器同发射码产生器的时钟速率有一定的差率,从而使两个码序列从相位上看起来好象在相对滑动,直到两序列相符时滑动停止。
3.多驻留式搜索:以双驻留式搜索为例。设置两个积分时间t1和t2,t1较短,用于粗同步的初次估计,t2相对较长,用于粗同步的二次估计。当在t1时间内的积分值没有超过门限时,本地PN码步进一个相位单元,进入下一轮相关判断;若超过了门限值,则在t2时间内再做积分,若没超过门限值,则认为两PN码没有同步,本地PN码步进一个相位单元,进入下一轮相关判断。重复上述步骤,直到两PN码同步为止。
4.双门限判决:该方法是在进行相关判决时设置上、下两个判决门限。相关结果高于上门限时认为已同步,低于下门限时认为未同步,位于上下门限之间时,增加积分时间做进一步的判决。
5.匹配滤波器:当信号为实函数时,相关和卷积只差时间的反转。当输入是直接序列扩频信号时,设计一个匹配滤波器,使其单位脉冲响应为PN码的时间反转,当扩频信号输入到达一个PN码周期时,有一个最大相关输出,令该输出对本地PN码发生器置位,使两PN码达到粗同步。在载波频率较高的情况下,匹配滤波器一般用声表面波器件SAW实现。但SAW器件插损大,而且滤波器长度也受限于国内工艺水平,只能对长码的一小段进行匹配,在低信噪比下不可靠。
6.序列估计法:该方法是利用对PN码发生器中的n个可预置移位寄存器进行置位来实现PN码的同步。即用解调后的码(包含PN码和信息码及噪声)去给本地PN码发生器的移位寄存器置数,使得本地PN码发生器从这一状态产生PN码。设在一个PN码码片长度内信息码不改变符号,则只需要n个PN码元宽度的时间就能使两PN码同步。但考虑到存在噪声,其捕获速度并不比单步进快。
7. 采用复码实现快捕:该方法是在产生PN码时,通过将若干个短周期的PN码序列经特定的逻辑组合来得到长周期的PN码序列,短周期的PN码序列周期长度两两互质。捕获时,依次对各个子码进行捕获。这种方法的捕获时间是所有短周期PN码序列周期长度之和,可以使捕获时间较单步进搜索成数量级的降低 。但是,复码的频谱中有许多离散谱线,扩频效果不好,而且在捕获每个子码时相关值改变量小,因而对信噪比要求很高,一般只用于伪码测距。
以上几种方法有的实现起来虽然简单,但捕获时间太长(如单步进和滑动相关);有些对噪声过于敏感,不适用于扩频通信系统(如序列估计法和复码法);有些虽然捕获时间较单步进有一定的缩短,但电路也复杂了许多,付出的代价太大(如多驻留式搜索和双门限判决法);另一些则受限于实现所必须的元器件,扩频增益作不高(如匹配滤波器法)。下面我们将讨论的大步进搜索逻辑以及由它构成的大步进快速捕获延迟锁定环则可以克服以上几种捕获方法的缺点,具有捕获时间短(较单步进短一至两个数量级)、电路简单易于实现、捕获灵敏度高的特点,是一种在扩频通信领域有广泛应用前景的PN码捕获方法。
大步进搜索的基本原理
大步进搜索实现PN码快速捕获的实质就是将要搜索的q相位单元分为q/m段,每段m个相位单元,用大步进电路使本地PN码逐段移动(即每次步进m个相位单元),每移动一段,做一次m路并列相关判决。由于大步进搜索每次相关判决同时对m个相位进行,而单步进搜索每次相关判决只对一个相位进行,故而大步进的捕获时间较单步进可以缩短1/m,实现快捕。使用大步进搜索方法的大步进快速捕获延迟锁定环的实现机理见图1。
图中S(t)为接收信号,它与(m+2)路本地PN码相乘,每一路代表了一个PN码相位,再经窄带滤波与包络检波,得到<0>~这(m+2)路相关运算结果。将其中的m路(<1>~)送入多路比较判决电路,与门限Vt比较。当m路相关运算结果都小于判决门限Vt时(无相关输出),代表这m个PN码的相位都没有与发端PN码对齐,此时由判决输出端控制大步进电路,使本地PN码大步进m位,进入下一段相关处理;如果m路相关运算结果中有一路超过门限Vt(有相关输出),说明该路(设为第i路)代表的PN码相位已经与发端PN码对齐,此时由判决输出端控制大步进电路,停止大步进。一旦大步进停止,则通过比较输出(1)~(m)控制开关网络将该同步路的滞后路(第i+1路)和超前路(第i-1路)分别接入差分器的正端和负端,闭和延迟锁定环,进入跟踪阶段。
概括起来,大步进快速获延迟锁定环具有以下优点:
1.现代电路技术实现并列乘法器使m 达到10~100比较容易,故捕获时间可降低一至两个数量级,效果明显。
2.由于现代集成电路的发展,对于整个大步进延迟锁定环路中最复杂的部分:并列乘法器 、多路比较判别以及大步进逻辑电路,可以用CPLD很简单地实现,这大大的缩小了整个电路的体积,使得快速捕获电路的小型化成为可能。
3.本方法是靠分段并行搜索来实现快速捕获的,因此相关处理时间可以很长。如果相关时间取到整个PN码周期,那么就能避免PN码部分自相关引起的噪声对相关判决的影响,从而提高捕获灵敏度。
4.由于本方法在捕获速度上的优势以及PN码整周期相关带来的好处,本方法的扩频增益受到的限制较少,故而可以将码长做到很长(如1023甚至更长),从而获得较大的扩频增益。这也是本方法的应用潜力所在。
CPLD 在大步进延迟锁定环中的应用
可编程逻辑器件技术有如下优点:首先,用户可以将复杂的逻辑电路用语言或原理图等方式描述出来,编译综合后固化到一块小小的芯片中,使得庞大的电路得以简化;芯片的逻辑功能在固化前能够通过特定的仿真工具进行仿真和验证,这又避免了在设计过程中为了得到正确的逻辑功能而重复修改硬件,极大地缩短了设计人员的设计时间;对于过去的设计方法,当设计定型之后,若再想做相对稍大的改动,会涉及重新搭建实验电路、重新绘制电路板、重新购买元器件等等十分复杂的工作,整个过程相当烦琐且容易出错;而使用可编程逻辑器件进行设计则只需要在语言程序或原理图中进行改动,编译仿真成功后,再次把程序固化到芯片中,只要当前芯片中的逻辑单元够用,硬件上不需要进行任何改动。
Altera公司的MAX 7000系列是基于乘积项结构的可编程逻辑器件系列,特别适用于实现高速、复杂的组合逻辑。本课题选用了MAX 7000系列CPLD产品中的74SLCC44-10来实现大步进快速获延迟锁定环中的关键部分:PN码发生器和大步进逻辑产生器。
A. 用CPLD产生1,023位PN码
本地PN码产生是通过原理图输入方式实现的 。为了取得高扩频增益,本课题采用长度为1023位的m序列作为PN码,并选用了n=10时m序列最简单的生成多项式。该m序列的发生需要10级移位寄存器,由第3级和第10级引回反馈,原理如图3。
该PN码发生器在MAXPLUSⅡ中的功能仿真结果如图2所示。其中fpn为时钟源,Cpn 就是得到的1,023位PN码的一部分(基于可视性考虑,此处只贴出了其中的一段)。由于芯片7064SLC在上电后自动把内部寄存器清零,所以应在PN码发生器中引入一个寄存器初始化环节,避免由于寄存器输出全零造成的PN码发生器死锁状态。图3中第一个信号prn就是片内寄存器初始化信号,prn=‘0’将PN码发生器中的寄存器全部置‘1’,使PN码发生器脱离死锁状态,开始工作。
B. 用CPLD实现大步进逻辑
大步进延迟锁定环路中,大步进电路的作用是实现大步进逻辑,即根据判决输出Vc电平高低控制本地PN码的步进:当Vc为高电平时,使本地PN码大步进m位,当Vc为低电平时,停止本地PN码的步进。大步进逻辑电路如4所示。
当判决输出Vc为高电平时(未同步),门G1被封锁,输出低电平打开门G2。此时时钟脉冲fvco通过反相器G2,得到PN码发生器时钟fPN。当判决输出Vc为低电平时(同步),门G1被打开,扣脉冲信号Q通过G1反相到达G2,控制fvco使得输出时钟被扣除m个脉冲。
以上逻辑电路在MAXPLUSⅡ开发系统中,可以直接采用原理图方式输入。与门、与非门以及D触发器在Altera的prim库中都有,可以直接调用。计数分频器在Altera的mf库中也有,但考虑到调试中分频比m和n要随时灵活变化,故采用了自编的VHDL计数器程序。程序代码如下:
============================================
library ieee;
use ieee.std_logic_1164.all;
entity counter_6 is
port ( clk , s : in std_logic;
cnt_out:out std_logic ) ;
end counter_6 ;
architecture behavior of counter_6 is
constant count_model : integer : = 6 ;
begin
process ( clk , s )
variable n : integer range 0 to 50 ;
variable qc : std_logic;
begin
if ( s = ' 0 ' ) then qc : = ' 1 ' ;
elsif ( clk ' event and clk = ' 1 ' ) then
if ( n > = count_model ) then n : = 0 ;
else n : = n + 1 ;
end if;
if ( n = count_model ) then qc : = ' 0 ' ;
elsif ( n = count_model-1 ) then qc : = ' 1 ';
else qc : = ' 1 ' ;
end if;
end if;
cnt_out < = qc ;
end process ;
end behavior ;
=========================================
以上VHDL程序描述了一个带置‘1’端的六位计数器。常量count_model代表计数器模值(通过修改count_model的值可以得到任意模的计数器);s为整个计数器的置一 端,低电平有效;clk为计数器输入;cnt_out为计数器输出。该计数器的功能仿真结果如图5所示,当s=‘0’时计数输出为‘1’;当s=‘1’时计数器每隔6个输入脉冲输出一个低电平脉冲。
本文小结
今后通讯行业相关产品的发展将向着“数字化、软化、集成化”方向发展,在有限的空间内用最可靠、最简便、最小型化的方案实现同样或更好的功能将成为最具竞争力的方案。本文所介绍的用CPLD完成关键逻辑功能的大步进快速捕获延迟锁定环为应用新型的复杂可编程逻辑器件技术对系统中关键模块软化、集成化提供了一个较好的解决方案。同时,由于该环路采用了大步进捕获方法,因而具有很快的捕获时间和较强的抗干扰能力,特别适用于低信噪比的应用。
作者:
雷剑梅
重庆大学通信学院
指导教师
中国工程院杨士中院士
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。