国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Turbo乘積碼在無人機(jī)測控技術(shù)中的應(yīng)用分析

2012-10-18 09:39:20金松坡
無線電工程 2012年5期
關(guān)鍵詞:譯碼器碼率碼字

周 侃,金松坡

(中國電子科技集團(tuán)公司第五十四研究所,河北石家莊 050081)

0 引言

乘積碼是1954年由Elias提出,但當(dāng)時(shí)的硬件水平限制了它的應(yīng)用。1993年由C.Berrou等人提出Turbo碼的概念。1994年P(guān)yndiah等人在Chase譯碼算法的基礎(chǔ)上稍加修改,提出了對(duì)乘積碼的軟輸入/軟輸出次優(yōu)迭代譯碼算法,由于這種算法類似于Turbo卷積碼的譯碼算法,不同的是構(gòu)成碼由原來的系統(tǒng)卷積碼替換為分組碼。

Turbo乘積碼在高碼率(例如R>0.9)可以逼近仙農(nóng)限,適合于高碼率應(yīng)用;在低碼率應(yīng)用時(shí)其性能已接近Turbo卷積碼;在實(shí)現(xiàn)上較Turbo卷積碼具有明顯的優(yōu)勢。Turbo乘積碼還具有延時(shí)短、譯碼算法能充分利用軟判決、能夠同時(shí)糾正隨機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤、即使在信道條件較差時(shí)仍有較好的糾錯(cuò)能力等優(yōu)越性,都是RS碼等其他編碼所不擁有的。

1 Turbo乘積碼的編碼

乘積碼按照構(gòu)成子碼種類的不同,可分成RS乘積碼、BCH乘積碼、擴(kuò)展Hamming乘積碼和奇偶校驗(yàn)乘積碼。假設(shè)乘積碼的子碼為 C1(n1,k1,δ1)和 C2(n2,k2,δ2),其中 n、k 和 δ分別為碼長、信息位長和最小漢明距離。乘積碼P=C1?C2可以通過下面的方法得到。

①將k1*k2位信息比特按列(或者行)的方式填入k1行*k2列的數(shù)組;

②用C2碼對(duì)k1行信息進(jìn)行編碼;

③用C1碼對(duì)k2列信息進(jìn)行編碼。

乘積碼P的參數(shù)為n=n1*n2,k=k1*k2,δ=δ1*δ2,編碼效率R=k/n。乘積碼的編碼結(jié)構(gòu)如圖1所示。

圖1 乘積碼的編碼結(jié)構(gòu)

2 Turbo乘積碼的譯碼

2.1 Chase譯碼算法

通常的查表譯碼法屬于代數(shù)譯碼,代數(shù)譯碼也叫硬判決譯碼。硬判決譯碼器的輸入只有“0”和“1”兩個(gè)值,這種判決結(jié)果會(huì)損失掉接收信號(hào)中所包含的有用信息。為了充分利用接收信號(hào)波形的信息,使譯碼器能以更大的正確概率判決接收到的碼字,應(yīng)把解調(diào)器輸出的抽樣電壓的量化值送給譯碼器,這種譯碼算法稱為軟判決譯碼。

軟判決的準(zhǔn)則就是根據(jù)接收序列R,在所有碼字中尋找與R歐幾里得距離最小的碼字作為輸出。歐氏距離的計(jì)算公式為:

式中,R為具有模擬值的接收序列;C為碼字(ci∈{-1,+1})。

但是隨著信息位的增加,碼字的數(shù)量成指數(shù)增加,譯碼的過程中要想搜索所有的碼字將很不容易實(shí)現(xiàn)。Chase在1972年提出了一種簡化碼字搜索范圍的譯碼算法。

Chase譯碼算法基于這樣的思想:假設(shè)二元加性高斯白噪聲(AWGN)信道中傳輸(n,k,δ)線性分組碼字 C= (c1,…cj…cn),經(jīng)調(diào)制后的發(fā)送信號(hào)為X= (x1,…xj,…xn),xj∈ {+1,-1},接收信號(hào)為R= {r1,…rj,…rn},信道噪聲為均值為0、方差為 σ2的加性高斯白噪聲,N=(n1,…nj,…nn),三者滿足:R=X+N。對(duì)接收信號(hào)R進(jìn)行最大似然譯碼,產(chǎn)生的碼字以極大的概率落于以Y={y1,…yj,…yn}為中心、(d-1)為半徑的球域中,d為該編碼的最小漢明距離,Y為接收信號(hào)的硬判決值。

Chase譯碼算法的步驟如下:

①根據(jù)接收序列R,計(jì)算硬判決序列Y,其中yj=(1+sign(rj))/2,yj∈{0,1}。

②確定序列Y中的p個(gè)最不可靠位。其中p一般取2,3,4(增加p,可以提升Chase譯碼的效果,但是計(jì)算量會(huì)急劇增加)。序列Y中每一位的可靠度根據(jù)接收序列R計(jì)算。

