|
|
| | -文章搜索 - 最新文章 - | |
用成型滤波器组提高测距精度的一种方法 |
| 发布时间:2007年3月17日 点击次数:212 |
| 来源: 作者: |
作者:北京清华大学电子工程系 章 屹 陆明泉 尹旭明 冯振明 在许多测距系统中,用户端接收到基站发送的帧信号后,便以该帧中特定的位置(称为帧参考时标)为基准发送“回复帧"给基站。基站收到回复帧后,提取它的帧参考时标,并以其作为测距的依据。通常用户端的系统时钟精度较低(本文提到的系统时钟均指用户端的系统时钟),因此接收到的帧参考时标会存在误差。在用户端经过计算估计出帧参考时标的误差,再用该误差调整发送回复帧的时刻,可实现精确测距。因此测距精度取决于两个因素:帧参考时标误差的估计精度和回复帧发送时刻的调整精度。本文主要讨论如何提高回复帧发送时刻的调整精度。回复帧是由基带码组成的,因此下文中讲的发送时刻的调整均指基带码发送时刻的调整。 发送时刻的调整精度是由发送时刻的调整步长决定的。在一般的数字系统中,发送时刻的调整步长不小于一个系统时钟的周期。本文利用Altera公司的EP20K300EQC240-3型FPGA器件设计了一种成型滤波器组,使发送时刻的调整步长缩短为时钟周期的五分之一,从而将发送时刻的调整精度大幅度地提高。 1 成型滤波器组调整发送时刻的原理 成型滤波器组的设计原理图如图1所示。成型滤波器组包括一组成型滤波器。相同的发送基带码经成型滤波器组中不同的成型滤波器滤波后,会产生不同延时的发送数据波形。发送数据波形的延时不同,则发送时刻也不同。这就是说,相同的基带码经过不同的成型滤波器滤波后可产生不同发送时刻的波形。因此,以测距误差作为选择字,根据误差的大小选择相应的成型滤波器,就可间接地调整发送基带码的时刻。 图1 成型滤波器组的设计原理图 2 用FPGA设计成型滤波器 图2 成型滤波器的设计原理图 首先用MATLAB设计数据波形文件。设系统基带码速率为N MHz,系统时钟频率为B MHz。FIR滤波器的阶数为(C为奇数,可根据滤波器的阶数要求进行选择)。FIR滤波器的系数可通过MATLAB进行设计。将C个基带码排列组合成2C种情况。对于每种组合,在C个基带码的相邻码间内插-1个0后,与设计好的滤波器的冲激响应卷积。卷积结果的中间个数据波形值就是该C个基带码组合的中间基带码(简称中间码)的滤波结果值。这个数据波形值可以存储在以该种组合(C个码)为基地址的ROM中。MATLAB可以计算出所有组合下C个基带码的中间码的滤波结果值。 图2中ROM存储的数据是设计一个成型滤波器得到的波形数据,为了与下面成型滤波器组的存储数据相区别,将图2中ROM存储的所有波形数据统称为一个子波形。 3 在FPGA中用成型滤波器组调整发送时刻的方法 图3是成型滤波器组的实现方案图。图中的FPGA的ROM中存储了E个子波形,称为一个成型滤波器组。第一个子波形就是图2所设计的子波形,称为原来的子波形。之后的E-1个子波形是原来的子波形以时钟周期的1/E循环左移1,2,...,E-1次得到的。如何得到这些移位后的子波形是设计的关键。由于波形的移位在MATLAB中是以数值的变化体现出来的,而通过MATLAB计算可以得到数值精度很高的波形数据,所以用MATLAB设计的波形,移位可以远小于时钟周期,因此可以很容易用MATLAB得到以时钟周期的1/E循环左移后的各个子波形。 图3 成型滤波器组的实现方案图 各移位后的子波形按循环左移大小依次存储在ROM中。因此一个时钟周期的延时被划分成了E个区间,将测距误差除以时钟周期,得到余数R,计算出R落在了E个区间中的哪个。选择该区间的子波形,将该子波形送到D/A转换器转换成模拟波形后再输出,就可将发送时刻的调整步长降到时钟周期的1/E。实际设计时,在MATLAB中将FIR滤波器的冲激响应以时钟周期的1/E循环左移,再与插零后的基带码卷积,就实现了子波形的循环左移。而通常的系统实时产生的波形是由系统时钟控制的,延时不会小于一个时钟周期,因此其调整精度远不如用MATLAB设计的成型滤波器组的方法。 4 实例与仿真 4.1 子波形的设计与仿真 本设计所应用的测距系统的基带码速率为2MHz,系统时钟频率为20MHz,因此在2MHz基带码的相邻比特间内插个“0”,然后通过阶(C选为5)的FIR滤波器就可实现成型滤波。5个基带码可排列成32种组合,图4是其中的一种基带码组合——11011的成型滤波的仿真结果。图中显示了该组合插零后与成型滤波器的冲激响应进行卷积的过程。可以看出,卷积后的中间10点数据波形正好是插零前5个基带码中间的信号0经滤波器平滑后的波形。这10点数据波形存在以11011为基地址的ROM中。 图4 基带码组合11011的成型滤波的仿真结果 4.2 成型滤波器组的设计 由于时钟周期为50ns,当要求最小调整步长不大于10ns时,在MATLAB中将FIR滤波器的冲激响应以时钟周期的1/5循环左移,再与插零后的基带码进行卷积,就可以得到以时钟周期的1/5循环左移0,1,2,3,4次后形成的五个子波形。图5是组合为11011的基带码经上述方式产生的五个子波形的图。 图5组合为11011的基带码经上述方式产生的五个子波形的图 从图5中中央的两条虚线可以看出,经五次移位后的第五个子波形的0码与原来的子波形的0码相比,延时为4/5个时钟周期。这样就将调整发送时刻的步长减小到时钟周期的1/5,大幅度提高了测距精度。 (a) 采用成形滤波器组前的发送调整误差 (b) 采用成形滤波器组后的发送调整误差 图6 采用成型滤波器组前后调整精度的误差对比图 经图中的数据计算得出:在不采用成型滤波器组的情况下,发送调整误差的标准差为18.17ns。采用成型滤波器组后,发送调整误差的标准差为4.42ns,是不采用成型滤波器组时的。 成型滤波器组占用ROM的数量是由发送时刻调整的精度、成型滤波器的阶数、波形数值量化的比特数、每个基带码的时钟采样点个数等因素决定的。对上面的例子而言,每五个基带码组合要生成10个8比特的波形数据,因此所存储的地址长度为4比特,存储单位是字节。五个基带码共有32种组合,所以一个子波形的地址长度为4+5=9位。在调整步长是时钟的1/5的要求下,要另加3比特基地址来存储五个子波形。所以整个成型滤波器组总共消耗的ROM的数量为2(4+5+3)×8=32768比特。 除采用数字电路方式外,许多系统还用模拟电路的方式调整发送时刻:将基带码通过模拟触发电路发送,而测距误差通过模拟触发电路控制基带码的发送时刻。这种方式在理论上调整发送时刻的步长更小,但与数字电路相比,易受到温度、噪声等多种因素的影响,可靠性差得多。而本文提出的方法是用数字的方式实现的,稳定性和可靠性均有无可比拟的优越性。 本文设计的成型滤波器充分地利用了硬件中所剩的ROM资源,占用了很少的逻辑单元。用该成型滤波器构成的成型滤波器组,可将基带码发送时刻的调整步长减小到时钟周期的几分之一,甚至十几分之一,因此大幅度提高了发送时刻的调整精度。本文的设计已被应用于某个测距系统中,取得了很好的效果。该设计还可应用于其它许多测距系统中,如定位系统、二次雷达等,因此有较高的实用价值。 (来源:电子技术应用) |
|
|
|
|
[技术文章] 相关文章: 串行存储器AT45DB161B在车辆行驶记录仪中的应用简介:
解放军理工大学 何敏 刘荣 孙峥 1 概述 行驶记录仪的主要数据包括事故疑点和行驶状态数据。其中,事故疑点数据是记录仪以不大于0.2s的时间间隔持续记录并存储停车前20 s实时时间所对应的车辆行驶速度及车辆制动状态信号,记录次数至少为1O次:行驶状态数据是无论车辆在行驶状态还是停止状态,记录仪提供的与实时时间对应的车辆行驶速度信息。记录仪应能以不大于1 min的时间间隔持续记录并存储车辆在最近360 h内的行驶状态数据,该行驶状态数据主要是车辆在行驶过...... 旋转变压器在转子位置测量中的应用
一种在U—BooT中嵌入千兆网络功能的方法
LPC2000系列的CAN总线验收滤波器应用
在同一条I2C总线上挂接多个DS1859器件的方法
DS26303短程线路接口单元与IDT82V2048的比较
ITPM在雷达发射机高压电源中的应用
AMBE-2000TM声码器在数字加密电话中的应用
ZTPl35S-R型传感器在体温计中的应用
面向系统集成封装技术 |
|
|
|