基于比特翻轉的ldpc碼局部搜索譯碼方法
【專利摘要】本發(fā)明公開了基于比特翻轉的LDPC碼局部搜索譯碼方法,主要解決現(xiàn)有比特翻轉類算法糾錯性能差、和積算法硬件實現(xiàn)復雜的問題。其技術方案是將線性規(guī)劃譯碼模型和奇偶校驗結合形成新的譯碼模型進行:(1)初始化譯碼參數(shù);(2)依次同時翻轉多個變量節(jié)點,通過減少目標函數(shù)值搜索距離接收消息最近的碼字;(3)依據(jù)校正子向量判斷譯碼是否結束;(4)依次翻轉一個變量節(jié)點的值,通過減少校正子向量中非零元素個數(shù)搜索有效碼字;(5)構造多個初始解向量循環(huán)執(zhí)行比特翻轉搜索碼字;(6)若校正子向量為零向量則將解向量輸出作為譯出碼字。本發(fā)明糾錯性能好、收斂速度快、硬件實現(xiàn)復雜度低,能顯著地提高二元對稱信道下通信系統(tǒng)譯碼模塊的效率,可用于通信【技術領域】。
【專利說明】基于比特翻轉的LDPC碼局部搜索譯碼方法
【技術領域】
[0001] 本發(fā)明屬于通信【技術領域】,特別涉及一種對低密度奇偶校驗LDPC碼的譯碼方法, 可用于光纖通信、磁存儲、衛(wèi)星數(shù)字視頻和聲頻廣播領域。
【背景技術】
[0002] 低密度奇偶校驗碼LDPC是由Gallager提出的一類具有稀疏校驗矩陣的線性分組 碼,它具有描述實現(xiàn)簡單、逼近香農限、易于理論分析、譯碼方法多樣且可實行并行操作等 優(yōu)點。LDPC碼可用在包括光纖通信、衛(wèi)星數(shù)字視頻、數(shù)字水印、磁/光/全息存儲、移動無線 通信、電纜調制解調器等在內的多個領域,是近年糾錯碼領域的研究熱點。
[0003] 目前LDPC碼的譯碼方法主要可分為兩種,一種是硬判決譯碼方法,如比特翻轉類 算法,另外一種是軟判決譯碼方法,如線性規(guī)劃譯碼、和積算法。其中現(xiàn)有的比特翻轉類算 法譯碼速度快,譯碼方法簡單,但是糾錯性能較差,不能滿足實際中很多系統(tǒng)的要求。軟判 決中的線性規(guī)劃譯碼方法是先將最大似然譯碼問題構造為整數(shù)規(guī)劃數(shù)學模型,然后再將其 中的整數(shù)約束松弛后轉化為較易求解的線性規(guī)劃問題實現(xiàn)譯碼。線性規(guī)劃譯碼具有易于數(shù) 學分析、具有最大似然認證特性等優(yōu)點,但隨著碼長增加,所對應的線性規(guī)劃數(shù)學模型的約 束個數(shù)和可行解搜索空間急劇增大,導致譯碼時間顯著增加。和積譯碼方法雖然有優(yōu)良的 糾錯性能,但用硬件實現(xiàn)起來卻復雜度過高。
【發(fā)明內容】
[0004] 本發(fā)明的目的在于對上述已有技術的不足,提出一種基于比特翻轉的LDPC碼局 部搜索譯碼方法,可應用于二元對稱BSC信道以減小譯碼迭代中的時間復雜度,提高譯碼 效率。
[0005] 為實現(xiàn)上述技術目的,所采用的技術方案是:基于比特翻轉的LDPC碼局部搜索譯 碼方法,在原有譯碼技術的基礎上,通過在譯碼中縮小碼字搜索范圍,引入新的信息位翻轉 函數(shù),并行翻轉多個信息位,構建多個譯碼初始解向量,從而有效的減少了譯碼迭代次數(shù), 提高了譯碼方法的糾錯性能和速度。其具體步驟包括如下: (1) 譯碼初始化: la) 對碼長為η的二進制LDPC碼G在二元對稱BSC信道下,依據(jù)接收消息向量r通過 分段函數(shù)
【權利要求】
1.基于比特翻轉的LDPC碼局部搜索譯碼方法,其特征在于:包括如下步驟: 譯碼初始化: la) 對碼長為η的二進制LDPC碼G在二元對稱BSC信道下,依據(jù)接收消息向量r通過 分段函數(shù)
獲得系數(shù)向量
其中,表示接收消息向
量r的第i位,集合I是LDPC碼變量節(jié)點索引集; lb) 通過在BSC信道上傳輸足夠樣本的已知碼字,獲得受噪聲污染后信息的最大翻轉 位數(shù)
其中
為BSC信道轉移概率,由
和碼長η得到懲罰常數(shù)
lc) 構建譯碼數(shù)學模型的目標函數(shù)為:
其中,解向量
為所求的發(fā)送碼字,集合J為LDPC碼的校驗節(jié)點索引 集,
為LDPC碼奇偶校驗矩陣Η的第j行與向量f乘積,其中向量f為解向量X的轉 置; 用接收消息向量r作為解向量的初始值x=r,計算校正子向量
判斷校正子 向量h是否為零向量,若為零向量,則輸出解向量X為譯出碼字,譯碼終止; 同時翻轉多位搜索距離接收消息向量r最近的碼字: 3a)依據(jù)解向量X和接收消息向量r計算漢明距離變量初始值*
其中符合e為與或位運算,設目標函數(shù)的初始值為
,校正子向量初始值為
,設目標 函數(shù)最小值
輔助解向量
3b)設置翻轉變量節(jié)點集合S為空集,對所有的變量節(jié)點
,分別計 算翻轉解向量X中一位X后所對應的翻轉函數(shù)值; 3c)設全部變量節(jié)點
的翻轉函數(shù)值中最小的為
如果
大于或等于
則置集合S為空集,并轉至步驟(4)執(zhí)行,如果
小于,
則將所 有
中對應翻轉函數(shù)值為
的變量節(jié)點加入到集合S中,設集合為
3d)依次對解向量X翻轉下列集合中的變量節(jié)點
,計算并行翻轉多位后的翻轉函數(shù)值,設并行翻轉集合S中的t個變量節(jié)點 時,即翻轉變量節(jié)點集
后翻轉函數(shù)達到最小值,
不再減小,更新目標函 數(shù)值初始值
和
3e)對解向量X翻轉集合
中的變量節(jié)點得到臨時解向量
更新校正 子向量
3f)計算臨時漢明距離$
,其中
表示取標量
的絕對值,更新解向量
和漢明距離變量
并判斷漢明距離變量
是否大于 最大翻轉位數(shù)
若是則轉到步驟(4)執(zhí)行; 3g)若目標函數(shù)最小值,
小于最大翻轉比特數(shù)
則輸出解向量X作為譯碼輸出碼 字,譯碼終止,否則轉到步驟(3b)執(zhí)行; 判斷校正子向量
是否為全零向量,如果h為全零向量則輸出解向量X為譯出 碼字,譯碼終止; 依次翻轉一位搜索距離接收消息向量r最近的碼字: 5a)為解向量賦初始值
計算漢明距離變量初始值
依據(jù)奇偶校驗矩陣Η和解向量X計算校正子向量
并統(tǒng)計校 正子向量h中非零元素的個數(shù)為1^-; 5b)對所有的變量節(jié)點
依次翻轉解向量X第i個元素變量節(jié)點
依據(jù)
計算翻轉
后校正子向量中非零元素的個數(shù),其中
為校正 子向量的第j位,
是所有校驗變量節(jié)點i的校驗節(jié)點集合; 5c)對所有的
設翻轉一位后所對應的校正子向量中非零元素個數(shù)
的最小值為
,對應的變量節(jié)點索引為
若
大于或等于
則轉至步驟(6)執(zhí) 行,若
小于
則翻轉解向量X的變量節(jié)點
的值,設翻轉后臨時解向量為
5d) 更新校正子向量為
計算臨時漢明距離
,更新解向量
和漢明距離變量
判斷漢明 距離變量
是否大于最大翻轉位數(shù)
若是則轉至步驟(6)執(zhí)行,若否轉至步驟(5b)執(zhí) 行; 判斷校正子向量
是否為全零向量,如果h為全零則輸出解向量X為碼字, 譯碼終止; 構建初始解向量集合: 7a)依據(jù)接收消息向量r計算目標函數(shù)初始值
計算校正子向量
設集合D為 空集; 7b)對所有的
,依次翻轉接收消息向量r的第i個元素后計算翻
轉函數(shù)的值,如果某個翻轉函數(shù)值小于
則將對應的變量節(jié)點序號加入集合D ; 7c)令解向量X為接收消息向量x=r,依次翻轉集合D中對應變量節(jié)點的值作為初始解 向量轉到步驟(3)執(zhí)行; 7d)設集合D的元素個數(shù)為
若
的值小于碼長n,令解向量X為接收消息 向量x=r,再依次翻轉集合D中任意兩個變量節(jié)點的值并作為初始解向量轉到步驟(3)執(zhí) 行; 判斷校正子向量
是否為全零向量,如果h為全零則輸出解向量X為碼字, 譯碼終止。
2.根據(jù)權利要求1所述的基于比特翻轉的LDPC碼局部搜索譯碼方法,其特征在于:所 述的步驟(3b)、步驟(3d)和步驟(7b)中所用的翻轉函數(shù)為:
其中,
是由初始解向量X計算得到的目標函數(shù)初始值,
為系數(shù)向量第i個元素
的值,
為所有校驗變量節(jié)點i的校驗節(jié)點索引集,I是LDPC碼變量節(jié)點索引集,P為懲罰 常數(shù),
為校正子向量h中的第j個元素。
【文檔編號】H03M13/11GK104218955SQ201410506541
【公開日】2014年12月17日 申請日期:2014年9月28日 優(yōu)先權日:2014年9月28日
【發(fā)明者】范慶輝, 張樂, 鄭林濤, 俞衛(wèi)華, 周立鵬, 陳永剛 申請人:河南科技大學