一種用于LTE系統Turbo碼內交織的并行實現方法及裝置制造方法
【專利摘要】本發明提出并公開了一種通過查表以及簡單的移位及算術運算操作,并行實現Turbo碼內交織的方法及裝置,將數據按列優先的方式存入輸入緩沖區中,每次從輸入緩沖區中按行地址索引讀入一行數據,再根據列地址索引進行交織操作,實現Turbo碼內交織。通過分析LTE物理層協議36.212中所規定的188種不同碼塊長度,總結出以下規律:行地址索引在不同碼塊長度的情況下前后均存在等差特性,同時在計算列地址索引時,每行數據的列地址索引均與首行相差偏移量△和差值N。本發明能夠明顯減少Turbo碼內交織器的計算時間,實現較快地Turbo編譯碼,提高無線通信系統的數據吞吐率,可廣泛應用于4G基站以及移動設備中。
【專利說明】—種用于LTE系統Turbo碼內交織的并行實現方法及裝置
【技術領域】
[0001]本發明涉及通信【技術領域】,特別是涉及一種用于LTE系統Turbo編譯碼內交織的并行實現方法及裝置。
【背景技術】
[0002]隨著科技的日益發展,無線通信技術得到了廣泛應用。但是用戶數據在經過空中接口傳輸時,會受到各種噪聲以及信號的干擾,致使信號出錯或者丟失。為了提高信號傳輸質量,增加無線通信系統的可靠性,通常需要通信系統具有一定的檢錯糾錯的能力。
[0003]在長期演進(Long Term Evolution, LTE)系統中,廣泛采用的一種糾錯碼就是Turbo碼。Turbo碼誕生于1993年,由Berrou等人在卷積碼和級聯碼的基礎上首次提出,其特征是編譯碼復雜度高,時延大,但誤碼性能優異,適合于大數據量的長碼塊及對時延要求不高的數據傳輸。它能很好地滿足香農信道編碼理論中的隨機性條件,并且采用了迭代譯碼的方式來獲得編碼增益,因此能夠獲得逼近香農限的極限性能。
[0004]同時,為了改善移動通信的傳輸特性,降低信號衰落帶來的影響,均會采用交織編碼技術。交織編碼技術就是將造成數字信號傳輸的突發性差錯,利用交織編碼技術進行離散化處理并糾正該差錯。圖1所示即為3GPPLTE物理層協議36.212規定的Turbo編碼器的結構圖,由兩個分量編碼器和一個內交織器組成,其中內交織器在Turbo碼中發揮著關鍵作用,直接影響Turbo碼的譯碼性能。LTE采用的內交織器,是二次置換多項式(QuadraticPolynomial Permutation, QPP)交織器,具有“最大無爭用”特性,其表達式為
[0005]Π (i) = (fi.i+f2.i2)modK
[0006]其中,i=0,1,…,K-10 K為碼塊長度,f\、f2的值與碼塊大小K值有關,具體參數由LTE物理層協議36.212中5.1.3.2.3表5.1.3-3所定義。
[0007]交織器的實現方式多種多樣,最直接的方法就是按照公式依次計算,由于包括乘法操作和取模運算,這種計算方式效率非常低。現有的實現Turbo碼內交織器的方式大體上可歸類為根據遞推公式計算,省去乘法操作,提高處理速度。如申請號為201210177005.2、發明名稱為“一種用于LTE的并行Turbo碼內交織器的實現”的中國發明專利公開說明書中提出了一種通過遞推公式得到Π (i+8)與Π (i)之間的迭代關系,由當前的8種狀態獲得后續8種狀態,實現一個時鐘周期完成8個交織地址的輸出,其8個交織地址分別讀取8塊內容相同的RAM并由主控模塊處理得到8比特數據輸出。又如申請號為201010293964.1、發明名稱為“Turbo碼并行交織器及并行交織方法”的中國發明專利公開說明書中提出了一種按列并行讀取數據以及對數據進行行交叉的并行實現Turbo碼內交織的方法,通過正向和逆向遞推基本交織地址Π (i),并對其設定的L求模和求商分別獲得列地址和首行的行地址,再根據臨行之間行地址的遞推關系,分別由前向和后向遞推得到所有行的行地址,其所述控制器通過并行地讀取一列數據并將讀取的數據按照交叉單元產生的各行的行地址進行行交叉,實現數據的行內交織 和行間交織,完成整個交織過程。
[0008]在實際工作中,發明人發現現有Turbo碼內交織器的實現方式均存在相應的問題:如所述“一種用于LTE的并行Turbo碼內交織器的實現”,其效率盡管可以提高8倍,但對于LTE物理層協議36.212規定的188種交織器均采用8位并行實現,顯然有其局限性,且生成交織地址的過程依然是串行執行;而如所述“Turbo碼并行交織器及并行交織方法”,其所提出的二次置換思想值得肯定,但其每次置換所需的行列地址均是由遞推公式依次計算得來,其效率提升依然有局限性。
【發明內容】
[0009](一 )要解決的技術問題
[0010]為了有效減少LTE系統中Turbo碼內交織器的實現時間,提高Turbo碼編碼器和譯碼器的效率,提升現有4G基站以及用戶終端的數據吞吐率。
[0011](二)技術方案
[0012]為解決上述技術問題,本發明提出一種并行實現Turbo碼內交織的方法,將數據按列優先的方式存入一個輸入緩沖區中,然后進行多次置換操作,所述每次置換操作是從該輸入緩沖區中按行地址索引讀入一行數據,再根據列地址索引進行交織操作,實現Turbo碼內交織。
[0013]根據本發明的一種【具體實施方式】,所述輸入緩沖區的行數R和列數C根據以下規則進行計算:
【權利要求】
1.一種并行實現Turbo碼內交織的方法,其特征在于,將數據按列優先的方式存入一個輸入緩沖區中,然后進行多次置換操作,所述每次置換操作是從該輸入緩沖區中按行地址索引讀入一行數據,再根據列地址索引進行交織操作,實現Turbo碼內交織。
2.根據權利要求1所述的并行實現Turbo碼內交織的方法,其特征在于,所述輸入緩沖區的行數R和列數C根據以下規則進行計算:
3.根據權利要求1所述的并行實現Turbo碼內交織的方法,其特征在于,將不同碼塊長度K對應的列置換時所需的列地址索引存放在一張表格中,在進行第一次置換操作時,所述列地址索引是根據碼塊長度K并通過查表得到。
4.根據權利要求3所述的并行實現Turbo碼內交織的方法,其特征在于,所述列地址索引是由首行的列地址索引根據偏移量Λ和差值N計算得到。
5.根據權利要求3所述的并行實現Turbo碼內交織的方法,其特征在于,得到第一行的列地址索引TO以及每行相對于第一行的偏移量Λ和差值N后,根據偏移量Λ對TO進行循環移位操作,并根據差值N完成加法操作,得到相應行的列地址索引。
6.根據權利要求4所述的并行實現Turbo碼內交織的方法,其特征在于,列地址索引是根據不同碼塊長度K統計得到的。
7.根據權利要求4或5所述的并行實現Turbo碼內交織的方法,其特征在于,統計得到的針對與不同碼塊長度K的偏移量和差值。
8.根據權利要求1所述的并行實現Turbo碼內交織的方法,其特征在于,所述Turbo碼內交織的實現方式的并行度由數據存入輸入緩沖區的列數C和交織單元的位寬L決定,其并行度P的計算公式為P=C / ceiKC / L), ceil O表示對數據進行向上取整操作。
9.一種并行實現Turbo碼內交織的裝置,其特征在于,包括行列地址生成單元、全交織單元、輸入緩沖區, 所述輸入緩沖區存放需要做交織運算的輸入信息流; 所述行列地址生成單元完成兩部分工作:其一,將不同碼塊長度K對應的列置換時所需的列地址索引存放在一張表格中,在進行第一次置換操作時,所述列地址索引是根據碼塊長度K并通過查表得到;其二,計算每行輸入緩沖區中待譯碼的數據的列地址索引,完成第二次置換所需的交織索引; 所述全交織單元根據所述行列地址生成單元傳遞的列地址索引,對每一行數據進行全交織運算。
10.如權利要求9所述的并行實現Turbo碼內交織的裝置,其特征在于,還包括輸出緩沖區,其用于存儲所述全交織單的輸出數據。
【文檔編號】H04L1/00GK103888224SQ201410136945
【公開日】2014年6月25日 申請日期:2014年4月4日 優先權日:2014年4月4日
【發明者】吳軍寧, 王曉琴, 張森, 趙旭瑩, 林嘯, 郭曉龍, 郭璟, 王偉康 申請人:中國科學院自動化研究所