《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 業(yè)界動(dòng)態(tài) > 用成型濾波器組提高測(cè)距精度的一種方法

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

2008-08-07
作者:章 屹 陸明泉 尹旭明 馮

??? 摘 要: 在許多測(cè)距系統(tǒng)" title="測(cè)距系統(tǒng)">測(cè)距系統(tǒng)中,精確地調(diào)整用戶端回復(fù)幀的發(fā)送時(shí)刻是提高測(cè)距精度的關(guān)鍵。介紹了用FPGA實(shí)現(xiàn)的一種數(shù)字式成型濾波器組" title="濾波器組">濾波器組,它可大幅度地縮短發(fā)送時(shí)刻的調(diào)整步長(zhǎng),有效地提高測(cè)距精度,已被成功應(yīng)用于某個(gè)測(cè)距系統(tǒng)中。
??? 關(guān)鍵詞: 測(cè)距? 幀參考時(shí)標(biāo)? 子波形? 成型濾波器? 成型濾波器組

?

??? 在許多測(cè)距系統(tǒng)中,用戶端接收到基站發(fā)送的幀信號(hào)后,便以該幀中特定的位置(稱為幀參考時(shí)標(biāo))為基準(zhǔn)發(fā)送“回復(fù)幀'給基站。基站收到回復(fù)幀后,提取它的幀參考時(shí)標(biāo),并以其作為測(cè)距的依據(jù)。
??? 通常用戶端的系統(tǒng)時(shí)鐘精度較低(本文提到的系統(tǒng)時(shí)鐘均指用戶端的系統(tǒng)時(shí)鐘),因此接收到的幀參考時(shí)標(biāo)會(huì)存在誤差。在用戶端經(jīng)過計(jì)算估計(jì)出幀參考時(shí)標(biāo)的誤差,再用該誤差調(diào)整發(fā)送回復(fù)幀的時(shí)刻,可實(shí)現(xiàn)精確測(cè)距。因此測(cè)距精度取決于兩個(gè)因素:幀參考時(shí)標(biāo)誤差的估計(jì)精度和回復(fù)幀發(fā)送時(shí)刻的調(diào)整精度。本文主要討論如何提高回復(fù)幀發(fā)送時(shí)刻的調(diào)整精度?;貜?fù)幀是由基帶碼組成的,因此下文中講的發(fā)送時(shí)刻的調(diào)整均指基帶碼發(fā)送時(shí)刻的調(diào)整。
??? 發(fā)送時(shí)刻的調(diào)整精度是由發(fā)送時(shí)刻的調(diào)整步長(zhǎng)決定的。在一般的數(shù)字系統(tǒng)中,發(fā)送時(shí)刻的調(diào)整步長(zhǎng)不小于一個(gè)系統(tǒng)時(shí)鐘的周期。本文利用Altera公司的EP20K300EQC240-3型FPGA器件設(shè)計(jì)了一種成型濾波器組,使發(fā)送時(shí)刻的調(diào)整步長(zhǎng)縮短為時(shí)鐘周期" title="時(shí)鐘周期">時(shí)鐘周期的五分之一,從而將發(fā)送時(shí)刻的調(diào)整精度大幅度地提高。
1 成型濾波器組調(diào)整發(fā)送時(shí)刻的原理
??? 成型濾波器組的設(shè)計(jì)原理圖如圖1所示。成型濾波器組包括一組成型濾波器。相同的發(fā)送基帶碼經(jīng)成型濾波器組中不同的成型濾波器濾波后,會(huì)產(chǎn)生不同延時(shí)的發(fā)送數(shù)據(jù)波形。發(fā)送數(shù)據(jù)波形的延時(shí)不同,則發(fā)送時(shí)刻也不同。這就是說,相同的基帶碼經(jīng)過不同的成型濾波器濾波后可產(chǎn)生不同發(fā)送時(shí)刻的波形。因此,以測(cè)距誤差作為選擇字,根據(jù)誤差的大小選擇相應(yīng)的成型濾波器,就可間接地調(diào)整發(fā)送基帶碼的時(shí)刻。

