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

?

一種交錯并行高速TPC譯碼器的設計*

2017-07-18 12:10熊玉平
電訊技術 2017年7期
關鍵詞:譯碼器碼字譯碼

熊玉平

(中國船舶工業(yè)系統(tǒng)工程研究院,北京 100036)

?

一種交錯并行高速TPC譯碼器的設計*

熊玉平**

(中國船舶工業(yè)系統(tǒng)工程研究院,北京 100036)

Turbo乘積碼(TPC)作為一種高碼率編碼在帶限通信系統(tǒng)中有著廣泛的應用,但是大多數(shù)TPC譯碼器存在結構復雜、資源消耗高、處理時延大的問題。為此,提出了一種交錯并行流水線處理結構的譯碼器,并通過譯碼過程中測試序列的合理排序以及使用相關運算代替最小歐式距離計算等算法優(yōu)化設計,簡化了譯碼器的實現(xiàn)復雜度,現(xiàn)場可編程門陣列(FPGA)資源消耗相比傳統(tǒng)設計降低了35%,提高了譯碼速度。在Xilinx公司的FPGA芯片XC5VSX95T上完成了譯碼器的硬件實現(xiàn),達到80 Mbit/s的譯碼速度,通過增加子譯碼器個數(shù)還可進一步提升譯碼吞吐率。

Turbo乘積碼(TPC);交錯并行結構;測試序列;相關運算

1 引 言

Turbo乘積碼(Turbo Product Code,TPC)是一種采用Turbo迭代譯碼方式的乘積碼,在高碼率(碼率大于0.7)應用中,比Turbo碼、卷積Turbo碼(Convolutional Turbo Code,CTC)等更有效,尤其在帶限系統(tǒng)中,TPC碼可以在較高的頻帶利用率下保證優(yōu)異的誤碼性能[1-2]。同時,它在碼率、硬件復雜度和譯碼性能方面也有較大的靈活性。目前,TPC碼已廣泛應用于數(shù)據(jù)傳輸系統(tǒng)中。

隨著數(shù)據(jù)傳輸通信中高速需求的增加,TPC譯碼器的吞吐率成為制約其應用的一個關鍵瓶頸。為此,通常的高速TPC譯碼器是以簡化或者改進算法犧牲部分性能為代價來提高速率,并且資源占用較多,結構不夠靈活[3]。

針對這一問題,本文提出了一種新的交錯并行譯碼器結構,在不損失性能的情況下極大地提高了譯碼速率,并且可以增加子譯碼器個數(shù),能靈活地實現(xiàn)資源與速率的互換,為譯碼速率的進一步提升提供了途徑。

2 TPC編碼原理

TPC碼由兩個或多個簡單的線性分組碼串行級聯(lián)構成,因此碼率非常靈活。常用的子碼有漢明碼、擴展?jié)h明碼、BCH碼、RS碼等。下面以應用最多的二維乘積碼為例來說明TPC碼的編碼過程。

如圖1所示,首先將信息位組成一個k2×k1的矩陣,然后用分組碼C1(n1,k1)對k2行信息位編碼,得到一個包含行校驗的k2×n1的矩陣;再用分組碼C2(n2,k2)對n1列數(shù)據(jù)編碼,得到最終的包含列校驗和校驗位的校驗的n2×n1的碼字矩陣。這里只是以先行后列的編碼順序介紹編碼過程,先列后行的編碼方式得到的碼字矩陣是完全相同的。通常情況下,為降低復雜度,在實現(xiàn)過程中子碼C1和C2會選擇相同的分組碼。

圖1 TPC編碼過程Fig.1 TPC encoding process

3 TPC譯碼算法

TPC碼由線性分組碼級聯(lián)構成,因此TPC碼的譯碼過程也就是線性分組碼的譯碼?;贑hase算法的軟輸入軟輸出迭代譯碼算法具有復雜度低、性能好的優(yōu)點,能夠很好地應用于TPC碼的譯碼[1,4]。其具體譯碼過程如下:

(1)找到接收序列y中可信度最低的p個比特位。

(2)根據(jù)p個不可靠位產生2p個錯誤圖樣ti=(t1,t2,…,tn),1≤i≤2p。即p個不可靠位上進行“0”“1”全排列,其他位置為0。

(3)根據(jù)錯誤圖樣得到2p個測試序列:zi=z0⊕ti,1≤i≤2p,其中z0是接收信號y的硬判決序列。

