二元LDPC碼ADMM譯碼方法研究及FPGA實(shí)現(xiàn)
發(fā)布時(shí)間:2020-07-28 10:59
【摘要】:低密度奇偶校驗(yàn)(Low Density Parity Check,LDPC)碼是一種接近香農(nóng)限的高效線性分組碼,被廣泛應(yīng)用在各種通信系統(tǒng)中。由于FPGA具有可編程和高速運(yùn)行的特點(diǎn),基于FPGA平臺(tái)研究LDPC譯碼器的設(shè)計(jì)已成為L(zhǎng)DPC譯碼的重要實(shí)現(xiàn)手段。線性規(guī)劃(Linear Programming,LP)譯碼算法是近年來得到廣泛關(guān)注的一類新譯碼方法,相比于傳統(tǒng)的置信傳播(Belief Propagation,BP)譯碼算法具有更低的誤碼平臺(tái)。本文針對(duì)二元LDPC碼的LP譯碼方法,研究了一種基于最小多面體帶懲罰函數(shù)的交替方向乘子(Alternating Direction Method of Multipliers,ADMM)譯碼算法。論文的主要內(nèi)容如下:1、介紹了LDPC碼的基本概念和相關(guān)基礎(chǔ)知識(shí),給出了BP譯碼算法的基本原理;谧畲笏迫(Maximum Likelihood,ML)譯碼算法,討論了LP譯碼的松弛方法,給出了Feldman LP譯碼模型;討論了ADMM算法的基本原理和迭代框架。2、結(jié)合最小多面體模型和ADMM算法,給出了一種基于最小多面體模型和ADMM技術(shù)的LP譯碼算法。該算法通過校驗(yàn)節(jié)點(diǎn)度分解技術(shù)有效降低了譯碼模型的復(fù)雜度,設(shè)計(jì)出的譯碼器不需要調(diào)用投影算法,進(jìn)一步降低了譯碼器的復(fù)雜度,并且算法可以并行執(zhí)行。結(jié)合懲罰函數(shù)以及基于最小多面體模型和ADMM技術(shù)的LP譯碼算法,給出了一種基于最小多面體帶懲罰的ADMM譯碼算法,有效提升了算法的譯碼性能。3、針對(duì)基于最小多面體帶懲罰函數(shù)的ADMM譯碼算法,提出了一種部分并行結(jié)構(gòu)的LDPC譯碼器設(shè)計(jì)方法。充分利用了LP譯碼模型的內(nèi)在結(jié)構(gòu),將復(fù)雜的矩陣乘法運(yùn)算簡(jiǎn)化成了非零元素之間的加法運(yùn)算。并根據(jù)譯碼算法中矩陣的結(jié)構(gòu)特點(diǎn),對(duì)信息的存儲(chǔ)方式進(jìn)行優(yōu)化,節(jié)省了存儲(chǔ)資源,提高了譯碼速度。4、在Xilinx Virtex-6 FPGA平臺(tái)設(shè)計(jì)了上述基于ADMM算法的LDPC譯碼器。測(cè)試結(jié)果表明本文設(shè)計(jì)的LDPC譯碼器工作情況良好,可以實(shí)現(xiàn)LDPC碼的正確譯碼。
【學(xué)位授予單位】:西安電子科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TN911.22;TN791
【圖文】:
西安電子科技大學(xué)碩士學(xué)位論文前面的定義相同,start 為輸入數(shù)據(jù)開始信號(hào),dout 為輸出的譯碼結(jié)果,dout_start 為譯碼結(jié)果開始輸出信號(hào),dout_ena 為 dout 的標(biāo)記信號(hào),dout_times 為譯碼迭代次數(shù)。p1_done_flag 拉高表示初始化完成,p2_start 拉高表示變量 v 模塊開始更新運(yùn)算,p2_done_flag 拉高表示完成一次變量 的更新運(yùn)算。p3_start 拉高表示變量 w 和 模塊開始更新運(yùn)算,p3_done_flag 拉高表示完成一次變量w 和 的更新運(yùn)算。p4_start 拉高表示校驗(yàn)方程計(jì)算模塊開始工作,p4_done_flag 拉高表示完成一次校驗(yàn)方程的計(jì)算。由圖 5.2 可見,整個(gè)譯碼過程經(jīng)過 13 次迭代后,最終譯碼結(jié)果滿足校驗(yàn)方程,譯碼成功并輸出譯碼結(jié)果。
52圖5.3 LDPC 譯碼器輸出數(shù)據(jù)仿真圖采用與上述 LDPC 譯碼器相同的譯碼算法,本文使用串行結(jié)構(gòu)對(duì)其進(jìn)行了 LDPC譯碼器的實(shí)現(xiàn),通過 Modelsim10.2c 進(jìn)行功能仿真,得到其每次迭代時(shí)間如圖 5.4 所示。其中,系統(tǒng)時(shí)鐘頻率為 80MHz。圖 5.4 中,p1_done_flag,p2_start,p2_done_flag,p3_start,p3_done_flag,p4_start,p4_done_flag 的定義均與圖 5.2 中的定義相同。從圖中可以看出,基于 ADMM 算法的串行結(jié)構(gòu) LDPC 譯碼器每次迭代時(shí)間為 1.07ms(毫秒)。
第五章 LDPC 譯碼器的驗(yàn)證與性能分析53圖5.4 基于 ADMM 算法的串行結(jié)構(gòu) LDPC 譯碼器每次迭代時(shí)間本文復(fù)現(xiàn)了基于對(duì)數(shù)域 BP 譯碼算法的串行結(jié)構(gòu) LDPC 譯碼器,采用查找表的形式代替 BP 譯碼算法中的雙曲正切函數(shù)運(yùn)算。通過 Modelsim10.2c 進(jìn)行功能仿真,得到其每次迭代時(shí)間如圖 5.5 所示。其中,系統(tǒng)時(shí)鐘頻率為 80MHz。圖5.5 基于對(duì)數(shù)域 BP 譯碼算法的串行結(jié)構(gòu) LDPC 譯碼器每次迭代時(shí)間圖 5.5 中,p1_done_flag 拉高表示初始化完成,p2_start 拉高表示校驗(yàn)節(jié)點(diǎn)更新模塊開始工作,p2_done_flag 拉高表示校驗(yàn)節(jié)點(diǎn)更新模塊完成工作,p3_start 拉高表示變量節(jié)點(diǎn)更新模塊開始工作
本文編號(hào):2772785
【學(xué)位授予單位】:西安電子科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TN911.22;TN791
【圖文】:
西安電子科技大學(xué)碩士學(xué)位論文前面的定義相同,start 為輸入數(shù)據(jù)開始信號(hào),dout 為輸出的譯碼結(jié)果,dout_start 為譯碼結(jié)果開始輸出信號(hào),dout_ena 為 dout 的標(biāo)記信號(hào),dout_times 為譯碼迭代次數(shù)。p1_done_flag 拉高表示初始化完成,p2_start 拉高表示變量 v 模塊開始更新運(yùn)算,p2_done_flag 拉高表示完成一次變量 的更新運(yùn)算。p3_start 拉高表示變量 w 和 模塊開始更新運(yùn)算,p3_done_flag 拉高表示完成一次變量w 和 的更新運(yùn)算。p4_start 拉高表示校驗(yàn)方程計(jì)算模塊開始工作,p4_done_flag 拉高表示完成一次校驗(yàn)方程的計(jì)算。由圖 5.2 可見,整個(gè)譯碼過程經(jīng)過 13 次迭代后,最終譯碼結(jié)果滿足校驗(yàn)方程,譯碼成功并輸出譯碼結(jié)果。
52圖5.3 LDPC 譯碼器輸出數(shù)據(jù)仿真圖采用與上述 LDPC 譯碼器相同的譯碼算法,本文使用串行結(jié)構(gòu)對(duì)其進(jìn)行了 LDPC譯碼器的實(shí)現(xiàn),通過 Modelsim10.2c 進(jìn)行功能仿真,得到其每次迭代時(shí)間如圖 5.4 所示。其中,系統(tǒng)時(shí)鐘頻率為 80MHz。圖 5.4 中,p1_done_flag,p2_start,p2_done_flag,p3_start,p3_done_flag,p4_start,p4_done_flag 的定義均與圖 5.2 中的定義相同。從圖中可以看出,基于 ADMM 算法的串行結(jié)構(gòu) LDPC 譯碼器每次迭代時(shí)間為 1.07ms(毫秒)。
第五章 LDPC 譯碼器的驗(yàn)證與性能分析53圖5.4 基于 ADMM 算法的串行結(jié)構(gòu) LDPC 譯碼器每次迭代時(shí)間本文復(fù)現(xiàn)了基于對(duì)數(shù)域 BP 譯碼算法的串行結(jié)構(gòu) LDPC 譯碼器,采用查找表的形式代替 BP 譯碼算法中的雙曲正切函數(shù)運(yùn)算。通過 Modelsim10.2c 進(jìn)行功能仿真,得到其每次迭代時(shí)間如圖 5.5 所示。其中,系統(tǒng)時(shí)鐘頻率為 80MHz。圖5.5 基于對(duì)數(shù)域 BP 譯碼算法的串行結(jié)構(gòu) LDPC 譯碼器每次迭代時(shí)間圖 5.5 中,p1_done_flag 拉高表示初始化完成,p2_start 拉高表示校驗(yàn)節(jié)點(diǎn)更新模塊開始工作,p2_done_flag 拉高表示校驗(yàn)節(jié)點(diǎn)更新模塊完成工作,p3_start 拉高表示變量節(jié)點(diǎn)更新模塊開始工作
【參考文獻(xiàn)】
相關(guān)期刊論文 前1條
1 蘇斌;劉暢;潘志剛;;基于FPGA的高速浮點(diǎn)FFT/IFFT處理器設(shè)計(jì)與實(shí)現(xiàn)[J];中國(guó)科學(xué)院大學(xué)學(xué)報(bào);2015年02期
本文編號(hào):2772785
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/2772785.html
最近更新
教材專著