碧波液压网 欢迎你,游客。 登录 注册

FPGA在实时声呐定向系统中的应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  在实时声呐信号和语音信号处理中,常常需要使用几个通用的DSP处理器件才能达到实时处理的目的。但是在很多情况下,例如,在手持系统、水下系统等应用中,系统的功耗是有限的,这就限制了通用DSP器件的使用。一个可选择的方案是使用FPGA进行声呐信号处理。FPGA在信号处理速度、功耗方面都比通用的DSP器件更具有优势。

  在本系统中,采用的是利用FPGA实现语音信号或者声呐信号定位。在声呐定位的算法中,常用的方法有基于子空间的方法(例如MUSIC)、基于空间或然性技术、到达时间差估计TDOA方法等,其中,到达时间延迟估计方法是最常用的方法,本文即采用这种方法。TDOA估计最常用的方法是广义互相关(GCC)方法,本文采用了CORDIC实现傅里叶变换后的谱分量的幅值和相角的计算,使用GCC估计声源的方向。

  2 系统设计

  本系统中实现的是两路传感信号的处理,这是一个最简化的结构。实际中可以采用多个传感器构成的传感阵列进行阵列信号处理,以达到更精确估计声源方向的目的。

  2.1 GCC算法

  设两个传感器的输入信号为s1(t)和s2(t),信号中包含了噪声、回声、以及侍估的有用信号。用GCC方法进行时延估计的方框图如图1所示。

  除运算和超越函数等的计算。

  设向量[x0、y0]T, 旋转角度θ后,结果为向量[xn、yn]T,它可以用下式表示

  稍作变换则有:

  在CORDIC算法中,旋转是采用迭代的方法实现的,每一步迭代旋转一个预定的角度αi,引入旋转方向参数后,可以得到经过n步迭代后的旋转角度:

  当tanai=2-1,i=0,1,2,...,n−1时,则旋转后的坐标xi+1、yi+1和每一步旋转的角度zi+1可以分列写成

  经过n(n→)步旋转后,得到:

  当初始条件为x0=1, y0=0,z0=θ时,则有:

  其中Kn为一常数。

  这样就可以利用迭代计算同时计算出 è 的正弦、余弦函数值了。

  实际上,根据该原理,通过设置不同的边界值,不仅仅可以求出正弦、余弦函数,还可以计算旋转角度、矢量幅度、极坐标与直角坐标之间的转换等。我们采用 CORDIC 算法实现从傅里叶变换后谱的实部和虚部表示到幅度、相角表示的转换。

  3 FPGA 实现

  一般的声呐应用系统中,需要一个传感器阵列才能准确地在三维空间中确定目标方向。本系统只用两个传感器,故只能确定声源方向在三维空间的一个双曲面上,如果将多个传感器对组成一个系统,这样通过多个双曲面相交,可以在三维空间中准确定位出声源的方向。但是,当声源和两个传感器在同一个平面上时,就可以确定方向。系统实现框图如图2所示。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论