(4)對測試序列zi進行代數(shù)譯碼,得到候選碼字集合Ω。

(5)將集合Ω中的碼字做{0,1}到{-1,+1}的映射,然后尋找與接收序列y具有最小歐氏距離的碼字作為譯碼輸出。

為了進行迭代譯碼,我們還需要知道判決碼字中每個碼元的可信度,即計算碼元的軟信息。對于判決碼字d中的每個碼元di,要計算其軟信息必須尋找與其對應的競爭碼字,即除d以外與接收序列y的歐氏距離最小的碼字c,且di≠ci。

當競爭碼字存在時,碼元di的外信息為

(1)

當競爭碼字不存在時,

wi=β×di。

(2)

式中:β稱為可靠因子,通常由實驗確定。

TPC碼的譯碼就是通過上述譯碼流程,經過行列譯碼兩個階段的循環(huán)迭代,最終得到譯碼結果。

4 TPC譯碼器的FPGA設計

4.1 傳統(tǒng)譯碼器的設計

TPC碼的譯碼器結構設計是高速譯碼設計的難點。串行迭代譯碼在譯碼過程中先進行行譯碼,然后再進行列譯碼,同一時刻只有一個子譯碼器在工作,當行列子碼相同時,可以通過行列子譯碼器的復用節(jié)省資源,但譯碼時延較大,很難實現(xiàn)高速譯碼[5]。傳統(tǒng)的高速譯碼器設計如圖2所示,通過簡單的多路譯碼器復用,同時對多路接收信號譯碼,用資源來換速度,要想提高吞吐率,資源的消耗會大大增加,并且行列子碼不相同時會有部分譯碼模塊處于空閑狀態(tài)。Argon等[6]提出了一種并行迭代譯碼結構,在進行譯碼時行列子譯碼器同時工作,逐行和逐列譯碼過程中相互傳遞各自更新的外信息,因此不管行列子碼是否相同,都需要兩個子譯碼器。這種譯碼結構,每次行列譯碼時利用的外信息會減少,因此性能有所損失,但速率可以提高1倍。

圖2 傳統(tǒng)高速TPC譯碼器結構Fig.2 Traditional high-speed TPC decoder structure

4.2 交錯并行譯碼器的設計

4.2.1 交錯并行譯碼結構

為了提高譯碼速率的同時不損失譯碼性能,本文設計了一種交錯并行迭代譯碼結構,充分利用行列子譯碼器的空閑時間進行兩幀數(shù)據(jù)的譯碼,可以達到與并行迭代譯碼相同的速率,而性能與串行迭代譯碼相同,其結構如圖3所示。

圖3 交錯并行譯碼結構Fig.3 Interleaved parallel TPC decoder structure

在交錯并行譯碼結構中,接收到的信道軟信息首先存儲在信息存儲RAM中,當存儲完一個碼字后,讀取信道信息Y和譯碼外信息W(初始為0),經過信息交換及計算模塊得到譯碼所需的軟信息,首先送入行譯碼模塊進行行譯碼,此時新到的接收序列存入另一塊信息存儲RAM中;上一個碼字的行譯碼結束之后進入列譯碼階段,而新到的碼字開始進行行譯碼,之后由信息交換及計算模塊控制兩個碼字在行譯碼和列譯碼模塊中交替計算,同時對兩個碼字進行譯碼;最后由輸出緩存模塊對譯碼結果進行緩存并去除校驗位輸出。

交錯并行譯碼與串行譯碼的譯碼流程相同,因此性能上不會有損失,但能夠同時對兩幀數(shù)據(jù)進行譯碼,因此總的吞吐量相當于串行譯碼的2倍,與并行譯碼相同。

4.2.2 譯碼量化

譯碼過程中處理的是接收到的軟信息,是浮點數(shù),因此在FPGA實現(xiàn)時要考慮數(shù)據(jù)的量化。圖4給出了4次迭代譯碼時不同量化位寬的譯碼性能。

圖4 不同量化位寬的譯碼性能Fig.4 Decoding performance of different quantization word length

從圖中可以看到,在誤比特率為10-5時,采用4 bit量化會帶來大概0.3 dB的性能損失,而5 bit量化與浮點情況下性能非常接近,因此在譯碼數(shù)據(jù)處理中將使用5 bit量化。

4.2.3 高速子譯碼模塊設計

