汪夕琳,周亚丽,张佳
(哈尔滨工程大学 信息与通信工程学院,黑龙江 哈尔滨 150001)
伪码测距技术,即将伪随机码加载到无线电载波中进行传输,利用伪随机码的长周期性和尖锐的自相关特性,将接收到的伪随机序列与本地伪随机序列进行相关,得到两者相位差,进而得知传输延时,从而实现距离测量的一种测量手段[1].伪码测距技术具有抗干扰能力强和测量距离远、测距精度高等优点,在测距的同时兼具信息通信功能.伪码测距技术早期主要应用于雷达和导航定位等技术领域,随着美国全球定位系统(GPS)的发展而大展身手,之后诸国的卫星导航定位系统中均应用了这一技术,现在越来越多的领域利用该技术实现更为精准的定位,如星间精准定位、地面精准定位等.
伪码测距的相关研究也在不断进行中:首先是与导航定位系统相关的研究,如开发改进新算法,提高伪码捕获的速率和测距精度;其次是测距误差相关研究,如采用数学建模或者精密测量来消除测距误差;再次是干扰抑制研究,如测距信号被灵敏度较高的接收机接收时易受其他强信号干扰,所以在接收前端需采用一些技术处理和算法改进来抑制干扰.
在室内、地下建筑、矿洞、天然洞穴等地方,由于全球卫星导航系统(GNSS)的信号天线不具有清晰视野,信号微弱甚至没有,所以接收机不能很好工作,无法进行定位导航.本文利用伪码测距技术,以2.4 GHz频段为载波,进行空间单点静态无线定位研究.
在GNSS中,空间运动的导航卫星其位置坐标值精确已知(可精确计算得到),用户接收机接收4颗以上空间导航卫星发射的伪码扩频调制导航信号,测出至少4颗导航卫星的4个不同伪距值,采用4球交汇的空间几何定位原理,精确确定出用户接收机所在位置的三维坐标值,即实现三维定位.基于伪码测距技术的静态单点无线定位系统,借鉴卫星导航定位系统的上述定位原理,该系统由主机、从机两部分组成,采用主机移动(但位置坐标值已知)、从机不动(从机处于静止状态)的工作方式,系统的主机生成伪随机序列,经过载波调制后经天线发射出去,从机接收该信号后再转发回主机,由主机完成对接收伪随机序列与本地伪随机序列的同步,测得两者的码片相位差,进而得到传输延时,获得主机、从机间的3个距离数据,在二维正交坐标系中,采用3圆相交的平面几何定位原理,通过定位解算算法,来确定出从机的位置坐标值,实现对从机的定位.多次测量可以减小测距误差,提高定位精度.
基于伪码测距技术的静态单点无线定位系统的定位示意图如图1所示.在二维正交坐标系XOY中,标定测距时主机的不同位置坐标M1(Mx1,My1),M2(Mx2,My2),M3(Mx3,My3),以主机所在位置为圆心,以主机、从机间的距离为半径画圆,则3个测距圆的交点即为从机所在位置,从而完成从机的静态单点定位.
在无线定位系统中,设从机S的二维位置坐标为 (Sx,Sy),主机3次变换位置点M1、M2、M3的二维坐标值分别为:M1(Mx1,My1),M2(Mx2,My2),M3(Mx3,My3),特殊情况下,当S与M1、M2、M3的距离均相等时,则S点的二维位置坐标值为
(1)
通常情况下,可设从机的S位置点是任意位置,然后移动主机到已知位置M1、M2、M3点,记录M1、M2、M3到S点的距离,设M1到S的距离为L1,M2到S的距离为L2,M3到S的距离为L3,由两点间距离公式
(2)
推导可知,此时从机的S点位置坐标(Sx,Sy)为
Sx=
(3)
Sy=
(4)
对于伪码测距技术而言,有两个重要指标:距离模糊度和精度[1].距离模糊即实际所测距离大于理论测距的最大距离,导致距离准确度无法判断;精度是指利用测距码的相位差所计算得到的距离与实际空间距离的误差.伪码测距技术中,伪码序列的周期决定探测距离,由于伪码序列周期可以很长,所以测距距离也会增加,但是周期较长的伪码序列其捕获时间也会相应增加,因此可采用多个子码组成复合码.测距精度是由码元宽度(码速率)和跟踪精度决定,因此为提高测距精度,码元宽度应尽量小,也意味着较高的码速率;同时要求伪码跟踪的精度相对较高,对码片的相位差的测量尽量准确.
从宏观角度看,电磁波测距的空间距离等于光速c乘以发射信号与接收信号的时间差Δt的一半.
d=c×Δt/2,
(5)
在无线定位系统测距中,最大测距距离dmax
取决于伪随机序列的序列长度pTc:
dmax=1/2cpTc,
(6)
式中:c为电磁波传输速度;p为码片长度,p=2n-1,n为移位寄存器的级数;Tc为伪随机码的码元宽度.
则系统测距精度Δd:
Δd=1/2cTcΔp,
(7)
式中,Δp为跟踪精度.
主机主要负责测距工作,包括测距信号的生成,载波调制,经上变频后射频发射,射频接收前端处理,经下变频到基带后进行载波分离,伪码同步和数据处理;从机负责接收转发主机的信号,包括射频接收前端接收信号,经下变频到基带,经过模数数模转换,经上变频后将信号转发给主机,所以主机和从机硬件系统结构相同,但软件部分不同,主机的软件部分较为复杂,从机的软件部分则较为简单.系统主机的硬件设计如图2所示.
主机硬件系统划分为不同功能的模块,包括系统电源模块、FPGA主控模块、时钟生成模块、高速ADC与高速DAC混合信号处理模块、集成射频信号收发模块和高速ADC驱动与高速DAC缓冲模块.FPGA即现场可编程逻辑门器件,可以实现任何数字器件的功能.可以通过原理图输入或者使用硬件描述语言来设计自己想要的功能模块,通过软件仿真验证设计的合理性,进行在线调试修改设计电路.AD9963即ADC和DAC集成芯片.AD9516时钟生成模块,主要为AD9963提供时钟,驱动芯片使用.MAX2831用于射频集成收发.其中FPGA主控模块可控制AD9516,AD9963,MAX2831寄存器值,模块化设计各部分职能清晰,也利于后期调试.
无线定位系统所使用的伪随机序列为m序列,m序列可以由6级线性反馈移位寄存器产生,选取合适的特征多项式[2-3],m序列的周期为63,系统时钟CLK为50 MHz,利用FPGA的锁相环进行分频得到码速率8 Mcps.m序列的多项式为:
F(x)=x6+x5+x4+x3+x+1,
(8)
模块输入信号包括时钟信号和复位信号,使用6位移位寄存器,将移位寄存器的初值设为111101.
载波调制采用的是BPSK调制,伪码信号与载波信号coswt相乘进行相位调制,其运算关系图如图3所示.
载波调制时,伪随机码由上一节的m序列发生器产生,正弦载波由FPGA的IP核NCO生成.正弦载波根据m序列的码元变化,其相位在0和π之间交替变换.
载波分离,也叫载波去除,接收端接收到调制了伪码信息的载波后,必须通过载波分离技术分离载波,还原出伪码序列[4],不再被载波频率或者任何中频信号调制;实现载波分离必须使本地载波与输入载波相位保持一致或近似一致,即保持本地载波与输入载波同步[5].
BPSK的解调采用性能优良的相干解调法,一般来说可以采用锁相环(PLL)实现,但是由于锁相环对180°的相位变化敏感,显然不适合,因此科斯塔斯环就是个很好的选择,其对180°相位翻转不敏感,且具有性能优良、耗费硬件资源少等优点.
科斯塔斯环(Costas),又叫做同相正交环、I/Q正交环[6].1956年, Costas首先提出采用同相正交环来恢复载波信号[7],随后Riter证明跟踪低信噪比的抑制载波信号的最佳装置是Costas环及平方环[8].Costas环是工程上应用最为广泛的一种抑制载波跟踪环路.
接收信号经过射频前端放大、滤除噪声和下变频变换后,进入科斯塔斯环,分为I路和Q路两路信号分别与DDS产生的相位差为90°的载波相乘,相乘结果分别经过每路的低通滤波器滤除高频分量,再将两路滤波器输出信号输入鉴相器比较,比较结果送入环路滤波器,其输出作为NCO调整本地载波的依据,当两路信号的相位差趋于稳定时,则科斯塔斯环实现了锁定,此时载波同步完成,基带信号也完成了解调.在FPGA中,乘法器、低通滤波器和DDS可以使用Altera的IP核生成,分别为LPM-MULT、FIR II、NCO这三个IP核,配合MATLAB生成相关参数,减小设计难度.
完成载波分离与解调后就是实现伪码同步.伪码同步包括伪码捕获与伪码跟踪,也叫粗同步与细同步[9].伪码捕获的作用就是在时间与频率不确定的范围内捕获接收到的有用伪随机码,使之与本地伪码序列趋于同步[10].在信道传输一段时间后,接收伪码序列会与本地伪随机序列产生相应的相位差.将本地伪码序列与接收的伪码序列进行相关,系统会根据相关结果与门限比较,判断两者之间的相位差是否小于一个码元宽度,对本地伪码序列生成器的时钟进行调整,使本地伪随机序列与接收伪随机序列的相位差不断调整,直至满足门限条件转入伪码跟踪,否则继续捕获.
伪码跟踪的方案大致有时域串行搜索捕获,循环相关搜索捕获与双积分滑动相关法等方法.时域串行相关搜索捕获法所用硬件资源较少,捕获时间较长;循环相关搜索捕获法将信号通过FFT变换到频域进行处理,所以捕获时间会大幅缩小,但耗费硬件资源较多.由于测距距离较短,伪码的周期也相对较短,数据处理较为简单,因此选择时域串行相关搜索捕获法,其原理图如图5所示.接收到的信号经过射频前端经过下变频处理后,中频信号经过科斯塔斯环解调后分成了I/O正交两路信号,再将两路信号各自进行积分
Q(k)=Si(k)×S[ξ(k)]×sinc[TdΔwd(k)/2]×sinφ(k),
(9)
式中:S[ξ(k)]为本地伪码和接收伪码的自相关函数;Td为积分时间;Δwd为载波频差.进行平方运算后:
(10)
如果信号的相关峰值达到判决门限,伪码捕获完成,系统开始进入伪码跟踪状态;
如果没有达到设定的判决门限,就需要调整本地伪码时钟移动其相位,直至达到门限值[11].由于相关搜索捕获较为简单,实现也较为容易,唯一的不足是可能耗时较长,由于伪码序列较短,系统对处理时间也不敏感,因此也就不足为虑了.
伪码捕获完成后,本地伪码序列与输入伪码序列相位差仍存在一个码元的宽度之差,系统转入保持同步状态阶段,即伪码跟踪[12].通过环路跟踪不断细微调整两者相位差,以实现更高的测距精度.常用的跟踪环路是延迟锁相环(DLL)跟踪电路和抖动锁相环(TDL)跟踪电路,两者均是超前-滞后类型的锁相环[13],延迟锁定跟踪环路结构如图6所示.环路的作用是由收到的信号与本地序列存在一定相位差(超前&滞后)的信号进行相关运算完成[14].延迟锁定环在跟踪两个相关波形时是一种最佳电路[15].本系统选择了超前-滞后非相干锁相环路法作为跟踪环路.
本地伪随机码生成器产生三个相位相差Δφ的超前码(Early Code)、中间码(Prompt Code)与滞后码(Late Code)[16].超前码与滞后码的相位差是关于中间码对称的,这样就可以让超前码的相关值取自伪随机码的自相关函数的上升沿,而滞后码的相关运算取到伪随机码自相关函数的下降沿[17].接收信号分别与超前码、滞后码进行相关运算,经过积分累计,鉴别器得到超前码与滞后码的包络相减后的偏差,再经环路滤波器反馈到数字控制振荡器(NCO),NCO控制码生成器调整其时钟改变超前码与滞后码相位,使之积分结果误差趋于0.若本地伪码与接收伪码对准,则超前与滞后包络幅度相等,此时鉴别器不产生误差信号;若未对准,那么超前与滞后的包络幅度不相等,在相关间隔的限制范围内相差的大小与本地伪码序列与输入伪码序列的码相位误差大小成正比[18].
前面分析了伪码测距技术的基本原理、系统硬件电路设计、软件设计,本部分将在此基础上结合软硬件系统的调试,记录系统测试数据,并对数据与测试结果进行分析.
4.1.1 伪随机码序列
FPGA工作时钟可达100 MHz,但是在实际电路中,数据信号因噪声干扰在较高的工作频率下传输会不稳定,所以将系统时钟频率设置为40 MHz,以保证系统信号的稳定传输.以系统时钟为基准,利用FPGA内部PLL分频生成8 MHz时钟作为伪码的时钟.最终生成速率为8 Mcps、码长为63的伪随机码,将程序下载到FPGA中,利用SignalTap抓取伪码序列的信号,如图7所示,满足系统要求.
4.1.2 DAC传输
将伪随机序列与载波进行BPSK调制[19]后,利用SignalTap抓取载波以及已调信号的波形.图8为发送端BPSK调制的SignalTap信号图,从上到下依次为伪码序列、载波信号、已调信号.从图上可以看出在伪随机码相位突变处,已调信号相位也发生180°变化,BPSK调制实现,但是可以发现已调信号的相位并非都在0°处变化,而是略有偏移,大致是与生成在载波时相位调整不合理所致略有偏移.(FPGA产生的载波是一个在连续时间上的正弦波,在不同的时间点采集的信号相位并不确定,因此已调信号的初始相位可能不是零相位).
AD9963内部的DAC采样时钟设置为80MHz,将已调信号传输给AD9963的DAC的接口,利用SignalTap组件对DAC接口的数据进行采集,如图9所示.
4.1.3 射频发射信号
基带信号经过AD9963内部DAC数据转换后传输给MAX2831上变频至2.437 GHz左右发射,通过MAX2831的B1-B6端口可以调制发送信号的功率,利用示波器得到的波形如图10所示,发射频率为2.43 GHz,与设置频率相同.
4.2.1 ADC数据采集
接收信号经过MAX2831下变频以及滤波等处理后,将I/Q两路差分信号传输给AD9963内部的ADC采集.为了方便系统数据的处理,AD9963内部ADC的采样时钟同样设置为80MHz,图11为ADC信号的SignalTap数据采集图.
4.2.2 接收信号载波同步与解调
接收的数据解调采用相干解调法,因此采用了科斯塔斯环.从图12可以看出本地载波与接收信号相乘后,信号的基带分量和高频分量都存在(本地信号与接收信号相乘后存在基带分量和高频分量的),经过低通滤波后基带信号已基本解调出来,但是同步是数字信号,因此使用简单的比较器就可以得到标准的解调后的伪随机序列.
接收端载波同步完成后,本地伪随机序列与解调后的接收伪随机序列逐位累加相关,得到两组序列的相关值,将相关值送入门限判决,超过门限值即可认为伪码捕获完成.利用SignalTap组件对系统测距的数据进行采集,当伪码同步完成后,伪码捕获和伪码跟踪会记录本地伪随机码移动的个数,由图13可知,伪码捕获时,移动18个码片,伪码跟踪时,移动6个位置,每个码片频率为4 MHz,周期为250 ns,采样频率为200 MHz,周期为5 ns,此时,伪码同步总时间为4530 ns,由式(1)可知,求得测量距离d为
(11)
系统测距的精度由伪随机码码片宽度与伪码跟踪的精度决定,码片宽度与码速率成反比关系,跟踪精度Δ设置为1/5(有测距精度要求,因为码元宽度为1/4 M,所以最后设置成为了1/5),则测距精度Pc:
(12)
所以理论测距误差e:
(13)
实际手动测量主机和从机距离为676 m,在精度范围内,变换主机位置,从机不变,再次重复测距步骤记录下两次主机位置、两次主机到从机距离,由主机所在位置和主机到从机的距离,根据公式(3)和公式(4)可推算出从机位置。
本文完成了利用伪码测距技术进行单点静态无线定位的设计与实现,对伪码测距原理做了重点研究.其中主要参考了软件无线电的设计思想,设计了基于伪码测距技术的无线定位系统硬件平台的方案.无线定位系统硬件根据功能划分模块,设计每个模块并实现,而且对系统硬件电路各个模块进行了调试,完成了系统的整体功能,实测时测距精度达到要求,误差大约为1.1%,定位功能较好.但本文系统采用的是单一的伪随机码,系统对应的只有一个从机,下一步可以采用码分多址技术,用相同的码片速率和不同载频的伪随机码,实现主机与多个从机的通信与测控,提高定位精度要求.