• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于FPGA的低信噪比測距方法

      2020-09-03 04:33:48施蕾
      科學(xué)與財富 2020年17期
      關(guān)鍵詞:現(xiàn)場可編程門陣列測距

      施蕾

      摘 要:測距穩(wěn)定性是影響激光測距儀性能的重要指標(biāo),信噪比是影響測距穩(wěn)定性的重要因素。本文基于現(xiàn)場可編程門陣列(FPGA)提出一種低信噪比下的測距方法,可有效提高反射率低或遠(yuǎn)距離目標(biāo)測距的穩(wěn)定性。該方法在FPGA上集成冒泡排序、數(shù)據(jù)分析提取、取平均等模塊,其中冒泡排序采用乒乓緩存比較的方法,數(shù)據(jù)分析提取通過分段、標(biāo)識、反推方法實(shí)現(xiàn)。本文對1200米處建筑物進(jìn)行測試,可實(shí)現(xiàn)小于±1m的測距波動。算法可實(shí)現(xiàn)低信噪比下距離的穩(wěn)定測量,在強(qiáng)噪聲或弱信號情況下均可得到較好穩(wěn)定效果,可廣泛用于激光測距。

      關(guān)鍵詞:低信噪比;測距;冒泡排序;數(shù)據(jù)分析提取;平均;現(xiàn)場可編程門陣列

      1 引言

      在激光測距應(yīng)用中,低信噪比下微弱信號的檢測是影響最遠(yuǎn)有效測程及測距穩(wěn)定性的關(guān)鍵問題。造成信噪比低的原因,一方面目標(biāo)返回信號本身就已特別微弱;另一方面由于強(qiáng)噪聲干擾,比如背景噪聲,使得信噪比降低。目前,基于TDC專用芯片和FPGA是實(shí)現(xiàn)高分辨率測距的主流研究方向。閆菲菲等人利用FPGA控制AMS公司的TDC-GPX2芯片,實(shí)現(xiàn)了一款4通道同時測量,測量精度達(dá)到60ps[1];張彬彬等采用兩片時間-數(shù)字轉(zhuǎn)換芯片TDC-GP2,將脈沖計數(shù)法和數(shù)字內(nèi)插法相結(jié)合,使測量精確度能夠達(dá)到1ns,分辨率可以達(dá)到100ps[2];王巍等利用Virtex-5中專用進(jìn)位鏈CARRY4構(gòu)造的延遲鏈,對時鐘周期進(jìn)行內(nèi)插以得到更高精度的測量,精度約為25ps[3];雷琳君等采用數(shù)字計數(shù)法結(jié)合數(shù)字延遲線插入法的技術(shù),時間分辨率為500ps,標(biāo)準(zhǔn)偏差小于270ps[4]。以上文獻(xiàn)雖然都已經(jīng)實(shí)現(xiàn)了較高的時間分辨率,但是都沒有對低信噪比下測距的處理方法進(jìn)行研究和說明。在實(shí)際測距應(yīng)用中,低信噪比情況下,由于噪聲的影響,鑒別出的回波stop數(shù)字信號的位置會出現(xiàn)較大抖動;噪聲過大時,非目標(biāo)位置也會出現(xiàn)stop,這樣會導(dǎo)致測距結(jié)果有較大波動,甚至出現(xiàn)錯誤的值?,F(xiàn)場可編程門陣列(FPGA)以其靈活可編程性、低延遲和低功耗等特性目前已成為電子系統(tǒng)的重要組成部分。本文基于Altera CycloneII系列FPGA,設(shè)計并實(shí)現(xiàn)了一種適合低信噪比情況下使用的測距算法,可有效提高測距穩(wěn)定性,無需改動硬件,可直接應(yīng)用于激光測距中。

      2 算法原理

      實(shí)際測距應(yīng)用中,一般情況下,噪聲是隨機(jī)的,而信號的位置相對固定。所以,在低信噪比情況下,即使多次測距存在較大波動,但多數(shù)測距結(jié)果還是圍繞在實(shí)際測距結(jié)果周圍的,算法可以提取出這些有效數(shù)據(jù),通過平均計算得到相對穩(wěn)定的測距結(jié)果;即使出現(xiàn)測距結(jié)果大概率都是錯誤的情況,算法也可以進(jìn)行分析處理,使當(dāng)前測距結(jié)果無效。算法首先對N個距離結(jié)果進(jìn)行從大到小的排序;然后按照允許最大偏差進(jìn)行分段處理并對段內(nèi)數(shù)據(jù)進(jìn)行標(biāo)記;對分段后數(shù)據(jù)分析得到最小有效距離;再根據(jù)最小有效距離反推并提取出接近實(shí)際距離的有效數(shù)據(jù)及個數(shù),剔除掉偏離實(shí)際距離過大的數(shù)據(jù);接下來判斷有效數(shù)據(jù)個數(shù)是否大于閾值,若大于閾值則對挑選出來的有效數(shù)據(jù)進(jìn)行平均運(yùn)算,得到最終測距結(jié)果;如果有效數(shù)據(jù)個數(shù)不大于閾值,則測距結(jié)果無效。這里設(shè)置閾值,是防止信噪比過低時,噪聲的個數(shù)可能大于信號的個數(shù),如果閾值過低,則測距會出現(xiàn)錯值。

      為了驗證本文算法,對1200米處建筑物進(jìn)行測試,共測試10組,每組測量20次。由表1看到,每組內(nèi)數(shù)據(jù)波動較大,最大最小差值在15m;將20個數(shù)據(jù)取平均后,再比較10組的平均結(jié)果,最大1218.5m和最小1217.2m,差值僅為1.3米。由此可見,本算法可有效提高測距穩(wěn)定性,減小距離波動。

      3 算法實(shí)現(xiàn)

      本文選用Altera公司CycloneII系列的EP4CE22E22I7芯片來實(shí)現(xiàn)測距算法,基于QuartusII13.0平臺進(jìn)行開發(fā),采用VHDL語言結(jié)合電路圖輸入法完成最終設(shè)計。外部輸入時鐘采用40MHz晶振,通過PLL得到200MHz時鐘,供算法單元使用。下面結(jié)合表2闡述算法的實(shí)現(xiàn)。

      冒泡排序是本算法的核心和基礎(chǔ),必須對N個隨機(jī)且大小不等的結(jié)果進(jìn)行排序,才能準(zhǔn)確找到實(shí)際距離對應(yīng)的有效數(shù)據(jù)。本部分實(shí)現(xiàn)表2中A列到B列的轉(zhuǎn)換。如圖2,該模塊通過兩個FIFO、兩個最大值檢測模塊、FIFO1控制模塊、排序數(shù)據(jù)輸出模塊完成排序功能。這部分重點(diǎn)在于冒泡排序的邏輯關(guān)系控制,包括數(shù)據(jù)、FIFO的讀寫信號、比較結(jié)束標(biāo)志信號等。整體上看,F(xiàn)IFO1控制模塊輸出測距結(jié)果給FIFO1,F(xiàn)IFO1的輸出給到最大值檢測模塊1,最大值檢測模塊1將最大值maxout1輸出給排序數(shù)據(jù)輸出模塊,其余數(shù)據(jù)elsedata1傳給FIFO2,完成一次最大值檢測;同樣,F(xiàn)IFO2的輸出給到最大值檢測模塊2,再將最大值檢測模塊2的最大值maxout2輸出給排序數(shù)據(jù)輸出模塊,其余數(shù)據(jù)elsedata2通過FIFO1控制模塊傳給FIFO1,如此反復(fù),直到所有距離數(shù)據(jù)比較完成。

      FIFO1控制模塊負(fù)責(zé)輸出數(shù)據(jù)和寫信號給FIFO1。該模塊有兩個數(shù)據(jù)輸入,一個是N次全部測距數(shù)據(jù),一個是最大值檢測2模塊的輸出elsedata2。該模塊只在首次循環(huán)比較輸出N次測距結(jié)果,同時輸出FIFO1的寫信號,其余循環(huán)全部選擇輸出elsedata2及相應(yīng)的FIFO1寫信號。FIFO1和FIFO2為緩存模塊,雖然比較的數(shù)據(jù)不定長,但由于最大值為N,F(xiàn)IFO的深度可以取定值。本文N為20,F(xiàn)IFO深度均設(shè)置為32。

      最大值檢測模塊,與FIFO配合,得到當(dāng)前FIFO緩存中最大的數(shù)據(jù),其余數(shù)據(jù)輸出傳給另一個FIFO,同時輸出另一個FIFO的寫信號以及比較結(jié)束標(biāo)志信號。以最大值檢測1模塊為例,其需要輸出讀控制信號fiford1給FIFO1,當(dāng)前讀出的數(shù)據(jù)與上一個數(shù)據(jù)進(jìn)行比較,若當(dāng)前數(shù)據(jù)較大,則認(rèn)為其為最大值(相等時本文算法仍認(rèn)為當(dāng)前數(shù)據(jù)為最大),將上一個數(shù)據(jù)輸出給FIFO2;若當(dāng)前數(shù)據(jù)較小,將上一個數(shù)據(jù)認(rèn)為是最大值,將當(dāng)前數(shù)據(jù)輸出給FIFO2。這里需要注意,在輸出數(shù)據(jù)給FIFO2的同時,要同時輸出FIFO2的寫控制信號fifowr2,保證數(shù)據(jù)能夠有效緩存到FIFO2中。另外,最大值檢測模塊1還需輸出數(shù)據(jù)比較結(jié)束標(biāo)志信號maxend1,只要FIFO1的空標(biāo)志信號empty1有效,則maxend1拉高,該標(biāo)志信號提供給排序數(shù)據(jù)輸出模塊。

      排序數(shù)據(jù)輸出模塊,負(fù)責(zé)將兩個最大值檢測模塊的數(shù)據(jù)整合,由大到小順序輸出。數(shù)據(jù)整合的時序是依靠兩個最大值檢測模塊的比較完成標(biāo)志信號maxend判斷的,只要maxend1或maxend2任意一個有效,則存儲對應(yīng)的數(shù)據(jù)。該模塊內(nèi)部也是需要一個FIFO配合的,即maxend1或maxend2有效,則FIFO進(jìn)行寫操作,直至N個數(shù)據(jù)全部寫完。

      分段模塊,對排序結(jié)果以允許最大偏差為依據(jù)進(jìn)行分段處理,并對段內(nèi)數(shù)據(jù)進(jìn)行位置標(biāo)記。本部分實(shí)現(xiàn)表2中B列到C列的轉(zhuǎn)換。如圖3為分段模塊的流程圖,dataout是分段輸出,segbegin是當(dāng)前段的首位數(shù)據(jù),datain是FIFO當(dāng)前輸出,cnt為段位置。若接收到開始分段信號,則開始FIFO讀操作,此時cnt、segbegin初始值全部為0,dataout為當(dāng)前FIFO輸出并上cnt;接下來判斷empty信號是否為0,是則再讀FIFO,讀出的數(shù)據(jù)datain與segbegin做差,并判斷差值是否小于最大偏差,是則將segbegin仍作為當(dāng)前段段首,cnt加1,dataout為datain并上cnt;若差值小于最大偏差,則datain作為當(dāng)前段段首,cnt為0,dataout為datain并上cnt。反復(fù)比較輸出,直到FIFO為空,即empty為1。如表2,假設(shè)允許最大偏差為10m,B列中1521后面的數(shù)是1328,差值大于10,則分別為1段,所在段位置均為0;又如1221.7為當(dāng)前段首位數(shù)據(jù),與1220.2之差小于最大偏差,段位置分別為0和1;直到第19個數(shù)據(jù)1205.2,其與段首位數(shù)據(jù)1221.7差值大于最大偏差,則將1205.2歸為下一段,段位置為0。

      最小有效距離模塊,就是將最大的段位置對應(yīng)的數(shù)據(jù)找出來,如表2,C列中最大位置為14,對應(yīng)的數(shù)據(jù)為1213.5,則D列最小有效距離為1213.5m。本文算法將cnt取8位,則比較時比較數(shù)據(jù)的低八位即可。

      提取有效距離數(shù)據(jù)模塊,根據(jù)最小有效距離數(shù)據(jù),反推出冒泡排序后的有效數(shù)據(jù)并得到其個數(shù)。即所有數(shù)據(jù)依次與最小有效數(shù)據(jù)比較,若差值小于允許最大偏差,則將數(shù)據(jù)輸出,否則剔除。本部分實(shí)現(xiàn)表2中B列到E列和F列的轉(zhuǎn)換。如圖4,為該模塊實(shí)現(xiàn)流程圖,data1s到data20s為20個數(shù)據(jù)的中間變量,data1到data20為輸出的20個數(shù)據(jù),cntout為有效數(shù)據(jù)個數(shù)。首先判斷是否接收到開始提取信號,若收到,則判斷empty是否為0,是則繼續(xù)讀FIFO,若FIFO輸出當(dāng)前數(shù)據(jù)datain大于最小有效距離,且差值小于允許最大偏差,則cnt加1,data20s到data1s移位1次,將datain賦值給data1s,這樣能保證滿足條件的datain循環(huán)移位輸出;若datain不符合判斷條件,則data20s到data1s保持不變。如此循環(huán),直至empty為1,所有有效數(shù)據(jù)提取完成,最后將變量data1s到data20s的數(shù)據(jù)給到20個輸出端,同時將cnt+1賦值給cntout。如表2,將B列數(shù)據(jù)與D中1213.5比較,B列中大于1213.5且差值小于最大偏差的,即為有效距離數(shù)據(jù),見E列;F列為有效數(shù)據(jù)個數(shù)。

      平均模塊,首先判斷個數(shù)是否大于閾值,是則認(rèn)為本次測距有效,進(jìn)行平均運(yùn)算;否則認(rèn)為本次測距無效。平均運(yùn)算實(shí)現(xiàn)相對簡單,本文利用FPGA內(nèi)部的加法和除法IP核實(shí)現(xiàn)。本文閾值設(shè)置為10,如 F列中數(shù)據(jù)為15大于10,則本次測距有效。將E列中的15個數(shù)據(jù)取和,然后除以F列個數(shù)即可得到平均結(jié)果G列的數(shù)據(jù)。

      4 測試結(jié)果及分析

      基于本公司研制的激光測距儀,對本文算法程序進(jìn)行驗證測試。對1200米處建筑物目標(biāo)進(jìn)行測試,圖5為示波器采集的激光器觸發(fā)信號(1通道)和回波信號(2通道),延遲約為8us,上面為取樣結(jié)果,下面為平均16次結(jié)果。由圖5可看到,取樣時基本無法辨別信號位置,而平均后信號位置則相對明顯,進(jìn)一步驗證了平均算法的有效性。圖6為改算法前后對1200米處建筑物的20次測距結(jié)果對比,可看到,改算法后距離波動由改算法前的約±7m減小到約±1m。

      5 結(jié)論

      基于現(xiàn)場可編程門陣列,設(shè)計并實(shí)現(xiàn)了提高低信噪比情況下測距穩(wěn)定性的算法,可有效提高反射率低或遠(yuǎn)距離目標(biāo)測距的穩(wěn)定性。經(jīng)測試,1200米處建筑物目標(biāo)波動可控制在±1m。算法完全在一片F(xiàn)PGA上實(shí)現(xiàn),可根據(jù)應(yīng)用場合靈活增加或修改功能,促進(jìn)測距單元的小型化,適合激光測距的應(yīng)用。目前測距波動通過平均法可控制在±1m內(nèi),在以后的改進(jìn)中可對算法進(jìn)行優(yōu)化,將波動進(jìn)一步降低。

      參考文獻(xiàn):

      [1]閆菲菲, 馬紅皎, 何在民, 等.基于FPGA和TDC芯片的高精度時間間隔計數(shù)器研制.時間頻率學(xué)報.2019,42(1):33~42.

      [2]張彬彬, 崔永俊, 楊兵.基于TDC-GP2的高精度時間間隔測量系統(tǒng)設(shè)計.電子器件.2016,39(5): 1108~1112.

      [3]王巍, 周浩, 熊拼搏, 等.一種基于FPGA進(jìn)位鏈的時間數(shù)字轉(zhuǎn)換器.微電子學(xué).2016,46(6): 778~781.

      [4]雷琳君, 楊燕, 陳衛(wèi)標(biāo). 星載激光測距儀的高精度時間間隔測量單元. 中國激光. 2007, 34(10):1422~1426.

      [5]范歡歡. 基于 FPGA 的時間數(shù)字轉(zhuǎn)換電路的若干關(guān)鍵技術(shù)的研究[D]. 合肥:中國科學(xué)技術(shù)大學(xué)博士論文, 2015:14~18.

      [6]黃海艦. 基于 FPGA 時間內(nèi)插技術(shù)的TDC設(shè)計[D]. 武漢:華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院碩士論文, 2013:6~8.

      [7]徐振. 基于TDC的時間間隔測量技術(shù)的研究[M].哈爾濱:哈爾濱工業(yè)大學(xué).2008(1) :10~15.

      猜你喜歡
      現(xiàn)場可編程門陣列測距
      類星體的精準(zhǔn)測距
      科學(xué)(2020年3期)2020-01-06 04:02:51
      淺談超聲波測距
      電子制作(2017年7期)2017-06-05 09:36:13
      D—BLAST基帶系統(tǒng)的FPGA實(shí)現(xiàn)研究
      移動通信(2016年20期)2016-12-10 09:33:12
      一種千兆以太網(wǎng)SerDes 接口與電接口的轉(zhuǎn)換方法
      基于FPGA的遺傳算法在交通控制中的應(yīng)用
      基于FPGA的顏色識別觸摸屏系統(tǒng)設(shè)計與實(shí)現(xiàn)
      帶保護(hù)線的AT供電測距方案
      基于PSOC超聲測距系統(tǒng)設(shè)計
      相對差分單項測距△DOR
      太空探索(2014年1期)2014-07-10 13:41:50
      基于改進(jìn)RSSI測距的LSSVR三維WSN定位算法
      常宁市| 新和县| 泗水县| 河北省| 福鼎市| 彰化市| 京山县| 古蔺县| 雅安市| 门源| 太仆寺旗| 西乡县| 邯郸县| 健康| 武汉市| 县级市| 射洪县| 监利县| 高安市| 交城县| 清徐县| 周口市| 江源县| 抚宁县| 嘉善县| 磴口县| 甘德县| 翁源县| 定南县| 苏尼特左旗| 海口市| 阳原县| 清水县| 广元市| 都兰县| 甘洛县| 含山县| 巴林左旗| 通榆县| 西林县| 彭州市|