999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VHDL的TPC譯碼器設(shè)計

2010-04-12 00:00:00
現(xiàn)代電子技術(shù) 2010年7期

摘 要:Turbo乘積碼是一種性能卓越的前向糾錯碼,具有譯碼復(fù)雜度低,且在低信噪比時可以獲得近似最優(yōu)的性能。介紹基于Chase算法的Turbo乘積碼軟入軟出(SISO)迭代譯碼算法,提出基于VHDL硬件描述語言的TPC譯碼器設(shè)計方案,并在FPGA芯片上進行了仿真和驗證。仿真結(jié)果證明該譯碼器有很大的實用性和靈活性。

關(guān)鍵詞:TPC碼; 軟判決譯碼; 迭代譯碼; VHDL; FPGA

中圖分類號:TN911.22 文獻標識碼:A

文章編號:1004-373X(2010)07-0073-04

Design of TPC Decoder Based on VHDL

XIANG Bing

(China Airborne Missile Academy, Luoyang 471009, China)

Abstract: Turbo product code(TPC) is a kind of forward error correction codes with excellent performance. TPC has low decoding complexity and achieves near-optimum performances at low signal-to-noise ratio. The soft in soft out(SISO) iteration decoding algorithm for Turbo product code which is based on Chase algorithm and a method of hardware design for Turbo product code iterative decoder based on VHDL are introduced. The decoder is simulated and implemented on FPGA circuit. The simulation results prove that the decoder has functions of validity and feasibility.

Keywords: TPC; soft-decision; iterative decoding; VHDL; FPGA

0 引 言

C.Berrou等學(xué)者在1993年提出基于軟輸入軟輸出(SISO)迭代譯碼算法的Turbo卷積碼,它可以在多次迭代后非常逼近香農(nóng)限,因此得到廣泛關(guān)注。但是其譯碼算法太復(fù)雜,且結(jié)構(gòu)不利于并行處理,從而限制了在高速通信系統(tǒng)中的應(yīng)用。受迭代譯碼思想的啟發(fā),R.Pyndiah等人于1994年在Chase的基礎(chǔ)上提出了線性分組碼的SISO算法,并通過迭代的方式應(yīng)用于乘積碼,稱為Turbo乘積碼(TPC)。TPC在譯碼性能上能夠接近Turbo卷積碼,同時算法復(fù)雜度較低,結(jié)構(gòu)適合并行處理,在采用流水線機制的基礎(chǔ)上,可以實現(xiàn)高速編譯碼器。

VHDL語言目前已經(jīng)成為EDA領(lǐng)域首選的硬件設(shè)計語言,電子業(yè)界越來越多的數(shù)字系統(tǒng)設(shè)計正在使用VHDL語言來完成。原因是通過VHDL語言設(shè)計的“軟核”便于存檔,程序模塊的移植和ASIC設(shè)計源程序的交付更為方便。

本文介紹了一種基于VHDL語言的TPC譯碼器設(shè)計方案,并且在FPGA芯片上進行了仿真和驗證。結(jié)果表明,該譯碼器具有很好的實用性和靈活性。

1 TPC編碼結(jié)構(gòu)

乘積碼是線性分組碼在空間維上的擴展。二維TPC的構(gòu)造如下:待編碼的數(shù)據(jù)被填充到一個矩形中,兩維的長度分別定義成k1,k2,對每一維的信息序列用線性分組碼Ci(ni,ki,di)進行編碼,ni,ki,di分別表示碼字長度、信息序列長度和最小漢明距離。子碼一般采用擴展?jié)h明碼(碼型可以相同,也可以不同)。編碼后的數(shù)據(jù)形成一個新的矩形,兩維的長度分別是n1,n2。二維TPC的編碼結(jié)構(gòu)如圖1所示。

圖1 二維TPC編碼結(jié)構(gòu)

2 TPC的譯碼原理

2.1 代數(shù)譯碼