式中,∧(yj)表示序列Y中第j位的可靠度。

③ 產(chǎn)生2p個(gè)測試圖樣Tq。Tq定義為一組n維向量,包括“0”和“1”在p個(gè)位置上的所有組合。

④ 構(gòu)造測試序列Zq,Zq=Y⊕Tq,⊕表示按位異或。

⑤用代數(shù)譯碼器對(duì)Zq進(jìn)行譯碼,也就是上述提到的查表譯碼法,得到輸出碼字Ci,并將其做如下映射:0→-1,1→+1,然后歸入集合Ω。

⑥根據(jù)式(1)分別求集合Ω中的碼字Di與接收信號(hào)R之間的歐幾里得距離,距離最小的碼字D作為判決序列輸出。

2.2 硬輸出到軟輸出

為了實(shí)現(xiàn)對(duì)TPC的高性能譯碼,必須采用迭代方式,這就要求譯碼器的輸出為軟數(shù)據(jù),即帶有可靠度度量值的數(shù)據(jù)。而Chase算法是一種針對(duì)線性分組碼的軟輸入硬輸出(Soft-Input Hard-Output,SIHO)譯碼算法,譯出的碼字為硬輸出(dj∈{-1,+1})。1994年R.Pyndiah對(duì) Chase算法做了修改,提出了Turbo乘積碼的“軟輸入軟輸出”的迭代譯碼算法,這是一種近似的最大似然譯碼,能大大降低譯碼的復(fù)雜度。

對(duì)于軟輸入信號(hào)R,可以通過上述的Chase譯碼算法得到硬判決碼字D,然后可以根據(jù)式(3)計(jì)算碼字D中第j位dj的可靠度,也就是軟輸出。

從式(3)可以看出,計(jì)算rj'時(shí)需要2個(gè)碼字C_C和D。硬判決值D是其中一個(gè),因此需要找到另外一個(gè)碼字C_C,稱為D的競爭碼字。C_C為碼字集合Ω中與接收信號(hào)R具有最小歐氏距離并且c_cj≠dj的碼字。

如果找不到競爭碼字,也就是說集合Ω中所有的碼字在第j位都相同,那么必須采用其他方法計(jì)算軟輸出信息。式(4)是一種有效的計(jì)算方法:

式中,m為迭代的次數(shù);β為一個(gè)大于0的常數(shù),隨著迭代次數(shù)的增加而增大。β的經(jīng)驗(yàn)取值為:

2.3 Turbo乘積碼譯碼器

Turbo乘積碼的一次完整的串行迭代譯碼的結(jié)構(gòu)如圖2所示,圖中“SISO譯碼”表示軟輸入軟輸出譯碼。

圖2 Turbo乘積碼迭代譯碼器結(jié)構(gòu)

圖2中,[R]表示具有模擬值的接收矩陣;R[m]為外部信息矩陣,m為迭代次數(shù)。迭代譯碼算法的步驟如下:

①計(jì)算“行SISO譯碼器”的軟輸入值。

式中,α(m)為第m次迭代時(shí)的反饋系數(shù),可以根據(jù)子碼的碼型和迭代次數(shù)進(jìn)行調(diào)整,一般取經(jīng)驗(yàn)值。W[m]為“列SISO譯碼”器經(jīng)虛線反饋回來的外部信息,初始值[W(0)]=0。

