小议FPGA的窗口FOURIER变换在超声波传播时间检测上的应用.doc

小议FPGA的窗口FOURIER变换在超声波传播时间检测上的应用.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小议FPGA的窗口FOURIER变换在超声波传播时间检测上的应用

基于FPGA的窗口Fourier变换在超声波传播时间检测上的应用 引言   超声波传感器目前已经广泛应用于距离,风速,流量的测量等众多工业领域中。其中最主要的应用原理就是超声波传播时间的测量,即超声波从发射端发射开始,经过传播媒质后到达接收端的时间。常用的测量方法为脉冲转换后计数法[1] [2] ,此方法成本较低,且易于实现,但是测量精度不高。还有其他一些方法是通过AD采集原始波形后进行Hilbert变换来提取超声波包络,进而设置阈值求出飞行时间,但此方法对噪声的抑制能力并不理想。本文提出一种利用全数字信号处理的窗口Fourier变换(WFT)来计算超声波传播时间,可以有效克服噪声影响并提高精度。   1 超声波理论介绍   超声波通过超声波换能器发送后,在流体介质中传播。在经过一段传播时间后,到达接收端,并将振动信号转化为电压信号。在超声波传播过程中,信号会被一定程度衰减,并且在接收电路中还会引入噪声,这些都会对测量精度造成影响。   我们假设s(t)是发送信号,那么经过一段传播时间Td后的接收到的信号为:   r(t)=αs(t-Td)+n(t)   其中α为衰减系数,n(t)是零均值噪声。我们使用频率和相位的方法来表示为   r(t)=A(t)cos(2пfr t+φr)+ n(t)   其中fr和φr分别为谐振频率和相位偏转角,而A(t)表示信号的包络。   A(t)=A0tmexp(-t/u)   参数u由探头特性决定,而m的范围为区间(1,3)[1]。   因此,必须准确检测到接收波形的起始位置,才可以正确计算出超声波的传播时间。   2 窗口傅立叶变换介绍   要准确计算声波起始位置,则需要提取信号包络。而常用的包络提取方法是Hilbert变换[1],这种方法对噪声的抑制能力并不理想。因为超声波接收信号的频率只在探头谐振频率附近很窄的频带内,所以我们只需要对这一窄带内的信号进行分析。而对某一频率信号分析最理想的方法就是Fourier变换。传统的Fourier变换是将全部时域信号映射到频域内,再对感兴趣的频率做分析,这样时域内任何局部的变化都会引起整个频域内全局的改变。因此传统的Fourier变换只能观察到某个频率信号的特征,而不能了解这个频率是由哪段时间信号做出的贡献。   要想知道信号的局部频率成分,那么首先要将给定的信号与一个窗函数相乘,截取出期望的部论文联盟WWW.LWLM.COM整理分,然后再对截取部分进行Fourier变换,这种时-频兼顾的分析方法称为窗口Fourier变换,即WFT[4]。   3 传播时间的计算方法   在超声波发射的同时,系统的计数器开始计数。当计数器计数一定时间后,系统启动AD开始记录接收波形。下图为实际接收到的超声波信号f(t)。信号在40kHz的较窄频带内,并且中含有一定能量噪声。AD采样频率为10MHz,则每个周期可以采集250个点。为了减小计算量,我们选择矩形窗函数,在每隔25个采样点加窗做一次Fourier变换,则在一个声波周期内可以计算得到10个Fourier变换的复数值结果。将这些复数值分别求模值和求相位角后就可以得到超声波信号的包络曲线和相位角,如图1所示。   从图1中可以看出,超声波接收信号的包络曲线只表现出40kHz窄带信号的幅值特征,而其他频带的噪声都被有效衰减掉了。这样我们在幅度包络曲线上设定一个门限值,使其小于超声波接收到信号的第一个周期的包络幅值,做为声波信号阈值。当包络值大于此阈值时,说明超声波信号已经接收到,从超声波发射点到阈值以前的时间就是超声波传播的阈值时间tTH,再通过查找此阈值位置所对应的相位就可以计算出信号起始点到阈值位置声波所传播的时间tPD。于是,超声波真正的传播时间应为tFLY=tTH-tPD。   4 实现方式   在此方法中,以单片机MCU为主控制芯片,由它发送指令来控制FPGA完成超声波信号发送,计时器记时,AD采集,Fourier计算等任务。FPGA芯片采用xilinx公司的SPATAN3E芯片。该芯片最高频率240MHz,具有20个硬件乘法器,可以同时进行10路以上的Fourier变换计算。当所有的Fourier变换算完后,FPGA将计算后的结果保留于SRAM中,再通信给MCU单片机进行包络幅值和相位角的计算,以及飞行时间的计算。系统的硬件逻辑框图如下所示:   在此平台上,既可以发挥FPGA的同步控制能力和并行运算的速度优势,又可以利用MCU的强大外围设备功能,因此可以做到速度与功能的兼顾。   5 结论   使用WFT计算超声波的包络值与传统的Hilbert变换的方法比较,可以有效降低噪声干扰,确定超声波起始波形的位置。再利用相位对计时时间进行修正,就可以准确计算出

文档评论(0)

gz2018gz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档