?


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

?

??? 首先用MATLAB設(shè)計(jì)數(shù)據(jù)波形文件。設(shè)系統(tǒng)基帶碼速率為N MHz,系統(tǒng)時(shí)鐘頻率為B MHz。FIR濾波器的階數(shù)為(C為奇數(shù),可根據(jù)濾波器的階數(shù)要求進(jìn)行選擇)。FIR濾波器的系數(shù)可通過MATLAB進(jìn)行設(shè)計(jì)。將C個(gè)基帶碼排列組合成2C種情況。對(duì)于每種組合,在C個(gè)基帶碼的相鄰碼間內(nèi)插個(gè)0后,與設(shè)計(jì)好的濾波器的沖激響應(yīng)卷積。卷積結(jié)果的中間個(gè)數(shù)據(jù)波形值就是該C個(gè)基帶碼組合的中間基帶碼(簡(jiǎn)稱中間碼)的濾波結(jié)果值。這個(gè)數(shù)據(jù)波形值可以存儲(chǔ)在以該種組合(C個(gè)碼)為基地址的ROM中。MATLAB可以計(jì)算出所有組合下C個(gè)基帶碼的中間碼的濾波結(jié)果值。
??? FPGA將所有濾波結(jié)果值存入ROM,將每個(gè)濾波結(jié)果值所對(duì)應(yīng)的基帶碼組合作為該濾波結(jié)果值的存儲(chǔ)地址。系統(tǒng)運(yùn)行時(shí),用一個(gè)C位移位寄存器存儲(chǔ)C個(gè)基帶碼,作為地址選通ROM,則ROM輸出的濾波結(jié)果值是C個(gè)基帶碼的中間碼的濾波結(jié)果值。隨著基帶碼依次到達(dá)移位寄存器,移位寄存器中C個(gè)基帶碼的中間碼也被后面的基帶碼依次替換,ROM輸出的將是依次到達(dá)的中間碼的濾波結(jié)果值,從而實(shí)現(xiàn)基帶碼的濾波成型。
??? 圖2中ROM存儲(chǔ)的數(shù)據(jù)是設(shè)計(jì)一個(gè)成型濾波器得到的波形數(shù)據(jù),為了與下面成型濾波器組的存儲(chǔ)數(shù)據(jù)相區(qū)別,將圖2中ROM存儲(chǔ)的所有波形數(shù)據(jù)統(tǒng)稱為一個(gè)子波形。
3 在FPGA中用成型濾波器組調(diào)整發(fā)送時(shí)刻的方法
??? 圖3是成型濾波器組的實(shí)現(xiàn)方案圖。圖中的FPGA的ROM中存儲(chǔ)了E個(gè)子波形,稱為一個(gè)成型濾波器組。第一個(gè)子波形就是圖2所設(shè)計(jì)的子波形,稱為原來的子波形。之后的E-1個(gè)子波形是原來的子波形以時(shí)鐘周期的1/E循環(huán)左移1,2,...,E-1次得到的。如何得到這些移位后的子波形是設(shè)計(jì)的關(guān)鍵。由于波形的移位在MATLAB中是以數(shù)值的變化體現(xiàn)出來的,而通過MATLAB計(jì)算可以得到數(shù)值精度很高的波形數(shù)據(jù),所以用MATLAB設(shè)計(jì)的波形,移位可以遠(yuǎn)小于時(shí)鐘周期,因此可以很容易用MATLAB得到以時(shí)鐘周期的1/E循環(huán)左移后的各個(gè)子波形。

?


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