②譯碼器對(duì)軟輸入矩陣[R(m)]按Chase算法逐行進(jìn)行譯碼,計(jì)算軟輸出矩陣[R'(m)],并計(jì)算下一次迭代的外部信息:

③利用外部信息矩陣[W(m+1)],按式(6)計(jì)算[R(m+1)]的值,并輸入“列SISO譯碼”器。列譯碼器同樣按Chase算法對(duì)[R(m+1)]逐列進(jìn)行譯碼,并計(jì)算軟輸出矩陣[R'(m+1)]和外部信息矩陣[W(m+2)],然后將外部信息矩陣[W(m+2)]通過虛線反饋給“行 SISO譯碼”器。這樣就完成了二維乘積碼的一次完整的迭代譯碼。

迭代次數(shù)達(dá)到設(shè)定值時(shí),將列譯碼器的軟輸出值[R'(m)]做硬判決(符號(hào)判決)后輸出即可完成譯碼。

3 性能仿真分析

針對(duì)無人機(jī)信號(hào)參數(shù),對(duì)信號(hào)調(diào)制方式和信道模型做如下假設(shè):信號(hào)調(diào)制方式為BPSK;信道模型為衰落信道。在仿真中,采取C1=C2的編碼方法,也就是n1=n2,k1=k2,δ1=δ2。調(diào)節(jié)參數(shù)的經(jīng)驗(yàn)取值:α(m)=[0.0 ,0.2 ,0.3,0.5,0.7,0.9,1.0,1.0], β(m)=[0.2,0.4,0.6,0.8,1.0,1.0,1.0,1.0]。

3.1 碼率對(duì)譯碼性能的影響

Turbo乘積碼子碼選取3種,分別為:

① BCH[63,51,5]*BCH[63,51,5],碼率0.66;

② BCH[63,57,3]*BCH[63,57,3],碼率0.82;

③ BCH[127,113,5]*BCH[127,113,5],碼率0.79。

不同碼率下的Turbo乘積碼的譯碼性能如圖3所示。在仿真中,采用試探序列的數(shù)目為q=24。

圖3 3種碼率乘積碼的信噪比—誤碼率曲線

可以看出,碼率越低TPC譯碼的性能越好。這是因?yàn)锽CH碼的碼率越低,則監(jiān)督位相對(duì)越多,從而可以實(shí)現(xiàn)更好的譯碼性能。譯碼性能對(duì)比如表1所示。

表1 誤碼率在10-5量級(jí)時(shí)的譯碼性能對(duì)比

3.2 測試序列對(duì)譯碼性能的影響

Chase譯碼選用的試探序列數(shù)目q=2p選擇了3種情況進(jìn)行仿真,p分別為4、3和2。圖4、圖5和圖6分別為不同碼率情況下試探序列數(shù)目對(duì)誤碼性能的影響仿真曲線。

圖4 BCH[63,51,5]乘積碼的信噪比—誤碼率曲線

圖5 BCH[63,57,3]乘積碼的信噪比—誤碼率曲線

圖6 BCH[127,113,5]乘積碼的信噪比—誤碼率曲線

可以得出,測試序列越多Turbo乘積碼的譯碼性能越好。但是,如果p取值過大,計(jì)算量就會(huì)很大,不易于硬件實(shí)現(xiàn);p取值太小,譯碼器的譯碼性能變差。一般情況下p的取值為3或4即可。

4 結(jié)束語

上述對(duì)Chase算法、基于Chase算法的軟輸入軟輸出的算法進(jìn)行了介紹,分析了基于Chase算法的Turbo乘積碼迭代譯碼算法的基本結(jié)構(gòu),最后通過仿真分析了碼率、測試序列個(gè)數(shù)對(duì)Turbo乘積碼譯碼性能的影響。

Turbo乘積碼在衰落信道可以獲得6.0 dB左右的編碼增益,測試序列選用16較合適,可以兼顧增益損失小和硬件實(shí)現(xiàn)簡單雙重要求。由于其簡單的硬件實(shí)現(xiàn)以及較高的編碼增益,如果可以應(yīng)用在無人機(jī)測控領(lǐng)域,可以緩解機(jī)載設(shè)備資源緊張的情況?!?/p>

[1]PYNDIAH R,GLAVIEUX P A.Near Potimum Decoding of Product Codes.IEEE GLOBECOM,1994(1):339 -343.

[2]PYNDIAH R.Near Potimum Decoding of Foduct Codes:Block Turbo Codes[J].IEEE Transaction on Communications,1998,46(8):1003 -1010

[3]KIM S,OH D.Reduced-search SOVA for Block Turbo Codes[C].IEEEICC’03,2003:3076-3079.

[4]朱光喜,何業(yè)軍,王 峰,等.Turbo乘積碼的兩種迭代譯碼器的比較[J].電訊技術(shù),2004,44(6):30-34.

[5]徐友云,郭閱樂,宋文濤.次最佳軟輸入軟輸出譯碼算法[J].上海交通大學(xué)學(xué)報(bào),2000(2):169-172.

[6]任衛(wèi)紅,葉宇煌.Turbo乘積碼的軟譯碼研究[J].通信技術(shù),2003,36(5):44-45.

猜你喜歡
譯碼器碼率碼字
糾錯(cuò)模式可配置的NAND Flash BCH譯碼器設(shè)計(jì)
放 下
數(shù)據(jù)鏈系統(tǒng)中軟擴(kuò)頻碼的優(yōu)選及應(yīng)用
基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
放下
跟蹤導(dǎo)練(一)5
基于場景突變的碼率控制算法
X264多線程下碼率控制算法的優(yōu)化
多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
HINOC2.0系統(tǒng)中高速LDPC譯碼器結(jié)構(gòu)設(shè)計(jì)
杭锦后旗| 康平县| 名山县| 轮台县| 喀什市| 棋牌| 揭阳市| 丹东市| 仲巴县| 凭祥市| 泰州市| 海南省| 云霄县| 富平县| 卢龙县| 铜山县| 弥勒县| 玉树县| 托克托县| 岐山县| 布拖县| 东丰县| 芦溪县| 明光市| 东港市| 仪征市| 额尔古纳市| 开阳县| 南漳县| 砀山县| 板桥市| 长沙县| 叶城县| 当涂县| 新平| 仙桃市| 明星| 凌源市| 临沂市| 吉首市| 南城县|