專利名稱:一種基于fpga實現(xiàn)的ra碼運算電路及設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字通信技術(shù)的信道編碼和大規(guī)模集成電路設(shè)計的技術(shù)領(lǐng)域,特別涉及一種基于現(xiàn)場可編程門陣列(FPGA)實現(xiàn)的RA碼運算電路及設(shè)計方法。
背景技術(shù):
信道編碼是數(shù)字通信系統(tǒng)尤其是無線數(shù)字通信系統(tǒng)實現(xiàn)信號可靠傳輸?shù)谋匾侄?,在損失一定數(shù)據(jù)傳輸率和增加一定帶寬需求的前提下,可以有效降低系統(tǒng)的誤碼率。
1993年,Berrou等人首次提出了一種性能接近Shannon理論極限的可實現(xiàn)的信道編碼方案——Turbo碼,掀起了信道編碼界的一場革命。Turbo碼的主要貢獻(xiàn)在于采用了偽隨機交織器交織編碼,使其具有足夠的隨機性接近Shannon限;發(fā)現(xiàn)了迭代譯碼和置信傳輸?shù)年P(guān)系,提出了置信傳輸?shù)g碼的思想;導(dǎo)致了LDPC碼的“再發(fā)現(xiàn)”,LDPC碼具有良好的距離特性、小的譯碼錯誤概率和更低的譯碼復(fù)雜度。目前,Turbo碼已經(jīng)成為第三代移動通信的標(biāo)準(zhǔn),LDPC碼已經(jīng)被納入下一代衛(wèi)星數(shù)字視頻廣播標(biāo)準(zhǔn)DVB-S2。
隨著對Turbo碼和LDPC碼研究的深入,研究人員認(rèn)為評價信道編碼性能的標(biāo)準(zhǔn)是對于給定的信道,(1)線性時間編碼,(2)線性時間譯碼,(3)具有任意接近信道容量的碼率。對于Turbo碼,滿足線性時間編碼的標(biāo)準(zhǔn);對于LDPC碼,其編碼算法與碼長呈二次關(guān)系,非規(guī)則的LDPC碼在二進(jìn)制抹去道(Binary ErasureChannel)上可滿足條件(3);但對于二進(jìn)制對稱信道(Binary Symmetric Channnel)和加性高斯白噪聲(AWGN)信道,Turbo碼和LDPC碼的信道容量與迭代譯碼的閾值之間具有一定的距離。1998年,Divsalar、Jin和McEliece提出了RA碼,RA碼具有線性時間編碼和線性時間譯碼的特點,是一種簡單的TLC(Turbo Like Codes)碼,具有Turbo碼和LDPC碼同樣優(yōu)越的性能,受到信道編碼界的廣泛關(guān)注。
RA碼的經(jīng)典譯碼算法為信息傳遞譯碼算法,又稱置信傳輸(Belief Propagation,BP)算法,BP算法具有復(fù)雜的非線性運算,不適合硬件電路實現(xiàn),運算效率較低,影響了其在實際通信系統(tǒng)中的應(yīng)用。最小和算法是RA碼的一種簡化譯碼算法,其在損失一定性能的前提下,可大大簡化譯碼過程的復(fù)雜度,與BP算法相比,最小和算法產(chǎn)生了同樣的硬判決,但對信息的可靠性進(jìn)行了過估計。最小和算法是以降低性能為代價的,為了提高性能又不過多地增加算法復(fù)雜度,研究人員在最小和算法的基礎(chǔ)上,進(jìn)一步提出了歸一化算法和偏移算法,取得了性能和復(fù)雜度的一種平衡。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種RA碼編解碼的快速運算電路實現(xiàn)方案,加快RA碼編解碼的運算過程,提高通信系統(tǒng)的信道編碼效率;提供一種RA碼編解碼的硬件邏輯電路實現(xiàn)方案,可以方便地集成到數(shù)字通信系統(tǒng)的設(shè)計中,為信道編碼基于RA碼的數(shù)字通信專用芯片的設(shè)計提供基礎(chǔ)。
為解決上述技術(shù)問題,基于RA碼的最小和算法及其改進(jìn)的歸一化算法、偏移算法,本發(fā)明提出了一種基于FPGA實現(xiàn)的RA碼快速運算電路及其設(shè)計方法。給出了編碼電路和解碼電路的系統(tǒng)結(jié)構(gòu)。為保證快速運算,提出的方法包括(1)針對電路實現(xiàn),設(shè)計了一種簡化的RA碼編碼結(jié)構(gòu);(2)根據(jù)編碼交織圖樣設(shè)計了一個編碼交織映射表MAP_ENC,編碼控制邏輯根據(jù)MAP_ENC通過簡單運算直接從信息節(jié)點得到碼節(jié)點,簡化了運算過程,加快了編碼速率;(3)根據(jù)編碼交織圖樣設(shè)計了一個更新m[u,c]映射表MAP_UPD,更新m[u,c]控制邏輯根據(jù)MAP_UPD通過簡單運算從m[c,u]的信息得到m[u,c],簡化了運算過程,加快了更新速率;(4)根據(jù)編碼交織圖樣設(shè)計了一個判決輸出交織映射表MAP_DEC,判決輸出控制邏輯根據(jù)MAP_DEC通過簡單運算從m[u,c]的信息得到解碼信息。
如前所述,本發(fā)明基于RA碼的最小和算法、歸一化算法和偏移算法實現(xiàn),各個算法原理描述如下。
附圖1所示為RA碼編譯碼過程的示意圖(信息分組長度為2,重復(fù)次數(shù)為3,交織圖樣為π=(1,2,5,3,4,6)),虛線為編碼過程,實線為譯碼過程。
RA碼的編碼過程是一個單向過程,設(shè)信息位為ui(ui∈U,i=1,2,Λ,N),N為信息分組長度,設(shè)重復(fù)次數(shù)為Q,則校驗位和碼位的長度均為QN,校驗位表示為cj(cj∈C,j=1,2,Λ,QN),碼位表示為yj(yj∈Y,j=1,2,Λ,QN),則RA碼編碼過程可描述為cj是ui按照交織圖樣π的映射;cj和yj的關(guān)系由(1)式確定。
RA碼的譯碼過程是一個循環(huán)迭代過程,譯碼過程需要傳遞兩類信息信息節(jié)點與校驗節(jié)點之間的信息m[u,c]、m[c,u],校驗節(jié)點與碼節(jié)點之間的信息m[c,y]、m[y,c]。譯碼算法采用最小和算法的譯碼過程如下,其中E為所有邊的集合。
①初始化將m[u,c]、m[c,u]、m[c,y]、m[y,c]都置為0; ②根據(jù)譯碼輸入的信息yR計算信息的概率B(y)=-2yR/σ2,σ為與信道特性相適應(yīng)的一個參數(shù); ③更新m[y,c], ④更新m[c,u], ⑤更新m[u,c], m[u,c]=∑c′m[c′,u] c′≠c,(c′,u)∈E(4) ⑥更新m[c,y], ⑦判決輸出,將上述步驟③到⑥重復(fù)執(zhí)行K次后,計算s(u)=∑cm[u,c],u∈U,如果s(u)≥0,則比特u判決為1,否則判決為0。
歸一化算法和偏移算法都是對最小和算法的一種修正算法。最小和算法在步驟④更新m[c,u]和步驟⑥更新m[c,y]中輸出結(jié)果跟經(jīng)典的BP算法相比進(jìn)行了可靠性的過估計,要提高系統(tǒng)的性能,需要對最小和算法的步驟④和步驟⑥的輸出進(jìn)行修正,使其接近BP算法的輸出。
歸一化算法采用的措施是引進(jìn)一個非零因子α,α為最小和算法輸出的絕對值的均值跟BP算法輸出的絕對值的均值的比值,將最小和算法的輸出跟非零因子α相乘,使最小和算法的輸出接近BP算法的輸出。
偏移算法采用的措施是引進(jìn)一個非零常數(shù)β,β為BP算法輸出的絕對值的均值跟最小和算法輸出的絕對值的均值的差值,將最小和算法的輸出跟非零常數(shù)β相加,使最小和算法的輸出接近BP算法的輸出。
根據(jù)RA碼編碼算法原理,本發(fā)明提出的RA碼編碼電路包括發(fā)送信息緩存控制邏輯、編碼控制邏輯、并/串轉(zhuǎn)換邏輯、原始信息緩沖區(qū)、編碼信息緩沖區(qū)、編碼交織映射表MAP_ENC等模塊。所述的發(fā)送信息緩存控制邏輯負(fù)責(zé)將發(fā)送信息寫入到原始信息緩沖區(qū)和啟動編碼控制邏輯;所述的并/串轉(zhuǎn)換邏輯負(fù)責(zé)將編碼信息緩沖區(qū)的數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換后發(fā)送給后續(xù)處理電路;所述的編碼控制邏輯是RA編碼電路的核心,其根據(jù)編碼交織映射表MAP_ENC的內(nèi)容讀取原始信息緩沖區(qū)的數(shù)據(jù),通過相應(yīng)運算,得到編碼信息,寫入到編碼信息緩沖區(qū)。
所述的RA編碼電路的電路結(jié)構(gòu)是一種根據(jù)RA編碼原理的簡化結(jié)構(gòu),該結(jié)構(gòu)省略了校驗節(jié)點的存儲,簡化了運算過程,加快了運算速度,簡化結(jié)構(gòu)碼節(jié)點直接由信息節(jié)點獲得,關(guān)系式如(6)所示,其中MAP_ENC為編碼交織映射表。
所述的RA編碼電路的編碼交織映射表MAP_ENC是一個反映編碼信息和原始信息映射關(guān)系的地址索引表,其內(nèi)容是按照校驗節(jié)點的順序,根據(jù)編碼交織圖樣獲得的與校驗節(jié)點對應(yīng)的信息節(jié)點的下標(biāo),對應(yīng)到電路實現(xiàn)中,就是原始信息在緩沖區(qū)存儲的位地址。
根據(jù)RA碼譯碼算法原理,本發(fā)明提出的RA碼解碼電路包括信息采集/處理/存儲控制邏輯、更新m[y,c]控制邏輯、更新m[c,u]控制邏輯、更新m[u,c]控制邏輯、更新m[c,y]控制邏輯、迭代次數(shù)控制邏輯、B(y)緩存、m[c,y]緩存、m[y,c]緩存、m[c,u]緩存、m[u,c]緩存、數(shù)據(jù)判決輸出邏輯、更新m[u,c]交織映射表MAP_UPD、判決輸出交織映射表MAP_DEC等模塊。所述的信息采集/處理/存儲控制邏輯負(fù)責(zé)接收信息的預(yù)處理、計算B(y)并將B(y)寫入到B(y)緩存、啟動解碼迭代過程;所述的更新m[y,c]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[y,c]的值并將更新的值寫入到m[y,c]緩存;所述的更新m[c,u]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[c,u]的值并將更新的值寫入到m[c,u]緩存;所述的更新m[u,c]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[u,c]的值并將更新的值寫入到m[u,c]緩存,如算法所述,更新m[u,c]的過程中需要根據(jù)交織圖樣搜索m[c,u]緩存,為了減少搜索時間,加快運算速度,本發(fā)明設(shè)計了更新m[u,c]交織映射表MAP_UPD,更新m[u,c]控制邏輯根據(jù)映射表MAP_UPD讀取m[c,u]的值,經(jīng)過簡單運算,得到m[u,c]的更新值;所述的更新m[c,y]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[c,y]的值并將更新的值寫入到m[c,y]緩存;所述的迭代次數(shù)控制邏輯負(fù)責(zé)對迭代運算過程的控制,若達(dá)到了預(yù)設(shè)的迭代次數(shù),結(jié)束解碼過程,啟動判決輸出邏輯,若沒有達(dá)到預(yù)設(shè)的迭代次數(shù),解碼過程繼續(xù);所述的數(shù)據(jù)判決輸出邏輯負(fù)責(zé)解碼信息的判決,根據(jù)判決輸出交織映射表MAP_DEC的內(nèi)容,讀取相應(yīng)的m[u,c]的值,經(jīng)過運算,判決輸出解碼信息。
所述的更新m[u,c]交織映射表MAP_UPD是一個反映解碼過程中m[u,c]跟m[c,u]映射關(guān)系的地址索引表,其內(nèi)容計算過程是按照校驗節(jié)點的順序,根據(jù)交織圖樣,首先找到與之對應(yīng)的信息節(jié)點,然后根據(jù)信息節(jié)點,找到與該信息節(jié)點對應(yīng)的所有的校驗節(jié)點,去除本校驗節(jié)點,將其他校驗節(jié)點的下標(biāo)(即位地址)按照遞增順序依次排列即可。
所述的判決輸出交織映射表MAP_DEC是一個反映解碼信息跟m[u,c]映射關(guān)系的地址索引表,其內(nèi)容即編碼交織圖樣。
本發(fā)明提供了一種基于FPGA實現(xiàn)的RA碼快速運算硬件電路及其設(shè)計方法,實現(xiàn)了RA碼編解碼的快速運算,提高了通信效率;提供了一種RA碼編解碼硬件實現(xiàn)方案,為信道編碼基于RA碼的數(shù)字通信專用芯片的設(shè)計提供了基礎(chǔ),可以應(yīng)用到一種水聲直接序列擴頻通信系統(tǒng)中。
圖1是RA碼編解碼過程示意圖; 圖2是本發(fā)明的基于FPGA實現(xiàn)的RA碼編碼電路結(jié)構(gòu)圖; 圖3是本發(fā)明的RA碼編碼過程結(jié)構(gòu)簡化示意圖; 圖4是本發(fā)明的編碼交織映射表MAP_ENC內(nèi)容計算過程示意圖; 圖5是本發(fā)明的基于FPGA實現(xiàn)的RA碼解碼電路結(jié)構(gòu)圖; 圖6是本發(fā)明的更新m[u,c]交織映射表MAP_UPD內(nèi)容計算過程示意圖; 圖7是本發(fā)明的判決輸出交織映射表MAP_DEC內(nèi)容計算過程示意圖; 圖8是本發(fā)明的基于FPGA實現(xiàn)的RA碼編解碼電路在一種水聲擴頻通信系統(tǒng)的實施例。
具體實施例方式 下面結(jié)合附圖與具體實施方式
對本發(fā)明的技術(shù)細(xì)節(jié)作進(jìn)一步詳細(xì)說明。
圖1是Tanner圖表示的RA碼編解碼過程示意圖,用于說明RA碼編解碼過程的算法原理。
圖2是本發(fā)明提出的基于FPGA實現(xiàn)的RA碼編碼電路的結(jié)構(gòu)圖。如圖所示,編碼電路包括發(fā)送信息緩存控制邏輯、編碼控制邏輯、并/串轉(zhuǎn)換邏輯、原始信息緩沖區(qū)、編碼信息緩沖區(qū)、編碼交織映射表MAP_ENC等模塊。所述的發(fā)送信息緩存控制邏輯負(fù)責(zé)將發(fā)送信息寫入到原始信息緩沖區(qū)和啟動編碼控制邏輯;所述的并/串轉(zhuǎn)換邏輯負(fù)責(zé)將編碼信息緩沖區(qū)的數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換后發(fā)送給后續(xù)處理電路;所述的編碼控制邏輯是RA編碼電路的核心,其根據(jù)編碼交織映射表MAP_ENC的內(nèi)容讀取原始信息緩沖區(qū)的數(shù)據(jù),通過相應(yīng)運算,得到編碼信息,寫入到編碼信息緩沖區(qū)。編碼電路的工作流程是 (1)信息寫入原始信息緩沖區(qū)。發(fā)送信息在發(fā)送信息緩存控制邏輯的控制下寫入到原始信息緩沖區(qū),同時,發(fā)送信息緩存控制邏輯對發(fā)送信息進(jìn)行計數(shù),實時判斷發(fā)送信息是否完成; (2)啟動編碼過程。發(fā)送信息緩存控制邏輯判斷到發(fā)送信息完成后,給出編碼啟動信號,啟動編碼過程; (3)進(jìn)行編碼,并將編碼信息寫入編碼信息緩沖區(qū)。編碼控制邏輯接收到編碼啟動信號后,根據(jù)編碼交織映射表MAP_ENC讀取原始信息緩沖區(qū)的數(shù)據(jù),經(jīng)過相應(yīng)的邏輯運算,得到編碼信息,寫入到編碼信息緩沖區(qū); (4)編碼完成,啟動并/串轉(zhuǎn)換邏輯。編碼完成后,編碼控制邏輯給出編碼完成信號,啟動并/串轉(zhuǎn)換邏輯,將編碼信息串行發(fā)送給后續(xù)處理邏輯。
圖3是本發(fā)明提出的RA碼編碼過程結(jié)構(gòu)簡化示意圖。如圖所示,經(jīng)典RA碼編碼過程包括信息節(jié)點、校驗節(jié)點和碼節(jié)點,信息節(jié)點經(jīng)過重復(fù)、交織得到校驗節(jié)點,校驗節(jié)點經(jīng)過累加得到碼節(jié)點。本發(fā)明對編碼過程進(jìn)行了簡化,簡化后的編碼過程只有信息節(jié)點和碼節(jié)點,信息節(jié)點直接經(jīng)過重復(fù)、交織、累加得到碼節(jié)點,省去了校驗節(jié)點,減少了電路存儲,簡化了運算過程,加快了運算速度。
圖4是本發(fā)明提出的編碼交織映射表MAP_ENC的內(nèi)容計算過程示意圖。如圖所示,是一個反映編碼過程中碼節(jié)點和信息節(jié)點映射關(guān)系的地址索引表,而碼節(jié)點和校驗節(jié)點是一一對應(yīng)的,因此,反映的也是校驗節(jié)點和信息節(jié)點的映射關(guān)系。其內(nèi)容的計算過程是按照校驗節(jié)點的順序,根據(jù)編碼交織圖樣獲得與校驗節(jié)點對應(yīng)的信息節(jié)點,該信息節(jié)點的下標(biāo)就是其內(nèi)容,對應(yīng)到編碼電路中,就是原始信息在原始信息緩沖區(qū)存儲的位地址。
圖5是本發(fā)明提出的基于FPGA實現(xiàn)的RA碼解碼電路的結(jié)構(gòu)圖。如圖所示,RA碼解碼電路包括信息采集/處理/存儲控制邏輯、更新m[y,c]控制邏輯、更新m[c,u]控制邏輯、更新m[u,c]控制邏輯、更新m[c,y]控制邏輯、迭代次數(shù)控制邏輯、B(y)緩存、m[c,y]緩存、m[y,c]緩存、m[c,u]緩存、m[u,c]緩存、數(shù)據(jù)判決輸出邏輯、更新m[u,c]交織映射表MAP_UPD、判決輸出交織映射表MAP_DEC等模塊。所述的信息采集/處理/存儲控制邏輯負(fù)責(zé)接收信息的預(yù)處理、計算B(y)并將B(y)寫入到B(y)緩存、啟動解碼迭代過程;所述的更新m[y,c]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[y,c]的值并將更新的值寫入到m[y,c]緩存;所述的更新m[c,u]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[c,u]的值并將更新的值寫入到m[c,u]緩存;所述的更新m[u,c]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[u,c]的值并將更新的值寫入到m[u,c]緩存,更新m[u,c]控制邏輯根據(jù)映射表MAP_UPD讀取m[c,u]的值,經(jīng)過簡單運算,得到m[u,c]的更新值;所述的更新m[c,y]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[c,y]的值并將更新的值寫入到m[c,y]緩存;所述的迭代次數(shù)控制邏輯負(fù)責(zé)對迭代運算過程的控制,若達(dá)到了預(yù)設(shè)的迭代次數(shù),結(jié)束解碼過程,啟動判決輸出邏輯,若沒有達(dá)到預(yù)設(shè)的迭代次數(shù),解碼過程繼續(xù);所述的數(shù)據(jù)判決輸出邏輯負(fù)責(zé)解碼信息的判決,根據(jù)判決輸出交織映射表MAP_DEC的內(nèi)容,讀取相應(yīng)的m[u,c]的值,經(jīng)過運算,判決輸出解碼信息。解碼電路的工作流程是 (1)計算B(y)并寫入B(y)緩存。接收信息在信息采集/處理/存儲控制邏輯的控制下,計算得到信息B(y)并寫入到B(y)緩存,并對接收信息進(jìn)行計數(shù),實時判斷信息是否接收完成; (2)啟動解碼過程。信息采集/處理/存儲控制邏輯判斷到信息接收完成后,發(fā)出清零m[c,y]信號和解碼啟動信號,前者用于清零m[c,y]緩存,后者用于啟動解碼過程; (3)更新m[y,c]。更新m[y,c]控制邏輯檢測到解碼啟動信號或者更新m[c,y]完成信號后,讀取B(y)緩存和m[c,y]緩存的信息,經(jīng)過相應(yīng)的邏輯運算,得到m[y,c]的信息并寫入m[y,c]緩存,更新完成給出更新完成信號; (4)更新m[c,u]。更新m[c,u]控制邏輯檢測到更新m[y,c]完成信號后,讀取m[y,c]緩存的信息,經(jīng)過相應(yīng)的邏輯運算,得到m[c,u]的信息并寫入m[c,u]緩存,更新完成給出更新完成信號; (5)更新m[u,c]。更新m[u,c]控制邏輯檢測到更新m[c,u]完成信號后,根據(jù)更新m[u,c]交織映射表讀取m[c,u]緩存的信息,經(jīng)過相應(yīng)的邏輯運算,得到m[u,c]的信息并寫入m[u,c]緩存,更新完成給出更新完成信號; (6)判斷解碼過程完成與否。迭代次數(shù)控制邏輯檢測到更新m[u,c]完成信號后,判斷解碼迭代過程是否完成,若沒完成,給出繼續(xù)迭代的信號,否則,給出迭代完成信號; (7)更新m[c,y]。更新m[c,y]控制邏輯檢測到繼續(xù)迭代信號后,讀取m[u,c]緩存的信息,經(jīng)過相應(yīng)的邏輯運算,得到m[c,y]的信息并寫入m[c,y]緩存,更新完成給出更新完成信號; (8)判決輸出。數(shù)據(jù)判決輸出邏輯檢測到迭代完成信號后,根據(jù)判決輸出交織映射表的信息讀取m[u,c]緩存的信息,經(jīng)過相應(yīng)的邏輯運算,得到解碼信息并輸出。
圖6是本發(fā)明提出的更新m[u,c]交織映射表MAP_UPD的內(nèi)容計算過程示意圖。如圖所示,MAP_UPD是一個反映解碼過程中m[u,c]跟m[c,u]映射關(guān)系的地址索引表,其內(nèi)容計算過程是按照校驗節(jié)點的順序,根據(jù)交織圖樣,首先找到與之對應(yīng)的信息節(jié)點,然后根據(jù)信息節(jié)點,找到與該信息節(jié)點對應(yīng)的全部校驗節(jié)點,去除本校驗節(jié)點,其他校驗節(jié)點的下標(biāo)(即位地址)即是MAP_UPD的內(nèi)容,對應(yīng)到解碼電路中,就是m[c,u]在m[c,u]緩存的位地址。
圖7是本發(fā)明提出的判決輸出交織映射表MAP_DEC的內(nèi)容計算過程示意圖。如圖所示,MAP_DEC是一個反映解碼過程中信息節(jié)點跟m[u,c]映射關(guān)系的地址索引表,而m[u,c]與校驗節(jié)點存在一一對應(yīng)的關(guān)系,因此MAP_DEC反映的也是信息節(jié)點跟校驗節(jié)點的映射關(guān)系,而RA編碼的編碼交織圖樣反映的就是信息節(jié)點跟校驗節(jié)點的映射關(guān)系,因此,MAP_DEC的內(nèi)容同編碼交織圖樣,對應(yīng)到解碼電路中,就是m[u,c]在m[u,c]緩存的位地址。
圖8是本發(fā)明提出的基于FPGA實現(xiàn)的RA碼編解碼電路在一種水聲直接序列擴頻通信系統(tǒng)的實施例。如圖所示,這是一個半雙工通信系統(tǒng),包括發(fā)射機電路和接收機電路。在發(fā)射機電路中,RA編碼電路讀取發(fā)送緩沖區(qū)的數(shù)據(jù)并進(jìn)行編碼,編碼后的數(shù)據(jù)加上前導(dǎo)碼與同步碼后統(tǒng)一進(jìn)行后續(xù)處理;在接收機電路中,接收到的信息經(jīng)過去前導(dǎo)碼和同步碼后傳送給RA解碼電路,RA解碼電路負(fù)責(zé)對接收的信息進(jìn)行解碼,解碼后的數(shù)據(jù)發(fā)送到接收數(shù)據(jù)緩沖區(qū)。
權(quán)利要求
1、一種基于FPGA實現(xiàn)的RA碼運算電路,其特征在于,編碼電路包括發(fā)送信息緩存控制邏輯模塊、原始信息緩沖區(qū)模塊、編碼控制邏輯模塊、編碼信息緩沖區(qū)模塊、并/串轉(zhuǎn)換邏輯模塊、編碼交織映射表MAP_ENC;解碼電路包括信息采集/處理/存儲控制邏輯、更新m[y,c]控制邏輯模塊、更新m[c,u]控制邏輯模塊、更新m[u,c]控制邏輯模塊、更新m[c,y]控制邏輯模塊、迭代次數(shù)控制邏輯模塊、B(y)緩存模塊、m[c,y]緩存模塊、m[y,c]緩存模塊、m[c,u]緩存模塊、m[u,c]緩存模塊、數(shù)據(jù)判決輸出邏輯模塊、更新m[u,c]交織映射表模塊MAP_UPD、判決輸出交織映射表MAP_DEC;所述的發(fā)送信息緩存控制邏輯負(fù)責(zé)將發(fā)送信息寫入到原始信息緩沖區(qū)和啟動編碼控制邏輯;所述的并/串轉(zhuǎn)換邏輯負(fù)責(zé)將編碼信息緩沖區(qū)的數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換后發(fā)送給后續(xù)處理電路;所述的編碼控制邏輯是RA編碼電路的核心,其根據(jù)編碼交織映射表MAP_ENC的內(nèi)容讀取原始信息緩沖區(qū)的數(shù)據(jù),通過相應(yīng)運算,得到編碼信息,寫入到編碼信息緩沖區(qū);所述的信息采集/處理/存儲控制邏輯負(fù)責(zé)接收信息的預(yù)處理、計算B(y)并將B(y)寫入到B(y)緩存、啟動解碼迭代過程;所述的更新m[y,c]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[y,c]的值并將更新的值寫入到m[y,c]緩存;所述的更新m[c,u]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[c,u]的值并將更新的值寫入到m[c,u]緩存;所述的更新m[u,c]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[u,c]的值并將更新的值寫入到m[u,c]緩存,更新m[u,c]控制邏輯根據(jù)映射表MAP_UPD讀取m[c,u]的值,經(jīng)過簡單運算,得到m[u,c]的更新值;所述的更新m[c,y]控制邏輯負(fù)責(zé)在每次迭代運算中按照算法原理更新m[c,y]的值并將更新的值寫入到m[c,y]緩存;所述的迭代次數(shù)控制邏輯負(fù)責(zé)對迭代運算過程的控制,若達(dá)到了預(yù)設(shè)的迭代次數(shù),結(jié)束解碼過程,啟動判決輸出邏輯,若沒有達(dá)到預(yù)設(shè)的迭代次數(shù),解碼過程繼續(xù);所述的數(shù)據(jù)判決輸出邏輯負(fù)責(zé)解碼信息的判決,根據(jù)判決輸出交織映射表MAP_DEC的內(nèi)容,讀取相應(yīng)的m[u,c]的值,經(jīng)過運算,判決輸出解碼信息。
2、權(quán)利要求1所述基于FPGA實現(xiàn)的RA碼運算電路的設(shè)計方法,其特征在于,采用查找表的方法,通過三個地址索引表編碼交織映射表MAP_ENC、更新m[u,c]交織映射表MAP_UPD、判決輸出交織映射表MAP_DEC簡化算法的數(shù)據(jù)搜索過程,提高運算速度。
3、如權(quán)利要求2所述的基于FPGA實現(xiàn)的RA碼運算電路的設(shè)計方法,其特征在于,編碼交織映射表MAP_ENC是一個反映編碼信息和原始信息映射關(guān)系的地址索引表,其內(nèi)容計算過程是按照校驗節(jié)點的順序,根據(jù)編碼交織圖樣獲得的與校驗節(jié)點對應(yīng)的信息節(jié)點的下標(biāo),對應(yīng)到電路實現(xiàn)中,就是原始信息在緩沖區(qū)存儲的位地址。
4、如權(quán)利要求2所述的基于FPGA實現(xiàn)的RA碼運算電路的設(shè)計方法,其特征在于,更新m[u,c]交織映射表MAP_UPD是一個反映解碼過程中m[u,c]跟m[c,u]映射關(guān)系的地址索引表,其內(nèi)容計算過程是按照校驗節(jié)點的順序,根據(jù)交織圖樣,首先找到與之對應(yīng)的信息節(jié)點,然后根據(jù)信息節(jié)點,找到與該信息節(jié)點對應(yīng)的所有的校驗節(jié)點,去除本校驗節(jié)點,將其他校驗節(jié)點的下標(biāo)(即位地址)按照遞增順序依次排列即可。
5、如權(quán)利要求2所述的基于FPGA實現(xiàn)的RA碼運算電路的設(shè)計方法,其特征在于,判決輸出交織映射表MAP_DEC是一個反映解碼信息跟m[u,c]映射關(guān)系的地址索引表,其內(nèi)容同編碼交織圖樣。
全文摘要
本發(fā)明涉及一種基于FPGA實現(xiàn)的RA碼運算電路及設(shè)計方法,屬于數(shù)字通信技術(shù)的信道編碼和大規(guī)模集成電路設(shè)計的技術(shù)領(lǐng)域。本發(fā)明包括編碼電路和解碼電路,根據(jù)編碼交織圖樣設(shè)計一個編碼交織映射表MAP_ENC,編碼控制邏輯根據(jù)MAP_ENC通過簡單運算直接從信息節(jié)點得到碼節(jié)點;設(shè)計一個更新m[u,c]交織映射表MAP_UPD,更新m[u,c]控制邏輯根據(jù)MAP_UPD通過簡單運算從m[c,u]的信息得到m[u,c];設(shè)計一個判決輸出交織映射表MAP_DEC,判決輸出控制邏輯根據(jù)MAP_DEC通過簡單運算從m[u,c]的信息得到解碼信息。本發(fā)明減少了RA碼編解碼的運算時間,提高了通信系統(tǒng)的信道編解碼效率,可以方便地集成到數(shù)字通信系統(tǒng)的設(shè)計中,為信道編碼基于RA碼的通信專用芯片的設(shè)計提供了基礎(chǔ)。
文檔編號H03M13/00GK101404506SQ200810224590
公開日2009年4月8日 申請日期2008年10月21日 優(yōu)先權(quán)日2008年10月21日
發(fā)明者沁 王, 劉蘭軍, 王建國, 張曉彤, 明 黎, 劉金龍, 王有華 申請人:北京科技大學(xué)