專利名稱:一種適用于無(wú)線信道的lt碼的譯碼電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字信號(hào)與系統(tǒng)技術(shù)領(lǐng)域,涉及適用于無(wú)線信道數(shù)據(jù)傳輸糾錯(cuò)技術(shù)中的的LT碼譯碼電路的實(shí)現(xiàn)。具體涉及針對(duì)使用固定碼率的LT碼的譯碼電路的實(shí)現(xiàn),為一種低復(fù)雜度的LT碼的譯碼電路結(jié)構(gòu)。
背景技術(shù):
無(wú)論有線通信還是無(wú)線通信,通信的目的是把接收方未知的消息迅速而可靠地傳送到對(duì)方,但如何提高信息傳輸?shù)目煽啃?,始終是通信技術(shù)非常重要的內(nèi)容。眾所周知,信號(hào)在無(wú)線信道中傳輸時(shí)會(huì)受到噪聲、衰落等信道損傷的影響,傳輸?shù)男盘?hào)遇到惡劣的信道環(huán)境將導(dǎo)致數(shù)據(jù)出現(xiàn)差錯(cuò),為保證數(shù)據(jù)傳輸?shù)目煽啃?,信道編碼是一種可靠有效的方法,使用信道編碼可以有效地保證通信系統(tǒng)的傳輸可靠性、克服信道中的噪聲和干擾等。信道編碼根據(jù)一定的規(guī)律在待發(fā)送的信息碼元中人為的加入一些必要的校驗(yàn)碼元,在接收端,利用這些檢驗(yàn)碼元與信息碼元的規(guī)律發(fā)現(xiàn)和糾正差錯(cuò),以提高信息碼元傳輸?shù)目煽啃浴4l(fā)送的碼元信息為信息碼元,人為的加入多余碼元為校驗(yàn)碼元。信道編碼的目的是試圖以最少的校驗(yàn)碼元換取最大程度的可靠性的提高。在通信系統(tǒng)中,糾錯(cuò)編碼被用來(lái)提高信道傳輸?shù)目煽啃院凸β世寐?。?dāng)今所廣泛使用的Turbo碼和低密度奇偶校驗(yàn)碼(LDPC碼),雖具有逼近香農(nóng)極限的良好性能,但譯碼復(fù)雜度大,硬件實(shí)現(xiàn)消耗資源多。Michael Luby指出Luby Transform (LT)碼在任何刪除信道的性能都是逼近最佳的,LT碼的硬判決置信傳播(Belief Propagation, BP)譯碼算法具有較小的譯碼復(fù)雜度,一般地,在應(yīng)用時(shí),LT碼作為無(wú)碼率編碼,譯碼使用軟件實(shí)現(xiàn)。在非刪除信道下,如果直接使用LT碼,譯碼過(guò)程會(huì)造成錯(cuò)誤傳遞,導(dǎo)致誤碼率很高。采用等效刪除信道的方法將LT碼應(yīng)用于無(wú)線信道是一種可行的方案,一般的,將LT碼作為外碼,級(jí)聯(lián)具有檢錯(cuò)功能的內(nèi)碼,級(jí)聯(lián)碼即可應(yīng)用于無(wú)線信道,內(nèi)碼將無(wú)線信道等效為刪除信道,這樣LT碼在刪除信道下的優(yōu)秀性能得以體現(xiàn),目前該解決方案尚未硬件實(shí)現(xiàn)。本發(fā)明提出一種LT碼譯碼電路,解決LT碼依賴于軟件譯碼的局限,使用固定碼率的LT碼,譯碼之前數(shù)據(jù)數(shù)據(jù)先經(jīng)過(guò)校驗(yàn)電路得到錯(cuò)誤數(shù)據(jù)和錯(cuò)誤位置,對(duì)錯(cuò)誤刪除后再通過(guò)譯碼電路譯碼,譯碼電路的實(shí)現(xiàn)基于LT碼的BP譯碼算法,實(shí)現(xiàn)一種具有低復(fù)雜度的譯碼電路,將LT碼譯碼付諸于硬件實(shí)現(xiàn)具有重要的理論意義和應(yīng)用價(jià)值。
發(fā)明內(nèi)容
本發(fā)明目的是實(shí)現(xiàn)LT碼譯碼電路,使LT碼適用于無(wú)線通信系統(tǒng),解決LT碼依賴于軟件實(shí)現(xiàn)譯碼的局限。本發(fā)明的技術(shù)方案是一種適用于無(wú)線信道的LT碼譯碼電路,包括控制模塊、度模塊、生成矩陣模塊、度搜索模塊、生成矩陣列搜索模塊、關(guān)聯(lián)搜索模塊、校驗(yàn)?zāi)K、數(shù)據(jù)模塊和譯碼輸出模塊。本發(fā)明的設(shè)計(jì)思想是使用固定碼率的LT碼,將LT碼的生成矩陣(KXN的矩陣,K為輸入數(shù)據(jù)包個(gè)數(shù),N為編碼后數(shù)據(jù)包個(gè)數(shù),數(shù)據(jù)包長(zhǎng)度可以是單比特或多比特)和度分布矩陣(IXN的矩陣,矩陣中存儲(chǔ)度的值,該矩陣中度服從度分布函數(shù))存儲(chǔ)于生成矩陣模塊和度分布模塊中,輸入數(shù)據(jù)包長(zhǎng)度為N,輸入數(shù)據(jù)包經(jīng)過(guò)校驗(yàn)?zāi)K后,若校驗(yàn)正確則保留該數(shù)據(jù)包,若校驗(yàn)有錯(cuò)誤,則將該數(shù)據(jù)包值置為O,校驗(yàn)后將數(shù)據(jù)包存入待譯碼數(shù)據(jù)模塊,度搜索模塊搜索出度分布模塊中某個(gè)度等于I的存儲(chǔ)地址AD,生成矩陣列搜索模塊搜索出生成矩陣中第Ad列數(shù)據(jù)等于I的存儲(chǔ)地址Ae,將數(shù)據(jù)模塊中地址Ad存儲(chǔ)的數(shù)據(jù)Da賦值給譯碼輸出模塊地址為Ae的位置,此數(shù)據(jù)即為譯碼第一次循環(huán)過(guò)程的譯碼輸出,關(guān)聯(lián)搜索模塊搜索出生成矩陣第Ae行數(shù)據(jù)等于I的所有存儲(chǔ)地址AGk(k=l,2,3,..,M,M為該行中數(shù)據(jù)I的個(gè)數(shù)),控制模塊將生成矩陣模塊中第Ae行、第AGk(k=l,2,3,..,Μ)列的數(shù)據(jù)I置為O,將度模塊中地址等于AGk (k=l,2,3,..,M)的存儲(chǔ)位置的數(shù)據(jù)減1,將數(shù)據(jù)模塊中存儲(chǔ)地址為AGk (k=l,2,3,..,Μ)的數(shù)據(jù)與Da按位異或得到更新值,以上描述為譯碼的一次循環(huán)過(guò)程,控制模塊中的計(jì)數(shù)器從O計(jì)數(shù)到K-1,每計(jì)數(shù)一次上述過(guò)程重復(fù)一次,直至計(jì)數(shù)到K-1,則循環(huán)結(jié)束,譯碼終止,若尚未計(jì)數(shù)到K-1,度分布模塊不存在度等于I存儲(chǔ)地址,譯碼也終止。度分布是LT碼性能好壞的關(guān)鍵,對(duì)于不同的碼率,需要有不同的度分布保證LT碼有優(yōu)良的性能,選擇2的冪(1,2,4,…)或斐波那契數(shù)(1,2,3,5,…)作為度的值,度分布函數(shù)通過(guò)使用進(jìn)化策略優(yōu)化后得到,使得不同的碼率都有對(duì)應(yīng)于該碼率的最優(yōu)的度分布。進(jìn)化策略是常用的求解參數(shù)優(yōu)化問(wèn)題的方法,它模仿生物進(jìn)化原理,假設(shè)不論基因發(fā)生何種變化,產(chǎn)生的結(jié)果總遵循零均值、某一方差的高斯分布。典型的進(jìn)化策略有自然進(jìn)化策略(Natural Evolution Strategy, NES)、自適應(yīng)協(xié)方差矩陣進(jìn)化策略(Covariance MatrixAdaptation Evolution Strategy, CMA-ES)等。本發(fā)明的特點(diǎn)如下:LT碼碼率固定;度搜索模塊和生成矩陣列搜索模塊可以由數(shù)據(jù)選擇器和比較器構(gòu)成,搜索簡(jiǎn)單易實(shí)現(xiàn); 關(guān)聯(lián)搜索模塊實(shí)現(xiàn)關(guān)聯(lián)搜索電路復(fù)用,減少了資源利用;度分布函數(shù)可以由進(jìn)化策略優(yōu)化得到。
圖1為通信系統(tǒng)收發(fā)機(jī)結(jié)構(gòu)圖;圖2為L(zhǎng)T碼的譯碼電路結(jié)構(gòu)圖;圖3為控制模塊結(jié)構(gòu)示意圖;圖4為度搜索電路示意圖;圖5為生成矩陣列搜索電路示意圖;圖6為關(guān)聯(lián)搜索電路示意圖。
具體實(shí)施例方式下面結(jié)合附圖與具體實(shí)施方式
對(duì)本技術(shù)方案進(jìn)一步說(shuō)明如下:通信系統(tǒng)收發(fā)機(jī)結(jié)構(gòu)圖如圖1所示,可以清晰地看出LT碼在通信系統(tǒng)中的位置,LT編碼在發(fā)射機(jī)部分的信源之后,調(diào)制之前,用于提高數(shù)據(jù)傳輸?shù)目煽啃裕辉诮邮諜C(jī)部分LT譯碼在解調(diào)之后、信宿之前。LT譯碼可對(duì)應(yīng)于LDPC譯碼電路。
本發(fā)明的LT碼譯碼電路示意圖如圖2所示,它包括控制模塊、度模塊、生成矩陣模塊,度搜索模塊,生成矩陣列搜索模塊,關(guān)聯(lián)搜索模塊,校驗(yàn)?zāi)K,數(shù)據(jù)模塊,譯碼輸出模塊等。譯碼開始時(shí),控制模塊首先初始化度模塊和生成矩陣模塊,輸入數(shù)據(jù)包經(jīng)過(guò)校驗(yàn)?zāi)K后,若校驗(yàn)正確則保留該數(shù)據(jù)包,若校驗(yàn)有錯(cuò)誤,則將該數(shù)據(jù)包值置為0,校驗(yàn)后將數(shù)據(jù)包存入待譯碼數(shù)據(jù)模塊,度搜索模塊返回度模塊中某一個(gè)度為I的存儲(chǔ)地址ad,生成矩陣搜索模塊返回生成矩陣模塊中第Ad列數(shù)據(jù)等于I的存儲(chǔ)地址Ae,將數(shù)據(jù)模塊中地址Ad存儲(chǔ)的數(shù)據(jù)Da賦值給譯碼輸出模塊地址為Ae的位置,關(guān)聯(lián)搜索模塊返回生成矩陣模塊中第Ae行數(shù)據(jù)等于I的所有存儲(chǔ)地址AGk(k=l,2,3,..,Μ),控制模塊將生成矩陣模塊中第Ae行、第AGk(k=l, 2,3,..,Μ)列的數(shù)據(jù)I置為0,將度模塊中地址等于AGk(k=l,2,3,..,Μ)的存儲(chǔ)位置的數(shù)據(jù)減I,將數(shù)據(jù)模塊中存儲(chǔ)地址為AGk (k=l,2,3,..,Μ)的數(shù)據(jù)與Da按位異或得到更新值,以上描述為譯碼的一次循環(huán)過(guò)程,控制模塊中的計(jì)數(shù)器從O計(jì)數(shù)到Κ-1,每計(jì)數(shù)一次上述過(guò)程重復(fù)一次,直至計(jì)數(shù)到Κ-1,則循環(huán)結(jié)束,譯碼終止,若尚未計(jì)數(shù)到Κ-1,度分布模塊不存在度等于I存儲(chǔ)地址,譯碼也終止。為更好地理解本發(fā)明,下面結(jié)合本發(fā)明具體實(shí)施方法對(duì)LT碼譯碼電路主要模塊及其處理方式作出詳細(xì)描述??刂颇K結(jié)構(gòu)示意圖如圖3所示,控制模塊是譯碼電路的核心模塊,控制譯碼電路的正常工作,控制模塊主要由狀態(tài)機(jī)控制,每一次譯碼循環(huán),狀態(tài)機(jī)內(nèi)部計(jì)數(shù)器將計(jì)數(shù)值加1,控制模塊的運(yùn)行過(guò)程如下:1、初始化,狀態(tài)機(jī)輸出度搜索使能有效信號(hào);2、度搜索完成信號(hào)有效后,輸入度地址暫存于控制器中;3、輸出度地址,將待譯碼數(shù)據(jù)模塊中對(duì)應(yīng)地址的數(shù)據(jù)Da暫存于控制模塊中;4、輸出生成矩陣列搜索使能有效信號(hào),生成矩陣列搜索完成信號(hào)有效后,輸入列地址暫存于控制模塊中;5、根據(jù)列地址,將Da輸出到譯碼輸出模塊中地址值等于列地址值的位置;6、關(guān)聯(lián)搜索使能有效,待關(guān)聯(lián)搜索完畢后,將關(guān)聯(lián)地址暫存于控制模塊中;7、輸出關(guān)聯(lián)地址,度更新使能信號(hào)輸出有效,生成矩陣更新使能信號(hào)有效,待譯碼數(shù)據(jù)更新使能信號(hào)有效;8、完成更新,進(jìn)入下一次循環(huán)。度搜索電路示意圖如圖4所示,主要由比較器和數(shù)據(jù)選擇器構(gòu)成,將度分布模塊中的度依次與I做比較,若度等于I則輸出對(duì)應(yīng)的地址,若搜索完畢后沒(méi)有等于I的度則輸出N,輸出N表示度分布模塊中不存在等于I的度。生成矩陣列搜索電路示意圖如圖5所示為,將生成矩陣的列每4比特一組,若不夠4比特后面添0湊成4比特,共分成η組,和0做比較,若不等于0,輸出m,m為分組序號(hào),用4m加上與該分組序號(hào)相應(yīng)的分組值即得到列地址。關(guān)聯(lián)搜索電路示意圖如圖6所示,將生成矩陣的行分成每8比特一組,若不夠8比特后面添0湊成8比特,將此8比特?cái)?shù)據(jù)和0x01、0x02、0x04…0x80分別按位與后的結(jié)果通過(guò)比較器和0做比較,再通過(guò)數(shù)據(jù)選擇器,若比較后的結(jié)果為0,則表示該地址數(shù)據(jù)不是1,數(shù)據(jù)選擇器輸出0,否則輸出該地址值。關(guān)聯(lián)搜索電路在搜索時(shí)得到復(fù)用,有效減小了搜索所利用的資源。校驗(yàn)電路使用CRC校驗(yàn),CRC校驗(yàn)使用查表的方式進(jìn)行,若輸入數(shù)據(jù)正確,錯(cuò)誤指示輸出0,否則錯(cuò)誤指示輸出1。度分布、生成矩陣、待譯碼數(shù)據(jù)和譯碼輸出數(shù)據(jù)均存儲(chǔ)于RAM中。
權(quán)利要求
1.一種適用于無(wú)線信道的LT碼譯碼電路,其特征是包括控制模塊、度模塊、生成矩陣模塊、度搜索模塊、生成矩陣列搜索模塊、關(guān)聯(lián)搜索模塊、校驗(yàn)?zāi)K、數(shù)據(jù)模塊和譯碼輸出模塊; 譯碼的一次循環(huán)過(guò)程為: 譯碼開始時(shí),控制模塊首先初始化度模塊和生成矩陣模塊; 輸入數(shù)據(jù)包經(jīng)校驗(yàn)?zāi)K,若校驗(yàn)正確則保留該數(shù)據(jù)包,若校驗(yàn)有錯(cuò)誤,則將該數(shù)據(jù)包值置為0 ; 校驗(yàn)后保留的數(shù)據(jù)包存入待譯碼數(shù)據(jù)模塊; 度搜索模塊返回度模塊中某一個(gè)度為I的存儲(chǔ)地址Ad ;生成矩陣搜索模塊返回生成矩陣模塊中第Ad列數(shù)據(jù)等于I的存儲(chǔ)地址Ae ;數(shù)據(jù)模塊中地址Ad存儲(chǔ)的數(shù)據(jù)Da賦值給譯碼輸出模塊地址為Ae的位置;關(guān)聯(lián)搜索模塊返回生成矩陣模塊中第Ae行數(shù)據(jù)等于I的所有存儲(chǔ)地址六6,&=1,2,3,..,M); 控制模塊:將生成矩陣模塊中第Ae行、第AGk(k=l,2,3,..,Μ)列的數(shù)據(jù)I置為O,將度模塊中地址等于AGk (k=l,2,3,..,M)的存儲(chǔ)位置的數(shù)據(jù)減1,將數(shù)據(jù)模塊中存儲(chǔ)地址為AGk (k=l, 2,3,..,Μ)的數(shù)據(jù)與Da按位異或得到更新值; 以上為譯碼的一次循環(huán)過(guò)程;控制模塊中的計(jì)數(shù)器從O計(jì)數(shù)到K-1,每計(jì)數(shù)一次上述過(guò)程重復(fù)一次,直至計(jì)數(shù)到Κ-1,則循環(huán)結(jié)束,譯碼終止,若尚未計(jì)數(shù)到Κ-1,度分布模塊不存在度等于I存儲(chǔ)地址,譯碼終止。
2.根據(jù)權(quán)利要求1所述的適用于無(wú)線信道的LT碼譯碼電路,其特征是所述控制模塊控制譯碼電路的正常工作;控制模塊受狀態(tài)機(jī)控制,每一次譯碼循環(huán),狀態(tài)機(jī)內(nèi)部計(jì)數(shù)器將計(jì)數(shù)值加I,控制模塊的運(yùn)行過(guò)程如下: 1)初始化,狀態(tài)機(jī)輸出度搜索使能有效信號(hào); 2)度搜索完成信號(hào)有效后,輸入度地址暫存于控制器中; 3)輸出度地址,將待譯碼數(shù)據(jù)模塊中對(duì)應(yīng)地址的數(shù)據(jù)Da暫存于控制模塊中; 4)輸出生成矩陣列搜索使能有效信號(hào),生成矩陣列搜索完成信號(hào)有效后,輸入列地址暫存于控制模塊中; 5)根據(jù)列地址,將Da輸出到譯碼輸出模塊中地址值等于列地址值的位置; 6)關(guān)聯(lián)搜索使能有效,待關(guān)聯(lián)搜索完畢后,將關(guān)聯(lián)地址暫存于控制模塊中; 7)輸出關(guān)聯(lián)地址,度更新使能信號(hào)輸出有效,生成矩陣更新使能信號(hào)有效,待譯碼數(shù)據(jù)更新使能信號(hào)有效; 8)完成更新,進(jìn)入下一次循環(huán)。
3.根據(jù)權(quán)利要求1所述的適用于無(wú)線信道的LT碼譯碼電路,其特征是所述度搜索電路將度分布模塊中的度依次與I做比較,若度等于I則輸出對(duì)應(yīng)的地址,若搜索完畢后沒(méi)有等于I的度則輸出N,輸出N表不度分布模塊中不存在等于I的度。
4.根據(jù)權(quán)利要求1所述的適用于無(wú)線信道的LT碼譯碼電路,其特征是所述生成矩陣列搜索電路將生成矩陣的列每4比特一組,若生成矩陣的列數(shù)不夠4比特,則在后面添O湊成4比特;共分成η組,它們和O做比較,若不等于O,則輸出分組序號(hào)m,用4m加上與該分組序號(hào)相應(yīng)的分組值即得到列地址。
5.根據(jù)權(quán)利要求1所述的適用于無(wú)線信道的LT碼譯碼電路,其特征是所述關(guān)聯(lián)搜索電路將生成矩陣的行分成每8比特一組,若生成矩陣的行數(shù)不夠8比特,則在后面添O湊成8比特;將此8比特?cái)?shù)據(jù)和0x01、0x02、0x04、->0x80分別按位與后的結(jié)果通過(guò)比較器和O做比較,再通過(guò)數(shù)據(jù)選擇器;若比較后的結(jié)果為0,則表示該地址數(shù)據(jù)不是1,數(shù)據(jù)選擇器輸出O,否則輸出該地址值。
6.根據(jù)權(quán)利要求1所述的適用于無(wú)線信道的LT碼譯碼電路,其特征是所述校驗(yàn)電路使用CRC校驗(yàn),CRC校驗(yàn)使用查表的方式進(jìn)行,若輸入數(shù)據(jù)正確,錯(cuò)誤指示輸出0,否則錯(cuò)誤指不輸出I。
7.根據(jù)權(quán)利要求1所述的適用于無(wú)線信道的LT碼譯碼電路,其特征是所述度、生成矩陣、待譯碼數(shù)據(jù)和譯碼輸出數(shù)據(jù)均存儲(chǔ)于RAM中。
8.根據(jù)權(quán)利要求1所述的適用于無(wú)線信道的LT碼譯碼電路,其特征是本LT碼譯碼電路使用固定碼率的LT碼,將LT碼的生成矩陣和度分布矩陣分別對(duì)應(yīng)存儲(chǔ)于生成矩陣模塊和度分布模塊中;所述LT碼的生成矩陣是KXN的稀疏矩陣,K為輸入數(shù)據(jù)包個(gè)數(shù),N為編碼后數(shù)據(jù)包個(gè)數(shù),數(shù)據(jù)包長(zhǎng)度可以是單比特或多比特;所述度分布矩陣是IXN的矩陣,矩陣中存儲(chǔ)度的值,該矩陣中度服從度分布函數(shù)。
全文摘要
一種適用于無(wú)線信道的LT碼譯碼電路,該譯碼器電路結(jié)構(gòu)適用于無(wú)線信道,該LT碼譯碼器電路結(jié)構(gòu)包括控制電路、度存儲(chǔ)電路、生成矩陣存儲(chǔ)電路、度搜索電路、生成矩陣列搜索電路、關(guān)聯(lián)搜索電路、校驗(yàn)電路以及待譯碼數(shù)據(jù)存儲(chǔ)電路。該譯碼器電路結(jié)構(gòu)使用固定碼率的LT碼,輸入數(shù)據(jù)包經(jīng)過(guò)校驗(yàn)后將錯(cuò)誤數(shù)據(jù)包置0,同時(shí)將錯(cuò)誤位置傳遞給控制模塊,然后進(jìn)行譯碼,譯碼過(guò)程按照置信傳播的方法進(jìn)行,關(guān)聯(lián)搜索電路中實(shí)現(xiàn)搜索電路的復(fù)用,減少了硬件資源。LT碼譯碼電路解決了LT碼依賴于軟件譯碼的局限。
文檔編號(hào)H03M13/11GK103095310SQ20121059030
公開日2013年5月8日 申請(qǐng)日期2012年12月31日 優(yōu)先權(quán)日2012年12月31日
發(fā)明者張萌, 唐磊, 吳建輝, 劉昊, 李紅, 潘旭, 李古月, 蔡琰, 彭茜茜 申請(qǐng)人:東南大學(xué)