代數(shù)譯碼也叫硬判決譯碼,如果一致校驗矩陣為H的分組碼C(n,k,d),經(jīng)信道傳輸后對應(yīng)的碼字為R,代數(shù)譯碼器的主要任務(wù)就是設(shè)法從中得到正確的錯誤圖樣E′,然后計算估值碼字C′,具體的譯碼步驟如下:

(1) 計算伴隨式S=H*RT;

(2) 根據(jù)伴隨式找出錯誤圖樣E;

(3) 得到譯碼器的輸出——估值碼字C′=R-E,若C′=C則譯碼正確,否則譯碼錯誤。

經(jīng)過解調(diào)硬判決的Turbo乘積碼數(shù)據(jù)可以通過行列迭代進行代數(shù)譯碼,如圖2所示。硬判決迭代譯碼比單純的分組碼譯碼性能要好,但是它并沒有體現(xiàn)出乘積碼的性能優(yōu)勢。

圖2 硬判決迭代譯碼

2.2 乘積碼的軟判決譯碼算法

雖然乘積碼的硬判決譯碼器復(fù)雜度低,容易實現(xiàn),但是采用軟判決譯碼器能提高通信系統(tǒng)的性能。一般而言,采用軟判決譯碼可以獲得超過3 dB的編碼增益。

1972年,Chase針對線性分組碼提出了接近最大似然譯碼(ML)的“Chase算法”,這是一種低復(fù)雜度的次最佳算法。

假設(shè)發(fā)送信號為E,接收信號為R,對此信號進行最大似然譯碼,當(dāng)SNR較高時,產(chǎn)生的碼字將以極大的概率落于以Y=(y1,y2,…,yj,…,yn)為中心,δ-1為半徑的球域中。其中,Y是接收信號的初步硬判決值。因此可以不用像ML算法那樣考慮所有的碼字,而只考慮以Y為中心,(δ-1)為半徑的球域內(nèi)的點即可。

Chase算法實現(xiàn)方法如下:

(1) 通過考察yj的可靠度,確定Y的p個最不可靠位。譯碼性能隨著p的增加逐漸改善,它的代價是譯碼復(fù)雜度的指數(shù)增加。當(dāng)p>4時,不可靠位的增加對譯碼性能改善不大,在本方案中p取2;

(2) 構(gòu)造測試圖樣Tq,如圖3所示;

圖3 測試圖樣生成示意圖

(3) 構(gòu)造測試序列:Zq=Y+Tq;

(4) Zq進行代數(shù)譯碼,得到譯碼結(jié)果C′,將譯碼結(jié)果作如下映射:0→+1,1→-1,然后歸入集合Ω;

(5) 分別求集合Ω中的碼字Ci與接收信號R間的歐氏距離,歐氏距離最小的碼字即為判決碼字D。

為了實現(xiàn)對乘積碼的高效譯碼,必須采用迭代方式,串行迭代譯碼的結(jié)構(gòu)如圖4所示。譯碼器的輸出為軟數(shù)據(jù),即帶有可靠度度量值的數(shù)據(jù)。

圖4 串行迭代譯碼結(jié)構(gòu)

在進行迭代譯碼時,設(shè)接收向量矩陣為[R],外部信息值矩陣為[W(m)],那么每一次迭代的軟輸入信息矩陣可以表示為:

[R(m)]= [R]+α(m)[W(m)]

(1)

式中:m表示迭代次數(shù);[R(m)]表示每一次迭代譯碼時,傳遞給譯碼單元的軟輸入信息序列矩陣;α(m)是第m次迭代的反饋系數(shù),稱為縮放因子,理論上需要根據(jù)子碼碼型和迭代次數(shù)進行調(diào)整,實際應(yīng)用采用經(jīng)驗值,性能沒有明顯惡化,但是復(fù)雜度大為降低。

