<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 用成型濾波器組提高測距精度的一種方法

用成型濾波器組提高測距精度的一種方法

——
作者:北京清華大學(xué)電子工程系(100084) 章 屹 陸明泉 尹旭明 馮振明 時(shí)間:2007-03-07 來(lái)源:電子技術(shù)應用 收藏
在許多測距系統中,用戶(hù)端接收到基站發(fā)送的幀信號后,便以該幀中特定的位置(稱(chēng)為幀參考時(shí)標)為基準發(fā)送“回復幀"給基站?;臼盏交貜蛶?提取它的幀參考時(shí)標,并以其作為測距的依據。

通常用戶(hù)端的系統時(shí)鐘精度較低(本文提到的系統時(shí)鐘均指用戶(hù)端的系統時(shí)鐘),因此接收到的幀參考時(shí)標會(huì )存在誤差。在用戶(hù)端經(jīng)過(guò)計算估計出幀參考時(shí)標的誤差,再用該誤差調整發(fā)送回復幀的時(shí)刻,可實(shí)現精確測距。因此測距精度取決于兩個(gè)因素:幀參考時(shí)標誤差的估計精度和回復幀發(fā)送時(shí)刻的調整精度。本文主要討論如何提高回復幀發(fā)送時(shí)刻的調整精度?;貜蛶怯苫鶐Тa組成的,因此下文中講的發(fā)送時(shí)刻的調整均指基帶碼發(fā)送時(shí)刻的調整。

發(fā)送時(shí)刻的調整精度是由發(fā)送時(shí)刻的調整步長(cháng)決定的。在一般的數字系統中,發(fā)送時(shí)刻的調整步長(cháng)不小于一個(gè)系統時(shí)鐘的周期。本文利用Altera公司的EP20K300EQC240-3型FPGA器件設計了一種成型組,使發(fā)送時(shí)刻的調整步長(cháng)縮短為時(shí)鐘周期的五分之一,從而將發(fā)送時(shí)刻的調整精度大幅度地提高。

1 成型組調整發(fā)送時(shí)刻的原理

成型組的設計原理圖如圖1所示。成型濾波器組包括一

組成型濾波器。相同的發(fā)送基帶碼經(jīng)成型濾波器組中不同的成型濾波器濾波后,會(huì )產(chǎn)生不同延時(shí)的發(fā)送數據波形。發(fā)送數據波形的延時(shí)不同,則發(fā)送時(shí)刻也不同。這就是說(shuō),相同的基帶碼經(jīng)過(guò)不同的成型濾波器濾波后可產(chǎn)生不同發(fā)送時(shí)刻的波形。因此,以測距誤差作為選擇字,根據誤差的大小選擇相應的成型濾波器,就可間接地調整發(fā)送基帶碼的時(shí)刻。

  成型濾波器組的設計原理圖

圖1 成型濾波器組的設計原理圖

2 用FPGA設計成型濾波器
 
通常,系統時(shí)鐘頻率遠高于基帶碼的速率,因此在成型濾波前,要在基帶碼的相鄰碼之間進(jìn)行內插。內插的方式有多種,通常的內插方法是在發(fā)送的基帶碼的相鄰碼之間內插“0”。將基帶碼插“0”后,與低通濾波器的沖激響應卷積,再送到D/A轉換器轉換成模擬波形就可以實(shí)現濾波成型。設計低通濾波器時(shí),為了得到較好的波形,通常采用高階的FIR濾波器。如果在FPGA中用邏輯單元實(shí)現高階FIR濾波器,會(huì )占用大量的邏輯單元。比如在A(yíng)ltera公司的FPGA中用邏輯單元實(shí)現一個(gè)50階的FIR濾波器,需要26個(gè)乘法器和50個(gè)加法器,要占用一千多個(gè)邏輯單元。而本文利用FPGA中的ROM,用查表的方法設計同樣的FIR濾波器,則只需占用幾十個(gè)邏輯單元。圖2是成型濾波器的設計原理圖。該設計包括用數學(xué)工具——MATLAB預先設計的部分和在FPGA中實(shí)現的部分,MATLAB完成成型濾波后的數據波形文件的設計。FPGA存儲設計好的數據波形文件,并用發(fā)送的基帶碼選通相應波形的存儲地址,完成濾波成型。

   成型濾波器的設計原理圖

圖2 成型濾波器的設計原理圖

首先用MATLAB設計數據波形文件。設系統基帶碼速率為N MHz,系統時(shí)鐘頻率為B MHz。FIR濾波器的階數為(C為奇數,可根據濾波器的階數要求進(jìn)行選擇)。FIR濾波器的系數可通過(guò)MATLAB進(jìn)行設計。將C個(gè)基帶碼排列組合成2C種情況。對于每種組合,在C個(gè)基帶碼的相鄰碼間內插-1個(gè)0后,與設計好的濾波器的沖激響應卷積。卷積結果的中間個(gè)數據波形值就是該C個(gè)基帶碼組合的中間基帶碼(簡(jiǎn)稱(chēng)中間碼)的濾波結果值。這個(gè)數據波形值可以存儲在以該種組合(C個(gè)碼)為基地址的ROM中。MATLAB可以計算出所有組合下C個(gè)基帶碼的中間碼的濾波結果值。
 