要實現(xiàn)高速譯碼,必須在最少的時鐘周期內完成子碼的一次行(或列)譯碼,并且多行(或列)的譯碼要形成流水,以減少完整的行(或列)譯碼所用的時間。為了減小計算量,這里提出了使用相關運算來代替歐氏距離計算的新方法,把尋找歐氏距離的最小值轉化為計算內積的最大值,譯碼運算量可顯著減少。下面以行譯碼器為例,說明子譯碼器的工作流程,如圖5所示。

圖5 子譯碼模塊算法流程Fig.5 Algorithm flow for sub-decoder module

本文采用的子碼是(32,26)擴展?jié)h明碼,因此每32個軟信息進行一次譯碼。圖5所示的譯碼流程中虛線框將譯碼分為3個階段。在譯碼的第一階段,求最不可靠位是難點。如果采用傳統(tǒng)的排序方法來求p個最不可靠位,則需要經過p輪比較運算,第i輪需要做32-i次比較,時延很大。這里我們采用圖6所示的方法,以p=4為例來說明求最不可靠位的流程。

圖6 最不可靠位計算流程Fig.6 Computation flow for most unreliable bits

圖6所示的算法設計了4個比較器和4個緩存器結構,軟輸入數(shù)據(jù)串行進入,每個時刻都可以得到當前時刻可靠性最小的4個值,32個時鐘周期后就可以求得4個最不可靠的比特位。

在第一階段的第二步,要使用前面得到的最不可靠位來構造測試序列。如果按照常規(guī)的方法來構造測試序列,測試序列沒有規(guī)律,每個測試序列在求相關值和伴隨式時都需要單獨運算,一個測試序列的計算需要32個時鐘周期,2p個測試序列就需要32×2p個時鐘周期,時延大,也不利于流水操作的實現(xiàn)。這里我們對最不可靠位進行格雷編碼[7],這樣相鄰的兩個測試序列只有一個比特不同,其相關值和伴隨式通過式(3)和(4)計算得到:

vi+1=vi±xk,

(3)

si+1=si⊕H(k)。

(4)

式中:k表示相鄰測試序列不同的比特位置,x是輸入軟信息,H為校驗矩陣。這樣,2p個測試序列的計算只需要2p個時鐘周期。

第一個階段求得的測試序列串行進入代數(shù)譯碼模塊,依次對錯誤位置進行糾正并更新全校驗位就可以得到候選碼字及其相關度量。然后,再依次送入第三個階段,采用與求最不可靠位相同的方法得到判決碼字和競爭碼字,最后進行外信息計算即完成一行子碼的譯碼。從整個譯碼流程可以看到當前階段數(shù)據(jù)的處理并不影響后續(xù)數(shù)據(jù)的處理,3個階段可以實現(xiàn)流水操作,能夠對數(shù)據(jù)進行連續(xù)處理,沒有等待時間,因此可以大大提高譯碼速率。

5 TPC譯碼器的硬件實現(xiàn)

本文以擴展?jié)h明碼為子碼,設計了(32,26)×(32,26)的TPC譯碼器,并在Xilinx的XC5VSX95T芯片上對其進行實現(xiàn),譯碼采用5 bit量化,使用基于Chase算法的軟輸入軟輸出譯碼算法,應用4次迭代,主時鐘為160 MHz,則單路譯碼器的吞吐率為80 Mbit/s。

表1給出了譯碼器的性能測試結果,與圖4給出的仿真結果一致,性能沒有損失。

表1 譯碼器誤比特性能Tab.1 Error performance of decoder

表2給出了本文設計的譯碼器結構與文獻[7]中并行譯碼器結構在相似吞吐率下的資源對比情況。從對比結果可以看出,本文設計的譯碼器具有明顯的優(yōu)勢,在相似吞吐率下資源消耗可降低35%左右。

表2 譯碼器資源占用表Tab.2 Resource consumption of decoder

6 結 論

隨著通信技術的發(fā)展和通信服務的多樣化,人們對高速無線數(shù)據(jù)傳輸?shù)男枨蟛粩嘣黾?,TPC碼易于并行處理的結構特點決定了其在高速寬帶數(shù)據(jù)傳輸中的重要意義。本文介紹了TPC編譯碼的基本原理,以(32,26)×(32,26)TPC碼為例設計了可以實現(xiàn)高速處理的譯碼器結構。譯碼器采用交錯并行流水線結構,并且譯碼流程也進行了優(yōu)化,在不損失性能的情況下可以將譯碼速率提高1倍,在高速需求下還可以利用TPC碼的并行結構,通過增加子譯碼器個數(shù)進一步提高譯碼吞吐率,擴展性好。目前,該譯碼器已經在實際項目中應用,并且性能優(yōu)異。

[1] ARGON C, MCLAUGHLIN S W. An efficient chase decoder for Turbo product codes[J]. IEEE Transactions on Communications, 2004, 52(6):896-898.

[2] SUN W C, CHEN Y M, WENG C Y, et al. An efficient implementation of the distance-based decoding for block Turbo codes[C]//Proceedings of 2013 IEEE 8th International ICST Conference on Communications and Networking in China.Guilin:IEEE, 2013:675-679.

[3] 張飛. 高速Turbo乘積碼譯碼器設計與實現(xiàn)[D]. 北京:北京理工大學, 2015. ZHANG Fei. Design and implementation of a high-speed Turbo product code decoder[D]. Beijing: Beijing Institute of Technology, 2015. (in Chinese)

[4] LU P, LU E, CHEN T. An efficient hybrid decoder for block Turbo codes[J]. IEEE Communications Letters, 2014, 18(12):2077-2080.

[5] 陸連偉,馮占斌. Turbo乘積碼譯碼器的并行實現(xiàn)方法[J]. 通信技術, 2014,47(12):1371-1374. LU Lianwei, FENG Zhanbin. A parallel implementation of TPC decoder[J]. Communications Technology, 2014, 47(12):1371-1374. (in Chinese)

[6] ARGON C, MCLAUGHLIN S. A parallel decoder for low latency decoding of Turbo product codes[J]. IEEE Communications Letters,2002,6(2):70-72.

[7] 李超. 基于FPGA的TPC編譯碼器設計與實現(xiàn)[J]. 電子科技, 2015,28(5):121-123. LI Chao. Design and realization of TPC coding based on FPGA[J]. Electronic Science & Technology, 2015,28(5):121-123. (in Chinese)

Design of a High-speed Interleaved Parallel TPC Decoder

XIONG Yuping

(Systems Engineering Research Institute of China State Shipbuilding Corporation(CSSC),Beijing 100036,China)

Turbo product code (TPC) is applied extensively in bandlimited communication systems as a high-rate code. But most TPC decoders have the problems of complex structure, high resource consumption and large processing latency.For these problems,this paper proposes an interleaved parallel decoder adopting pipelined architecture.By using the reordered test sequences and optimized algorithm such as replacement of the calculation of Euclidean distance by correlation operation, the complexity is reduced, processing latency is shortened and resource consumption is reduced by 35%. Based on the proposed structures, a hardware implementation of TPC decoder on Xilinx XC5VSX95T FPGA is presented. The results show that the proposed decoder architecture can achieve a decoding throughput of 80 Mbit/s, and the decoding throughput can be improved further by increasing the number of sub-decoders.Key words:Turbo product code(TPC);interleaved parallel architecture;test sequence;correlation operation

10.3969/j.issn.1001-893x.2017.07.017

熊玉平.一種交錯并行高速TPC譯碼器的設計[J].電訊技術,2017,57(7):830-833.[XIONG Yuping.Design of a high-speed interleaved parallel TPC decoder[J].Telecommunication Engineering,2017,57(7):830-833.]

2017-03-20;

2017-06-15 Received date:2017-03-20;Revised date:2017-06-15

TN919.3

A

1001-893X(2017)07-0830-04

熊玉平(1963—),女,湖南人,碩士,高級工程師,主要研究方向為飛行器制造、航空保障等。

Email:595090920@qq.com

**通信作者:595090920@qq.com Corresponding author:595090920@qq.com

猜你喜歡
譯碼器碼字譯碼
基于校正搜索寬度的極化碼譯碼算法研究
糾錯模式可配置的NAND Flash BCH譯碼器設計
放 下
數(shù)據(jù)鏈系統(tǒng)中軟擴頻碼的優(yōu)選及應用
放下
跟蹤導練(一)5
從霍爾的編碼譯碼理論看彈幕的譯碼
LDPC 碼改進高速譯碼算法
HINOC2.0系統(tǒng)中高速LDPC譯碼器結構設計
電力線通信中LDPC譯碼器的優(yōu)化設計與實現(xiàn)