硬判決值dj可靠度的計算需要兩個碼字C+1j和C-1j,硬判決碼字D是其中一個,因此需要找到另外一個碼字C,C即為D的競爭碼字,當(dāng)cj≠dj時與接收信號R具有最小的歐氏距離。

譯碼器的軟輸出值為:

r′j=

|R-C|2-|R-D|24dj, C∈Ω

β(m)×dj+rj,CΩ

(2)

式中:β(m)為可靠度因子;外信息Wj可用以下公式計算:

Wj=R-C2-R-D24dj-rj,C∈Ω

β(m)×dj,CΩ

(3)

從上式可以看出:譯碼器的軟輸出r′與dj符號相同,其絕對值代表了硬判決的可靠度;如果C不存在于集合Ω中,表明dj的可靠性非常高;如果C與R的歐氏距離很大,同樣表明dj的可靠性非常高。

3 基于VHDL語言的譯碼器設(shè)計

在本方案中,TPC子碼采用(32,26,5)的擴展?jié)h明碼;由p=2個最不可靠位產(chǎn)生4個測試圖樣;迭代次數(shù)設(shè)為10次;縮放因子和可靠度因子分別取值如下:

α(m)=[0.0,0.2,0.3,0.5,0.7,0.9,1.0,1.0,1.0,1.0];

β(m)=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0];

譯碼器的工作原理框圖如圖5所示,接收機解調(diào)數(shù)據(jù)經(jīng)過歸一化處理后數(shù)據(jù)范圍為[-1,+1]之間,采用8位定點數(shù)(Q6)表示;外部因子初始化為0,同樣采用8位定點數(shù)(Q6)表示。為了便于訪問,解調(diào)數(shù)據(jù)和外部因子合并成一個16位寬度的數(shù)據(jù)一起寫入RAM的一個地址單元,在本方案中TPC譯碼的數(shù)據(jù)塊大小為32×32,因此RAM的地址寬度為10位,高5位為行地址,低5位為列地址。

圖5 譯碼器工作原理框圖

根據(jù)TPC迭代譯碼的原理,譯碼器需要完成以下功能:

① 讀入一行(列)32個軟信息;

② 由式(1)得到32個軟輸入信息;

③ 計算32個軟輸入信息的不可靠度;

④ 對32位軟輸入信息進行初步硬判決;

⑤ 由2個最不可靠位得到4個測試序列;

⑥ 對4個測試序列進行代數(shù)譯碼;

⑦ 計算歐氏距離并排序;

⑧ 計算軟輸出和外部因子;

⑨ 更新外部因子矩陣。

在基于VHDL語言的譯碼器設(shè)計中,必須根據(jù)譯碼器的功能規(guī)劃好電路的時序。在本設(shè)計中,采用以下幾個計數(shù)器來控制電路完成不同的功能:

迭代次數(shù)計數(shù)器DM(0~10):0~9進行迭代,10迭代完成,空閑等待。

行列計數(shù)器KN(0~31):當(dāng)DM為偶數(shù)時進行行迭代,KN從0計數(shù)到26,當(dāng)DM為奇數(shù)時進行列迭代,KN從0計數(shù)到31,當(dāng)KN計滿之后完成一次半迭代,DM加1。

工作模式計數(shù)器SM(0~3):SM=0,完成譯碼器功能①~⑥;SM=1,完成譯碼器功能⑦;SM=2,完成譯碼器功能⑧~⑨;SM=3,空閑;當(dāng)SM計數(shù)到3之后,KN加1,繼續(xù)進行下一行(列)的譯碼。

工作模式0計數(shù)器N0(0~71):當(dāng)SM=0時,N0從0計數(shù)到31完成讀入32個軟信息數(shù)據(jù)R和外部因子矢量W;從32計數(shù)到63,根據(jù)式(1)計算軟輸入信息,計算的同時進行比較,得到2個最不可靠位,并且進行初步硬判距得到硬判決矢量Y;從64計數(shù)到67,得到4個測試序列ZQ;從68計數(shù)到71,完成測試序列的代數(shù)譯碼。