FPGA將所有濾波結果值存入ROM,將每個(gè)濾波結果值所對應的基帶碼組合作為該濾波結果值的存儲地址。系統運行時(shí),用一個(gè)C位移位寄存器存儲C個(gè)基帶碼,作為地址選通ROM,則ROM輸出的濾波結果值是C個(gè)基帶碼的中間碼的濾波結果值。隨著(zhù)基帶碼依次到達移位寄存器,移位寄存器中C個(gè)基帶碼的中間碼也被后面的基帶碼依次替換, ROM輸出的將是依次到達的中間碼的濾波結果值,從而實(shí)現基帶碼的濾波成型。

圖2中ROM存儲的數據是設計一個(gè)成型濾波器得到的波形數據,為了與下面成型濾波器組的存儲數據相區別,將圖2中ROM存儲的所有波形數據統稱(chēng)為一個(gè)子波形。

3 在FPGA中用成型濾波器組調整發(fā)送時(shí)刻的方法

圖3是成型濾波器組的實(shí)現方案圖。圖中的FPGA的ROM中存儲了E個(gè)子波形,稱(chēng)為一個(gè)成型濾波器組。第一個(gè)子波形就是圖2所設計的子波形,稱(chēng)為原來(lái)的子波形。之后的E-1個(gè)子波形是原來(lái)的子波形以時(shí)鐘周期的1/E循環(huán)左移1,2,...,E-1次得到的。如何得到這些移位后的子波形是設計的關(guān)鍵。由于波形的移位在MATLAB中是以數值的變化體現出來(lái)的,而通過(guò)MATLAB計算可以得到數值精度很高的波形數據,所以用MATLAB設計的波形,移位可以遠小于時(shí)鐘周期,因此可以很容易用MATLAB得到以時(shí)鐘周期的1/E循環(huán)左移后的各個(gè)子波形。

成型濾波器組的實(shí)現方案圖

圖3 成型濾波器組的實(shí)現方案圖

各移位后的子波形按循環(huán)左移大小依次存儲在ROM中。因此一個(gè)時(shí)鐘周期的延時(shí)被劃分成了E個(gè)區間,將測距誤差除以時(shí)鐘周期,得到余數R,計算出R落在了E個(gè)區間中的哪個(gè)。選擇該區間的子波形,將該子波形送到D/A轉換器轉換成模擬波形后再輸出,就可將發(fā)送時(shí)刻的調整步長(cháng)降到時(shí)鐘周期的1/E。實(shí)際設計時(shí),在MATLAB中將FIR濾波器的沖激響應以時(shí)鐘周期的1/E循環(huán)左移,再與插零后的基帶碼卷積,就實(shí)現了子波形的循環(huán)左移。而通常的系統實(shí)時(shí)產(chǎn)生的波形是由系統時(shí)鐘控制的,延時(shí)不會(huì )小于一個(gè)時(shí)鐘周期,因此其調整精度遠不如用MATLAB設計的成型濾波器組的方法。
 
上面介紹的是子波形循環(huán)左移的方法,也可以將子波形循環(huán)右移,道理是一樣的。

4 實(shí)例與仿真

4.1 子波形的設計與仿真

本設計所應用的測距系統的基帶碼速率為2MHz,系統時(shí)鐘頻率為20MHz,因此在2MHz基帶碼的相鄰比特間內插個(gè)“0”,然后通過(guò)階(C選為5)的FIR濾波器就可實(shí)現成型濾波。5個(gè)基帶碼可排列成32種組合,圖4是其中的一種基

帶碼組合——11011的成型濾波的仿真結果。圖中顯示了該組合插零后與成型濾波器的沖激響應進(jìn)行卷積的過(guò)程??梢钥闯?卷積后的中間10點(diǎn)數據波形正好是插零前5個(gè)基帶碼中間的信號0經(jīng)濾波器平滑后的波形。這10點(diǎn)數據波形存在以11011為基地址的ROM中。

  基帶碼組合11011的成型濾波的仿真結果

圖4 基帶碼組合11011的成型濾波的仿真結果

4.2 成型濾波器組的設計

由于時(shí)鐘周期為50ns,當要求最小調整步長(cháng)不大于10ns時(shí),在MATLAB中將FIR濾波器的沖激響應以時(shí)鐘周期的1/5循環(huán)左移,再與插零后的基帶碼進(jìn)行卷積,就可以得到以時(shí)鐘周期的1/5循環(huán)左移0,1,2,3,4次后形成的五個(gè)子波形。圖5是組合為11011的基帶碼經(jīng)上述方式產(chǎn)生的五個(gè)子波形的圖。

   組合為11011的基帶碼經(jīng)上述方式產(chǎn)生的五個(gè)子波形的圖

圖5組合為11011的基帶碼經(jīng)上述方式產(chǎn)生的五個(gè)子波形的圖

從圖5中中央的兩條虛線(xiàn)可以看出,經(jīng)五次移位后的第五個(gè)子波形的0碼與原來(lái)的子波形的0碼相比,延時(shí)為4/5個(gè)時(shí)鐘周期。這樣就將調整發(fā)送時(shí)刻的步長(cháng)減小到時(shí)鐘周期的1/5,大幅度提高了測距精度。
 
假設估計出的測距誤差是72ns,如果不采用成型濾波器的方法,調整步長(cháng)為50ns,調整一個(gè)時(shí)鐘后,會(huì )產(chǎn)生72-50=22ns的調整精度誤差。而采用成型濾波器后,調整的步長(cháng)縮小為10ns,在發(fā)送時(shí)將第三個(gè)數據波形送到D/A轉換器轉換成模擬波形,再將模擬波形送出就可使調整精度的誤差降低到72-50-2



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>