新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 高性能維特比在衛(wèi)星導(dǎo)航接收機(jī)中FPGA實(shí)現(xiàn)

高性能維特比在衛(wèi)星導(dǎo)航接收機(jī)中FPGA實(shí)現(xiàn)

作者: 時(shí)間:2012-04-25 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:衛(wèi)星定位中卷積碼譯碼即維特比譯碼器,在處理器中面臨占有資源較多、處理時(shí)間過(guò)長(zhǎng)等問(wèn)題,為了減少處理器資源的占用和提高處理速度,采用并行加比選蝶形單元的的方法,在平臺(tái)上用硬件描述語(yǔ)言設(shè)計(jì)一種高維特比譯碼器,作為GPS L2頻點(diǎn)和GALILEO E1頻點(diǎn)的通用譯碼器,在GPS和GALILEO上運(yùn)用,大大減少資源使用,提高接收機(jī)的處理速度。
關(guān)鍵詞:Viterbi譯碼器;GPS/GALILEO接收機(jī);卷積碼;

0 引言
在現(xiàn)代通信系統(tǒng)中,要使信號(hào)能夠更可靠地在信道中傳輸,往往需要在信道編碼中采用糾錯(cuò)碼來(lái)降低信號(hào)受噪聲的影響,以降低傳輸?shù)恼`碼率。卷積碼及其Viterbi譯碼是常用的信道編碼方案。卷積碼在GNSS接收機(jī)中得到應(yīng)用,其中約束長(zhǎng)度K=7,碼率為1/2的卷積碼已經(jīng)成為商業(yè)衛(wèi)星通信系統(tǒng)中的標(biāo)準(zhǔn)編碼方法。在衛(wèi)星定位系統(tǒng)中,GPS L2頻點(diǎn)和GAILILEO E1的電文均采用卷積碼編碼,目前在定位接收機(jī)中用軟件進(jìn)行Viterbi譯碼較多,為了提高處理速度通用性,本文設(shè)計(jì)一種基于的通用高速Viterbi譯碼器,能作為GPS L2和GALILEO E1的電文的譯碼器,大大減少資源使用,提高接收機(jī)的處理速度和減少軟件復(fù)雜度,從而節(jié)約處理器的資源。

1 卷積編碼及Viterbi算法基本原理
卷積碼包含由K個(gè)寄存器組(每組包括k個(gè)比特,k通常取1)構(gòu)成的移位寄存器和n個(gè)模2加法器,其中K是約束長(zhǎng)度,編碼器的輸出由當(dāng)前輸入數(shù)據(jù)和寄存器組中的數(shù)據(jù)共同決定。對(duì)于GPS L2和GALILEOE1均為(2,1.7)卷積碼,其生成多項(xiàng)式為G=(171,133),電路圖如圖1所示。(2,1,7)卷積碼編碼器由6個(gè)延時(shí)器(圖1中的q-1模塊,可用寄存器實(shí)現(xiàn))和兩個(gè)模2加法器組成,它的編碼約束度為7,碼率為1/2,即輸入端輸入1 b信息,輸出端輸出2 b編碼信息,并分為上、下兩路并行輸出。

本文引用地址:http://2s4d.com/article/190478.htm

d.JPG


對(duì)信號(hào)進(jìn)行卷積編碼后,通常采用Viterbi算法(VA)譯碼。Viterbi算法是對(duì)于卷積碼的最大似然譯碼,即利用概率譯碼。1967年Viterbi第一個(gè)提出了這個(gè)算法,F(xiàn)orney對(duì)這種算法及其做了可讀強(qiáng)、見(jiàn)解深刻的描述。最大似然譯碼函數(shù),就是在已知收到的信道輸出序列,找到最有可能的傳輸序列,即通過(guò)網(wǎng)格圖找出一條路徑對(duì)應(yīng),要求路徑輸出的碼序列具有對(duì)數(shù)最大值。對(duì)于二進(jìn)制對(duì)稱(chēng)信道來(lái)說(shuō),函數(shù)的最大化等價(jià)于在網(wǎng)格圖中找到與接收序列之間有最小漢明距離的路徑。
Viterbi算法是通過(guò)動(dòng)態(tài)規(guī)劃的方法找出網(wǎng)格圖中具有最大度量的最大似然路徑,即局部最優(yōu)等效全局最優(yōu)。在每一步中,它將進(jìn)入每一狀態(tài)的所有路徑進(jìn)行比較,并存儲(chǔ)具有最大度量值的路徑,即幸存路徑,步驟為:
(1)從時(shí)刻l=m開(kāi)始,計(jì)算進(jìn)入某一狀態(tài)的單個(gè)路徑的部分度量值,并存儲(chǔ)每一狀態(tài)的幸存路徑及其度量值。
(2)l增加1,l=m+1,將進(jìn)入某一狀態(tài)的分支度量值與前一段時(shí)間的幸存度量值累加,然后計(jì)算進(jìn)入該狀態(tài)的所有最大度量的路徑,決定并存儲(chǔ)新的幸存路徑及度量,并刪除所有其他路徑。
(3)若ll+m,重復(fù)步驟(2),否則結(jié)束。
該算法主要包括兩個(gè)工作:計(jì)算度量并比較,其決定幸存路徑;另一個(gè)是記錄幸存路徑及其相關(guān)的度量值。

2 基于硬件描述語(yǔ)言的Viterbi算法
Viterbi算法一般采用回溯法和寄存器交換法。為了減少控制的復(fù)雜度,本文采用回溯法,譯碼器由分支度量(BMU)、加比選(ACS)蝶形運(yùn)算、存儲(chǔ)單元、回溯(TB)單元4個(gè)基本部分組成,見(jiàn)圖2。

e.JPG


利用二元卷積來(lái)說(shuō)明VA譯碼過(guò)程如圖3所示。

f.JPG


圖4為用實(shí)線表示輸入為0時(shí)走的分支,虛線表示輸入為1走的分支,任意給定一個(gè)序列,在網(wǎng)格圖中就有一個(gè)特定路徑,圖4中,u=(1011100),輸出的編碼為c={11_10_00_01_10_01_11}。

g.JPG


2.1 分支度量單元
路徑度量單元是計(jì)算實(shí)際接收到的碼元與期望碼元之問(wèn)的差別。G1與g1比較,G2與g2比較,若接收信號(hào)為0,期望值為0時(shí),度量值為0,期望值為1時(shí),度量值為1;若接收信號(hào)為1,期望值為0時(shí),度量值為1,期望值為1時(shí),度量值為0。兩個(gè)比較結(jié)果和作為最終度量結(jié)果輸出。按此規(guī)律計(jì)算當(dāng)前狀態(tài)下進(jìn)入下一個(gè)狀態(tài)的度量值。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