??? 本設(shè)計(jì)所應(yīng)用的測(cè)距系統(tǒng)的基帶碼速率為2MHz,系統(tǒng)時(shí)鐘頻率為20MHz,因此在2MHz基帶碼的相鄰比特間內(nèi)插為5)的FIR濾波器就可實(shí)現(xiàn)成型濾波。5個(gè)基帶碼可排列成32種組合,圖4是其中的一種基帶碼組合——11011的成型濾波的仿真結(jié)果。圖中顯示了該組合插零后與成型濾波器的沖激響應(yīng)進(jìn)行卷積的過程??梢钥闯?,卷積后的中間10點(diǎn)數(shù)據(jù)波形正好是插零前5個(gè)基帶碼中間的信號(hào)0經(jīng)濾波器平滑后的波形。這10點(diǎn)數(shù)據(jù)波形存在以11011為基地址的ROM中。

?


4.2? 成型濾波器組的設(shè)計(jì)
??? 由于時(shí)鐘周期為50ns,當(dāng)要求最小調(diào)整步長(zhǎng)不大于10ns時(shí),在MATLAB中將FIR濾波器的沖激響應(yīng)以時(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è)子波形的圖。

?


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

?

??? 經(jīng)圖中的數(shù)據(jù)計(jì)算得出:在不采用成型濾波器組的情況下,發(fā)送調(diào)整誤差的標(biāo)準(zhǔn)差為18.17ns。采用成型濾波器組后,發(fā)送調(diào)整誤差的標(biāo)準(zhǔn)差為4.42ns,是不采用成型濾波器組時(shí)的

??? 成型濾波器組占用ROM的數(shù)量是由發(fā)送時(shí)刻調(diào)整的精度、成型濾波器的階數(shù)、波形數(shù)值量化的比特?cái)?shù)、每個(gè)基帶碼的時(shí)鐘采樣點(diǎn)個(gè)數(shù)等因素決定的。對(duì)上面的例子而言,每五個(gè)基帶碼組合要生成10個(gè)8比特的波形數(shù)據(jù),因此所存儲(chǔ)的地址長(zhǎng)度為4比特,存儲(chǔ)單位是字節(jié)。五個(gè)基帶碼共有32種組合,所以一個(gè)子波形的地址長(zhǎng)度為4+5=9位。在調(diào)整步長(zhǎng)是時(shí)鐘的1/5的要求下,要另加3比特基地址來存儲(chǔ)五個(gè)子波形。所以整個(gè)成型濾波器組總共消耗的ROM的數(shù)量為2(4+5+3)×8=32768比特。
??? 除采用數(shù)字電路方式外,許多系統(tǒng)還用模擬電路的方式調(diào)整發(fā)送時(shí)刻:將基帶碼通過模擬觸發(fā)電路發(fā)送,而測(cè)距誤差通過模擬觸發(fā)電路控制基帶碼的發(fā)送時(shí)刻。這種方式在理論上調(diào)整發(fā)送時(shí)刻的步長(zhǎng)更小,但與數(shù)字電路相比,易受到溫度、噪聲等多種因素的影響,可靠性差得多。而本文提出的方法是用數(shù)字的方式實(shí)現(xiàn)的,穩(wěn)定性和可靠性均有無可比擬的優(yōu)越性。
??? 本文設(shè)計(jì)的成型濾波器充分地利用了硬件中所剩的ROM資源,占用了很少的邏輯單元。用該成型濾波器構(gòu)成的成型濾波器組,可將基帶碼發(fā)送時(shí)刻的調(diào)整步長(zhǎng)減小到時(shí)鐘周期的幾分之一,甚至十幾分之一,因此大幅度提高了發(fā)送時(shí)刻的調(diào)整精度。本文的設(shè)計(jì)已被應(yīng)用于某個(gè)測(cè)距系統(tǒng)中,取得了很好的效果。該設(shè)計(jì)還可應(yīng)用于其它許多測(cè)距系統(tǒng)中,如定位系統(tǒng)、二次雷達(dá)等,因此有較高的實(shí)用價(jià)值。
參考文獻(xiàn)
1 仵國(guó)鋒,程 博, 胡捍英. 一種高速FIR成型濾波器的設(shè)計(jì)和實(shí)現(xiàn). 無線通信技術(shù),2001(2)
2? Elliott D. Kaplan著, 邱致和,王萬義譯.GPS原理與應(yīng)用.北京:電子工業(yè)出版社,2002

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。