工作模式1計數(shù)器N1(0~3):當(dāng)SM=1時,N1從0計數(shù)到3,計算歐式距離并進行排序。

工作模式2計數(shù)器N2(0~63):當(dāng)SM=1時,N1從0計數(shù)到31,根據(jù)歐式距離計算軟輸出和外部因子矢量;從32計數(shù)到63,更新外部因子矢量。

DM計數(shù),從0計數(shù)到10之后,迭代譯碼完成,當(dāng)新的解調(diào)數(shù)據(jù)再次寫滿RAM,就將計數(shù)器DM重新置零,TPC譯碼模塊重新開始迭代。以下是TPC譯碼模塊的部分VHDL程序代碼:

IF CLK0′EVENT AND CLK0=′1′ THEN

IF SM=″00″ THEN

IF N0<32 THEN

--讀入軟信息和外部因子

RJ(Q0)<=SIGNED(RD(17 DOWNTO 9));

WZ(Q0)<=SIGNED(RD(8 DOWNTO 0));

ELSIF N0<64 THEN

--計算軟輸入信息

RJ(Q0)<=RJ_TMP;

--硬判決

YJ(Q0)<=RJ_TMP(8);

--尋找兩個最不可靠位

IF RJ_ABS<=RJ_MINA THEN

RJ_MINA<=RJ_ABS;

RJ_SA<=Q0;

RJ_MINB<=RJ_MINA;

RJ_SB<=RJ_SA;

ELSIF RJ_ABS<=RJ_MINB THEN

RJ_MINB<=RJ_ABS;

RJ_SB<=Q0;

END IF;

ELSIF N0<68 THEN

--得到測試序列

ZQ(Q1)<=YJ XOR SA ;

ELSE

--代數(shù)譯碼

ZQ(Q1)<=ZQ(Q1) XOR SA;

END IF;

END IF;

IF SM=″01″ THEN

--計算歐氏距離

IF N1<4 THEN

RL(Q1)<=RL_TMP;

--歐氏距離排序

IF RL_TMP

RL_MINA<=RL_TMP;

RL_SA<=Q1;

RL_MINB<=RL_MINA;

RL_SB<=RL_SA;

RL_MINC<=RL_MINB;

RL_SC<=RL_SB;

RL_MIND<=RL_MINC;

RL_SD<=RL_SC;

ELSIF RL_TMP

RL_MINB<=RL_TMP;

RL_SB<=Q1;

RL_MINC<=RL_MINB;

RL_SC<=RL_SB;

RL_MIND<=RL_MINC;

RL_SD<=RL_SC;

ELSIF RL_TMP

RL_MINC<=RL_TMP;

RL_SC<=Q1;

RL_MIND<=RL_MINC;

RL_SD<=RL_SC;

ELSIF RL_TMP

RL_MIND<=RL_TMP;

RL_SD<=Q1;

END IF;

END IF;

END IF;

IF SM=″10″ THEN

--計算外部因子

IF N2<32 THEN

WZ(Q0)<=WZ_TMP;

END IF;

END IF;

END IF;

4 結(jié) 語

本設(shè)計在Altera公司Stratix Ⅱ系列的EP2S60開發(fā)板上進行了仿真驗證,TPC譯碼器僅占用6%的邏輯資源,在工作時鐘為50 MHz的情況下,完成(32,26)×(32,26)迭代譯碼需要時間為0.8 ms左右,可以滿足1 Mb/s數(shù)據(jù)流的實時譯碼。通過修改程序中的參數(shù),本設(shè)計可以適用于任意碼率、任意碼長的TPC譯碼。

參考文獻

[1]李琦,張海林.基于FPGA的TPC信道編碼系統(tǒng)實現(xiàn)方法[J].電子科技,2005(10):30-33.

[2]陳超,羅漢文,徐友云.基于FPGA的TPC編譯碼器的設(shè)計與實現(xiàn)[J].電子技術(shù),2004(9):32-35.

[3]顧麗旺.Turbo乘積碼的譯碼算法及FPGA實現(xiàn)[D].濟南:山東大學(xué),2007.

[4]方敏.分組Turbo碼的研究[D].成都:四川大學(xué),2003.

[5]王曉波,羅霞.Turbo乘積碼及其FPGA實現(xiàn)[J].遙測遙控,2007(3):31-36.

[6]羅霞.Turbo乘積碼技術(shù)研究及其FPGA實現(xiàn)[D].西安:西北工業(yè)大學(xué),2007.

[7]彌憲梅.Turbo乘積碼譯碼的FPGA實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006.

[8]郭麗.寬帶無線系統(tǒng)中的TPC碼迭代譯碼研究[D].長沙:國防科技大學(xué),2006.

[9]張宇橙.糾錯編碼原理與應(yīng)用[M].北京:電子工業(yè)出版社,2003.

[10]馬馨睿.Turbo譯碼器的設(shè)計與實現(xiàn)[D].上海:上海交通大學(xué),2005.

主站蜘蛛池模板: 久久香蕉国产线看观看精品蕉| 天天躁狠狠躁| 國產尤物AV尤物在線觀看| 欧美日韩中文字幕二区三区| 亚洲制服丝袜第一页| 99久久人妻精品免费二区| 国产精品太粉嫩高中在线观看 | 国产精品无码久久久久AV| 四虎精品黑人视频| 美女高潮全身流白浆福利区| 在线精品自拍| 午夜视频在线观看区二区| 青青操国产| 亚洲性日韩精品一区二区| 国产靠逼视频| 日韩av手机在线| 日韩欧美国产另类| 亚洲清纯自偷自拍另类专区| 亚洲黄色网站视频| 丰满人妻久久中文字幕| 欧美天堂在线| 亚洲第一区欧美国产综合| 亚洲品质国产精品无码| 国产视频你懂得| 国产欧美视频综合二区| 国产毛片片精品天天看视频| 国产成人免费手机在线观看视频| 91麻豆国产视频| 在线观看欧美精品二区| 日韩最新中文字幕| 全色黄大色大片免费久久老太| 国产成人精品三级| 久热99这里只有精品视频6| 精品一区二区三区水蜜桃| 日韩精品一区二区三区大桥未久| 26uuu国产精品视频| 青青草原偷拍视频| 国产精品美女自慰喷水| 99热精品久久| 色婷婷国产精品视频| 亚洲一级毛片在线播放| 真实国产精品vr专区| 人妻中文久热无码丝袜| 国产无码精品在线播放| 日韩av无码DVD| 国产在线自在拍91精品黑人| 亚洲中文精品久久久久久不卡| 5388国产亚洲欧美在线观看| 精品国产成人av免费| 四虎国产永久在线观看| 中文字幕资源站| 久久免费视频播放| 白浆视频在线观看| 亚州AV秘 一区二区三区| 伊人久久影视| 亚洲欧洲日产国码无码av喷潮| 久久精品亚洲中文字幕乱码| 国产靠逼视频| 亚洲va在线观看| 亚洲第一区欧美国产综合| 99久久婷婷国产综合精| 日韩欧美国产区| 自拍偷拍欧美| 久久精品人妻中文系列| 精品一区二区无码av| 国产一区二区影院| 亚洲中文在线视频| 欧美日韩在线成人| 日韩无码黄色网站| 午夜视频免费一区二区在线看| 国产精品.com| 日韩精品免费一线在线观看| 97国内精品久久久久不卡| 久久久精品无码一二三区| 日本成人一区| 国产精品美女免费视频大全| 国产好痛疼轻点好爽的视频| 国产香蕉国产精品偷在线观看| 精品伊人久久大香线蕉网站| 国产精品自在在线午夜| 狼友视频一区二区三区| 四虎成人精品|