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

?

基于FPGA的Turbo碼交織器的設計與實現(xiàn)

2012-01-31 05:21田克純常雪景
電視技術 2012年9期
關鍵詞:行列交織圖樣

田克純,常雪景

(桂林電子科技大學 信息與通信學院,廣西 桂林541004)

在信息傳輸中,采用信道編碼的方法可對信道差錯進行有效控制。近幾年來,Turbo碼一直是信道編碼的熱點,成為3G中采用的主流信道編碼方式,而交織器的采用可以使Turbo碼實現(xiàn)隨機性編碼,獲得更加優(yōu)異的性能。

因為Turbo碼的性能受交織器設計好壞的影響很大,所以對于Turbo碼而言,交織器的設計至關重要。交織[1]是以一一映射的方式來進行隨機化原始序列的,所以這就要求在設計交織器的時候,對原始數(shù)據(jù)的排列順序最大程度地進行置亂,從而把那些在置換前相距較近的數(shù)據(jù)在經(jīng)過置換之后相距間隔變長,這樣就可以保證輸出碼元序列的準確性,同時有利于在后續(xù)的譯碼過程中糾正這些錯誤。

1 交織器的分類介紹

使用具有一一映射關系的確定性方法對二進制和非二進制順序進行重新編排的過程,即為通常所說的交織,而把序列順序重新恢復的過程稱為解交織。交織和解交織是對應的互逆過程。實現(xiàn)序列交織和解交織所采用的器件分別被稱為交織器和解交織器。

假設,輸入交織器I的一組序列是[2]

式中:ui∈{1,0},i=1,2,…,N。

交織映射輸出序列記為

式中:uj∈{0,1},j=1,2,…,N。

若定義集合S={1,2,…,N},那么交織過程可理解為一一映射索引函數(shù)

目前,交織器主要有隨機交織器、規(guī)則交織器、偽隨機交織器這3種常見類型[3]。其中,隨機交織器的性能在理論上是最好的。然而,在硬件實現(xiàn)上不僅復雜度高,還極有可能產(chǎn)生不了交織,如隨機交織之后所產(chǎn)生的序列與原序列相同,也就是說在交織前輸入的數(shù)據(jù)順序與交織后的數(shù)據(jù)順序一樣,沒有發(fā)生變化。規(guī)則交織器在硬件上實現(xiàn)相對于另外兩種交織器是最容易的,但是性能卻是三者之中相對最差的,所以在對性能要求較高的情況下應避免采用。在參數(shù)性能上偽隨機交織器比隨機交織器稍差,卻優(yōu)于規(guī)則交織器,同時在硬件實現(xiàn)時,偽隨機交織器與規(guī)則交織器相比較為復雜,卻比隨機交織器易于實現(xiàn)。綜上所述,在工程應用中,應根據(jù)具體情況合理地選擇滿足性能及硬件指標要求的交織器類型。以下介紹幾類常見的交織器。

1.1 行列交織器

在信道編碼中,最初應用的交織器便是行列交織器[4]。它是規(guī)則交織器中最簡單也是最常見的一種,交織前后的序列位置間的映射距離是固定的。

雖然行列交織器極易在硬件上實現(xiàn),但在優(yōu)化距離特性和改善相關性這兩個方面卻存在極大的不足,不利于提高Turbo碼的性能。

例如,一個3×4的行列交織器的交織過程可闡述如下:

1)按行順序讀入數(shù)據(jù),行列矩陣如圖1所示。

圖1 行列矩陣

2)按列順序讀出數(shù)據(jù)。

數(shù)據(jù)的寫入順序為{0,1,2,3,4,5,6,7,8,9,10,11}。讀出順序為{0,4,8,1,5,9,2,6,10,3,7,11}。

1.2 隨機交織器

由交織映射隨機生成的交織器,稱為隨機交織器。根據(jù)隨機的方式打亂輸入序列,如果是在數(shù)據(jù)幀較長的情況下,就會取得很好的效果,但是不足之處是在編譯過程中所產(chǎn)生的系統(tǒng)時延相對較大。隨機數(shù)的產(chǎn)生形式?jīng)Q定隨機交織器的隨機性,如果一個隨機交織器的長度為N,那么就總共有N!種交織形式,N越大,則交織形式也就越多,隨機交織器的隨機性也就越復雜,這樣不僅增加了硬件實現(xiàn)的費用,而且還提高了在工程實現(xiàn)時的復雜度。

