超聲波液位計(jì)基于DSP的探討 二十五
5.1.2互相關(guān)算法的實(shí)現(xiàn)
在本課題中,為了增強(qiáng)系統(tǒng)的實(shí)時(shí)性,要盡最大的可能減少運(yùn)算量,采用高性能的DSP處理器來滿足對(duì)液位的實(shí)時(shí)性測量。然而,以量程15m為例,500K的AD采樣率,DSP需要處理的數(shù)據(jù)有88.2K,基準(zhǔn)信號(hào)持續(xù)時(shí)間為800uS,計(jì)算得出基準(zhǔn)信號(hào)數(shù)據(jù)量為0.8K,而本文選用的DSP(TMS320C6745)其內(nèi)核最高工作頻率為300MHz,相比較而言可以看出,直接進(jìn)行互相關(guān)算法的運(yùn)算量太過龐大,DSP的實(shí)時(shí)性無法得到保證。為了減少系統(tǒng)的運(yùn)算量采用如下措施:
(I)互相關(guān)算法通過多個(gè)FFT和iFFT來實(shí)現(xiàn),利用快速傅立葉變換對(duì)離散信號(hào)傅立葉變換的運(yùn)算量簡化來實(shí)現(xiàn)互相關(guān)運(yùn)算的高速實(shí)現(xiàn).FFT的功能是實(shí)現(xiàn)信號(hào)的時(shí)間域和頻率域的轉(zhuǎn)換,是一種快速實(shí)現(xiàn)互相關(guān)運(yùn)算的方法。
離散信號(hào)的傅立葉變換在計(jì)算過程中有大量的重復(fù)運(yùn)算或者是無效運(yùn)算,Cooley和Tukey提出的快速傅立葉變換(FFT)可以將DFT的乘法計(jì)算量由N2次減少為要l092N,而FFT運(yùn)算在數(shù)字信號(hào)處理過程中是一種標(biāo)準(zhǔn)運(yùn)算,TI提供了經(jīng)過優(yōu)化以后的代碼,以本課題中的數(shù)據(jù)量為例,原先的計(jì)算量為7779.2M次,采用FFT后其運(yùn)算量變?yōu)?span lang="EN-US">724.5K,運(yùn)算量大幅度減少.
在本課題中涉及到的超聲波回波信號(hào)是時(shí)間域上的一維信號(hào),而在一般的FFT運(yùn)算中,普遍將實(shí)數(shù)看成為虛部為零的復(fù)數(shù),這樣一來,在實(shí)際的運(yùn)算過程中就做了一半的無關(guān)運(yùn)算。在本課題中進(jìn)行FFT運(yùn)算的時(shí)候,選擇將ADC變換以后的超聲波回波數(shù)據(jù)分為兩部分,一部分作為FFT運(yùn)算中的實(shí)部,另一部分作為FFT運(yùn)算中虛部,DSP處理器將這一部分的數(shù)據(jù)處理完成以后,再重新分開為原始信號(hào)的FFT運(yùn)算。
這種以復(fù)序列的方式來計(jì)算實(shí)數(shù)序列的方法可以減少原先運(yùn)算量的一半.從而實(shí)現(xiàn)DSP算法的高效運(yùn)行。
詳情請(qǐng)瀏覽公司網(wǎng)站的產(chǎn)品中心 http://m.sol365.cn/ 超聲波液位計(jì) 超聲波流量計(jì)