用成型滤波器组提高测距精度的一种方法

2014-09-22 10:20:16来源: ednchina 关键字:滤波器  测距  FPGA

  在许多测距系统中,用户端接收基站发送的帧信号后,便以该帧中特定的位置(称为帧参考时标)为基准发送“回复帧"给基站。基站收到回复帧后,提取它的帧参考时标,并以其作为测距的依据。

  通常用户端的系统时钟精度较低(本文提到的系统时钟均指用户端的系统时钟),因此接收到的帧参考时标会存在误差。在用户端经过计算估计出帧参考时标的误差,再用该误差调整发送回复帧的时刻,可实现精确测距。因此测距精度取决于两个因素:帧参考时标误差的估计精度和回复帧发送时刻的调整精度。本文主要讨论如何提高回复帧发送时刻的调整精度。回复帧是由基带码组成的,因此下文中讲的发送时刻的调整均指基带码发送时刻的调整。

  发送时刻的调整精度是由发送时刻的调整步长决定的。在一般的数字系统中,发送时刻的调整步长不小于一个系统时钟的周期。本文利用Altera公司的EP20K300EQC240-3型FPGA器件设计了一种成型滤波器组,使发送时刻的调整步长缩短为时钟周期的五分之一,从而将发送时刻的调整精度大幅度地提高。

  1 成型滤波器组调整发送时刻的原理

  成型滤波器组的设计原理图如图1所示。成型滤波器组包括一

组成型滤波器。相同的发送基带码经成型滤波器组中不同的成型滤波器滤波后,会产生不同延时的发送数据波形。发送数据波形的延时不同,则发送时刻也不同。这就是说,相同的基带码经过不同的成型滤波器滤波后可产生不同发送时刻的波形。因此,以测距误差作为选择字,根据误差的大小选择相应的成型滤波器,就可间接地调整发送基带码的时刻。

  成型滤波器组的设计原理图

  图1 成型滤波器组的设计原理图

  2 用FPGA设计成型滤波器
 
  通常,系统时钟频率远高于基带码的速率,因此在成型滤波前,要在基带码的相邻码之间进行内插。内插的方式有多种,通常的内插方法是在发送的基带码的相邻码之间内插“0”。将基带码插“0”后,与低通滤波器的冲激响应卷积,再送到D/A转换器转换成模拟波形就可以实现滤波成型。设计低通滤波器时,为了得到较好的波形,通常采用高阶的FIR滤波器。如果在FPGA中用逻辑单元实现高阶FIR滤波器,会占用大量的逻辑单元。比如在Altera公司的FPGA中用逻辑单元实现一个50阶的FIR滤波器,需要26个乘法器和50个加法器,要占用一千多个逻辑单元。而本文利用FPGA中的ROM,用查表的方法设计同样的FIR滤波器,则只需占用几十个逻辑单元。图2是成型滤波器的设计原理图。该设计包括用数学工具——MATLAB预先设计的部分和在FPGA中实现的部分,MATLAB完成成型滤波后的数据波形文件的设计。FPGA存储设计好的数据波形文件,并用发送的基带码选通相应波形的存储地址,完成滤波成型。

   成型滤波器的设计原理图

  图2 成型滤波器的设计原理图

  首先用MATLAB设计数据波形文件。设系统基带码速率为N MHz,系统时钟频率为B MHz。FIR滤波器的阶数为(C为奇数,可根据滤波器的阶数要求进行选择)。FIR滤波器的系数可通过MATLAB进行设计。将C个基带码排列组合成2C种情况。对于每种组合,在C个基带码的相邻码间内插-1个0后,与设计好的滤波器的冲激响应卷积。卷积结果的中间个数据波形值就是该C个基带码组合的中间基带码(简称中间码)的滤波结果值。这个数据波形值可以存储在以该种组合(C个码)为基地址的ROM中。MATLAB可以计算出所有组合下C个基带码的中间码的滤波结果值。
 
  FPGA将所有滤波结果值存入ROM,将每个滤波结果值所对应的基带码组合作为该滤波结果值的存储地址。系统运行时,用一个C位移位寄存器存储C个基带码,作为地址选通ROM,则ROM输出的滤波结果值是C个基带码的中间码的滤波结果值。随着基带码依次到达移位寄存器,移位寄存器中C个基带码的中间码也被后面的基带码依次替换, ROM输出的将是依次到达的中间码的滤波结果值,从而实现基带码的滤波成型。

  图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设计的成型滤波器组的方法。

[1] [2]

关键字:滤波器  测距  FPGA

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2014/0922/article_9571.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:系统互通性的模型与测量研究
下一篇:电感智能数字化测量

论坛活动 E手掌握
关注eeworld公众号
快捷获取更多信息
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
滤波器
测距
FPGA

小广播

独家专题更多

TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved