首页 > 范文大全 > 正文

FFT在激光测距系统中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇FFT在激光测距系统中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:文章从激光的特点和原理出发,简要介绍了相位法激光测距的基本原理,着重突出了fft(快速傅里叶变换)在高精度中短距离测量上的应用以及在本系统中的优势,从理论上论证了FFT的原理,提出了在DSP上实现FFT的方法。在文中的末尾给出了该方法的误差,并且分析了误差来源,提出了减小误差的方法,提高了系统的测量精度和稳定性。

关键词:激光测距;DSP;FFT;相位法

激光在检测领域中的应用十分广泛,技术含量十分丰富,对社会生产和生活的影响也十分明显。激光测距是激光最早的应用之一,这是由于激光具有方向性强、亮度高、单色性好等许多优点。其中利用相位法来测距的方法精度高、实时性好,已经得到广泛的应用。实现相位法的一个重要环节是FFT,当前实现FFT的算法已经成熟,在DSP上实现的FFT可以满足大多数的实时性产品。

1 激光测距原理

激光测距一般分为激光飞行时间测距和非飞行时间测距[1],前者的基本原理是利用光在发射点到目标物之间的反射时间乘以光速,得到的就是两倍的测距,空气中光速是固定的,所以测量出光的往返时间就测量出距离了。后者是不需要测量光的飞行时间,而是通过光子计数或者数学统计的方法来得到与目标物之间的距离。一般情况下,非飞行时间测距技术应用范围比较有限,仅仅用在一些特定情况下;飞行时间测量技术应用就很广泛,而其中的相位测距法依靠其测距距离远,误差低,体积小和实时性高的优点广泛应用于日常生活中。

相位法测距的基本原理是将调制以后的激光发射出去,到目标物反射回来之后测量与发射前信号的相位差,通过相位差间接的测量出光的飞行时间,进而得到距离[2],这种方法的误差非常小,原理框图如图1所示。

图1中,t为激光发射出去到接受回来所经历的时间,D为发射探头到目标物的距离,Ф为激光信号在2D距离中的相位,λ为激光信号的波长,Δψ为接受信号与发射信号之间的相位差。

设调制光幅度为A,角频率为w,相位为ψ,那么调制光信号可以表达为

在本测距系统中,选取合适的采样频率fs样点数N,能够刚好对主振信号和本振信号进行整周期采样,作FFT运算,其结果必定是只有单条谱线,这是就可以很方便的求出两路信号的相位差。

3 FFT原理及实现

3.1 FFT的原理

FFT是一种DFT的高效算法,基本思想就是利用旋转因子的周期性和对称性来减小运算量,由此提出的一种算法称作FFT算法。

N点DFT的计算公式为

利用旋转因子的周期性和对称性可将上式的一个N点DFT化为两个N/2点的DFT

X1(k)和X2(k)分别是X(k)的偶数点N/2点DFT和奇数点N/2点DFT,于是推出后N/2点的结果为

上述过程可以用一个流程图[4]来表示。

如图2所示,取N=8时的例子,当N不等于2的幂的时候,可以在后面补零。因为划分的原因,输入需要用逆序的方式,此时输出就是正常序,如果输入是正常序,那么输出就是逆序。

3.2 FFT在DSP上的实现

本系统选择的硬件是DSP,在硬件上实现FFT,由于输入的是实数系列,可以将2N点实数系列组合成N点复数系列,偶数点作为实部,奇数点作为虚部,由此得出的结果再经过整合就得到最终的结果,这样做的优点是节省了一半的时间,提高了实时性。

该算法总共分四步[5]来实现。

第一步,输入数据的组合和位倒序.

把输入系列作位倒序是为了在整个运算最后的输出得到的系列是正常序。首先将原2N点实序列当成N点复序列。偶数点作实部,奇数点作虚部,然后复数系列经过位倒序,存储在指定数据缓冲区内。

第二步,N点复数FF。

在数据缓冲区里进行N点复数FFT运算。由于在FFT运算中要用到旋转因子,它是一个复数,把它分为正弦和余弦部分,用Q15格式存储,根据式7来计算FFT运算,没作一次运算将结果存放在原输入数据缓冲区里,以节省内存。

第三步,分离复数FFT的输出为奇部分和偶部分。

分离FFT输出为RP、RM、IP和IM四个系列,即偶实数、奇实数、偶虚数和奇虚数四个部分。

如果想看功率谱,那么就要将第四步之后得到的结果进行平方和运算,由于本次目的是要求初始相位,到第四步之后就直接取出有效数据进行运算,求得相位。

4 实验结果及误差

4.1 实验结果

因为本文研究的是FFT在激光测距系统中的作用,只对采样之后的信号作一定的处理,测试的时候模拟一个采样好了的正弦波信号,对之作FFT运算。模拟信号频率为1KHz,采样率为16KHz,对信号作64点FFT运算,根据式5可以得知有效数据出现在功率谱的第4条谱线上,计算功率谱之前的第8个数据是实部,第9个数据是虚部,取出来相除再作反正切。由于用的是正弦波,FFT中的相位是按照余弦来得的,按照这个求得的结果需要加上90°才是正确的结果,下面是测试数据。

4.2 误差来源及改进

⑴首先FFT自身就有数据截断和舍入误差,FFT的运算过程中有许多小数计算,DSP是采用定点来计算的,这中间就会有一定的误差,如果采用浮点型器件,误差会小很多,但是同时造成成本上的上升,考虑到这项误差对结果影响不大,可以忽略。

⑵FFT固有的频谱泄露和栅栏效应误差[6],改善的办法就是选取合适的窗函数,适当的增加采样点数并且保证整周期截取。

⑶前端信号所带来的噪声,由于本系统前端信号要经过混频,相加,采样之后才送到DSP里作FFT运算,这中间必然会带来一些噪声,更重要的是会造成信号的相位延时,由于FFT运算本来就对噪声有一定的抑制,所以主要是相位延时。由于要作的是两路信号的相位差,所以如果两路信号的延时效果相差不大,作差运算之后就会抵消这种误差,但是要求就是电路板布线的时候尽量将两路信号线布成一样长,这样会大大减少误差。

5 结语

文章介绍了FFT在测距系统中的作用,实现原理以及方法,在已有的高精度结果中进一步分析,给出误差来源以及减小误差的方法。由于本系统中DSP的低功耗,非常适合应用于便携式激光测距仪,具有很好的应用前景。

[参考文献]

[1]陈千颂,赵大龙,杨成伟,等.自触发脉冲飞行时间激光测距技术研究[J].中国激光,2004,31(6):745-749.

[2]汪涛.相位激光测距技术的研究[J].激光与红外,2007,37(1):29-32.

[3]谢蕾,李季,陈结祥,等.基于FFT的激光测距数字相位计的实现[J].量子电力学报,2003,20(1):85-90.

[4]John G.Proakis,Dimitris G.Manolakis. Digital Signal Processing Principles,Algorithms,and Applications[M].北京:电子工业出版社,2007,409-411.

[5]李利.DSP原理及应用[M].北京:中国水利水电出版社,2004,154-163.

[6]黄山.信号的高精度采样中栅栏效应及克服方法[J].四川联合大学学报,1997,1(6):30-32.