1.3 對稱交織器

所謂對稱交織器,是指滿足若I→J,則J→I的交織器I和J均屬于映射元素集合。

對稱交織器的交織過程和解交織過程是完全相同的,因此如果將此類交織器對原始數(shù)據(jù)序列應用偶數(shù)次,將會得到與原始序列完全相同的輸出序列。

在對Turbo碼進行編譯碼時,交織器和解交織器互相對應出現(xiàn),也就是要求設計對應的硬件設備以及交織映射表,如果所設計的交織器是對稱的,那么交織器和解交織器就可以通用,也就是說只采用一種設備即可,從而降低系統(tǒng)實現(xiàn)的復雜度,避免資源浪費,同時Turbo碼的性能也會因此而得到極大的改善。

1.4 二次算數(shù)交織器[5]

O.Y.Takeshita給出了一個基于二次同余映射的交織器設計方法。

這個交織器利用以N為周期的二次余式計算索引映射函數(shù)來生成,公式為

式中:0≤m<N;k為奇常數(shù);N為2的整數(shù)次冪。

周期為N的索引映射函數(shù)描述了映射關系為cm→cm+1,根據(jù)映射關系可以生成交織映射矢量。

假設當N=8,k=1時,得到

其含義是交織后的序列u'中的指標0(輸入比特u'0)被映射到原始序列u中的指標1(即u'0=u1),u'中的指標1被映射到u中的指標3(即u'1=u3),等等,所產(chǎn)生的交織圖樣即為

通過使用規(guī)則的數(shù)學方法容易地生成二次算術交織器,但是在交織后,其比特之間的距離特性卻不十分明顯。這些二次交織器與隨機選取的交織器的統(tǒng)計特性具有相似性,同時相比較隨機交織器而言,其實現(xiàn)的復雜度較低,也就更易于實現(xiàn),所以二次算術交織器在Turbo碼中得到了廣泛的應用,而且還可以通過改變k的值從而獲得其他更好的交織圖樣。即使是在N不等于2的整數(shù)次冪的情況下,也能通過修改以上算法從而達到產(chǎn)生具有良好統(tǒng)計特性的類似置換的目的。

2 兩類交織器的具體設計方案

本文中所設計的交織器長度為32位。

2.1 行列交織器

采用8行4列的行列交織器,根據(jù)行列交織器的設計準則可知交織圖樣為

2.2 基于二次同余的二次算數(shù)對稱交織器

此類交織器同時具有隨機交織器和對稱交織器的優(yōu)點。將式(7)所得的交織圖樣周期左(右)移N/2位,就可以得到所設計的交織器。交織圖樣如式(9)所示

由于本文中所設計的交織器長度為32 bit,可在Matlab命令窗口中直接輸入以下程序:

k=3;N=32;

for i=1:1:31

x(i)=i;

y(i)=mod(k*x(i)*(x(i)+1)/2,N);

end

即可得到對應的交織映射矢量

由此交織映射矢量可得出交織圖樣為

將此交織圖樣向左移動16位,可得到所設計交織器的交織圖樣為

3 總體方案設計

3.1 系統(tǒng)電路設計

為了可以流水線處理輸入數(shù)據(jù),即第一幀數(shù)據(jù)寫入完成之后,讀出第一幀數(shù)據(jù)的同時開始寫入第二幀數(shù)據(jù),這樣第一幀數(shù)據(jù)讀出完成時,第二幀數(shù)據(jù)也寫入完畢,接著同時進行第二幀數(shù)據(jù)的讀出和第三幀數(shù)據(jù)的寫入,這樣依次進行下去,最終完成所有數(shù)據(jù)的寫入和讀出。

所設計的系統(tǒng)電路頂層原理如圖2所示。

圖2 頂層原理圖(軟件截圖)

3.2 工作過程及仿真測試

詳細工作過程是count產(chǎn)生順序序列,作為ROM的輸入信號,讀取ROM中的交織表。count模塊輸出經(jīng)reg_g模塊延時后作為寫地址ROM模塊的輸出作為讀地址,同時送到兩個switch模塊中,通過sw_wr信號控制交替輸出讀寫地址,并送到后面的兩個RAM模塊中,兩個RAM模塊的輸出通過switch模塊合并輸出。

交織器的長度為32 bit,仿真時輸入兩幀長的二進制數(shù)據(jù),第一幀輸入數(shù)據(jù)依次為8個0,8個1,8個0,8個1,第二幀輸入數(shù)據(jù)依次為為16個1,16個0。

3.2.1 行列交織器的仿真波形

第一幀輸出數(shù)據(jù)應為

Data_out=[00110011001100110011001100110011]

圖3 行列交織器第一幀數(shù)據(jù)仿真波形(截圖)

第二幀輸出數(shù)據(jù)應為

Data_out=[11110000111100001111000011110000]

實際仿真所得波形如圖4所示。

圖4 行列交織器第二幀數(shù)據(jù)仿真波形(截圖)

3.2.2 基于二次同余的二次算數(shù)對稱交織器的仿真波形

第一幀輸出數(shù)據(jù)應為

Data_out=[01101001100101100111101010000101]

實際仿真所得波形如圖5所示。

圖5 二次算術對稱交織器第一幀數(shù)據(jù)仿真波形(截圖)

第二幀數(shù)據(jù)的輸出應為

Data_out=[10001000100111101001111100011010]

實際仿真所得波形如圖6所示。

圖6 二次算術對稱交織器第二幀數(shù)據(jù)仿真波形(截圖)

由以上數(shù)據(jù)及波形可看出,系統(tǒng)電路仿真輸出的數(shù)據(jù)與理論數(shù)據(jù)相符。

4 總結

本文具體討論了Turbo碼中的交織技術,利用Quartus II開發(fā)平臺,使用了Verilog語言設計與編程,使用Modelsim對所設計的交織器電路進行仿真并給出了仿真波形,驗證了其邏輯功能的正確性。通過對兩種交織器的仿真,可知此交織器電路的設計可通用,只需修改ROM模塊中存放的交織圖樣,確定交織深度,即可簡單變?yōu)槠渌N類的交織器。交織器的選擇對于Turbo碼的性能有著直接影響,在具體的條件下選擇合適的交織器十分重要。

[1]BERROU C,GLAVIEUX A,THAITIMASJSHIMA P.Near shannon limit error-correcting coding and decoding:Turbo Codes(1)[C]//Proc.ICC 1993.Geneva,Switztland:IEEE Press,1993:1064-1070.

[2]劉東華.Turbo碼原理與應用技術[M].北京:電子工業(yè)出版社,2004.

[3]李海清.Turbo交織器的設計及相關技術研究[D].哈爾濱:哈爾濱工程大學,2008.

[4]田曉燕.Turbo碼編譯碼方法的研究與實現(xiàn)[D].河北:河北大學,2005.

[5]SHU Lin,DANIEL J C.Error control coding[M].2nd ed.晏堅,何元智,潘亞漢,等,譯.北京:機械工業(yè)出版社,2007.

猜你喜歡
行列交織圖樣
“新”與“舊”的交織 碰撞出的魅力“夜上?!?/a>
用“行列排除法”解四宮數(shù)獨(2)
用“行列排除法”解四宮數(shù)獨(1)
基于AutoCAD二次開發(fā)實現(xiàn)按序排圖
交織冷暖
單層小波分解下圖像行列壓縮感知選擇算法
一種改進的塊交織方法及FPGA實現(xiàn)
基于DWG DirectX的電子產(chǎn)品圖樣結構關系輕量化構建方法研究
越南電站EPC項目設計圖樣審批管理
奧運夢與中國夢交織延展
泾川县| 泾阳县| 宁都县| 常宁市| 大城县| 若羌县| 登封市| 桦南县| 陆良县| 连江县| 晋宁县| 临西县| 永新县| 冷水江市| 库尔勒市| 台州市| 罗山县| 云安县| 马龙县| 谷城县| 商水县| 河南省| 京山县| 商河县| 闸北区| 东辽县| 陇南市| 大关县| 郯城县| 旅游| 竹山县| 太原市| 芦溪县| 洛川县| 焉耆| 峨眉山市| 当阳市| 瓮安县| 海宁市| 九台市| 方山县|