信息压缩与传输报告.docx
- 文档编号:1789980
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:9
- 大小:107.55KB
信息压缩与传输报告.docx
《信息压缩与传输报告.docx》由会员分享,可在线阅读,更多相关《信息压缩与传输报告.docx(9页珍藏版)》请在冰豆网上搜索。
信息压缩与传输报告
信息压缩与传输报告
题目:
一种QC_LDPC译码器的实现方法
姓名:
学号:
学院:
专业:
年级:
一种QC_LDPC译码器的实现方法
摘要:
为了克服LDPC码BP译码算法硬件实现复杂度大的缺点,针对QC_LDPC码校验矩阵的结构特性,研究了BP算法的特点,并利用TMS320C6747系列DSP作为实现平台,成功实现了基于BP算法的QC_LDPC码译码器.系统性能测试表明,经优化的BP算法译码器与理论分析相比,性能基本一致.
关键词:
QC_LDPC码;BP算法;DSP;实现复杂度;译码器
OnewaytoimplementQC_LDPCdecoder
Abstract:
InordertoovercometheshortcomingsofthehighcomplexityinhardwareimplementationoftheBPdecodingalgorithm'shardwareimplementation,thecharacteristicsoftheBPalgorithmwerestudied,inviewofthestructuralpropertiesoftheQC_LDPCcodecheckmatrix.AndtheTMS320C6747DSPwereusedfortheimplementationandtheimplementationoftheQC_LDPCdecoderbasedontheBPalgorithmwascompletedintheend.ThesystemtestsresultsshowsthattheperformanceoftheoptimizedBPalgorithmdecoderisalmostthesametothetheoreticanalysis.
Keywords:
QC_LDPCcode;BPalgorithm;DSP;implementationcomplexity;decoder
第1章绪论
1.1课题研究背景
LDPC(lowdensityparitycheck)码是一种定义在稀疏奇偶校验矩阵上的性能优越的线性分组码,最初由Gallager[1]博士在1963年提出.该码在用非常稀疏的校验矩阵与基于BP(beliefpropagation)译码算法[2-3]的条件下具有逼近香农限的性能,具有良好的距离特性,且在当码长时,不存在“地板效应”.LDPC码的实用化是近年研究的热点.随机构造的检验矩阵虽然具有良好的性能,但是由于其节点的随机性,给硬件实现带来了难度.而近来兴起的规则化构造校验矩阵的LDPC码,特别是Fossorier提出的低编码复杂度的QC准循环(quasicyclic)LDPC码的出现在硬件实现上提供了新的思路[4].在译码算法方面,BP算法虽然性能优越,但由于其存在较多的浮点乘法运算,占据资源量大,一直是硬件实现的瓶颈.随着高速高容量的数字信号处理器(DSP)的发展,文中采用TI公司的TMS320C6747系列DSP,基于QC_LDPC码,针对BP译码算法,在资源存储、数据精度处理方面提出了改进,实现了基于BP算法的QC_LDPC码译码器,获得了较好的性能。
1.2QC__LDPC码的校验矩阵
QC_LDPC码是一种特殊结构化LDPC码,其校验矩阵由一系列p×p循环子矩阵组成,所谓循环子矩阵是指子矩阵中每一行都是上一行的循环右移,第1行是最后一行的循环右移;每一列都是上一列的循环下移,第l列是最后一列的循环下移.当循环子矩阵的行重和列重为1时,该循环子矩阵可由同样大小的单位阵循环移位得到[5]。
第2章QC_LDPC码的BP译码算法
BP译码算法的核心思想在于利用从信道中接收到的信息在变量节点和校验节点之间进行信息传递、迭代运算,从而获得最大的编码增益,其每次译码迭代包括2步:
校验节点的信息处理和变量节点的信息处理.在每次迭代中,所有校验节点从其相邻的变量节点处接收信息,处理后再传回到相邻的变量节点;然后所有的变量节点进行同样的过程;最后变量节点收集所有可以利用的信息进行判决[6]。
具体算法如下:
定义接收到的序列为y=(y1,y2,…,yn),译码得到的序列为c,rji(b)(b=0,1)表示校验节点j传给变量节点i的外部概率信息,qji(b)表示变量节点i传递给校验节点j的外部概率信息.C(i)表示与变量节点i相连的校验节点的集合;R(j)表示与校验节点j相连的变量节点的集合;C(i)\j表示除j外与变量节点i相连的校验节点的集合;R(j)\i表示除i外与校验节点j相连的变量节点的集合;Pi
(1)=Pr(ci=1|yi)表示接收到信息序列后判断发送比特(或变量节点)为ci=1的后验概率;同理,Pi(0)=Pr(ci=0|yi)表示接收到信息序列后判断送比特(或变量节点)为ci=0的后验概率。
1)初始化.计算信道传递给变量节点的初始概率Pi
(1),Pi(0)=1-Pi
(1),i=1,2,…,n.然后对每个变量节点i和与其相邻的校验节点j∈C(i),设定变量点传向
校验节点的初始消息:
2)迭代处理.
步骤1:
校验节点信息处理.对所有的校验节点j和与其相邻的变量节点,第L次迭代时,计算量节点传向校验节点的信息
步骤2:
变量节点信息处理.
对所有的变量节点和与其相邻的校验节点,计算校验节点传向变量节点的信息
步骤3:
译码判决.
对所有变量节点计算硬判决信息:
3)停止
若矩阵等于0或者达到最大迭代次数则结束运算,否则从步骤1继续迭代。
第3章QC_LDPC译码器的DSP实现
采用TI公司的TMS320C6747系列浮点DSP作为译码器的实现平台.此款DSP的最新型C674X内核将以往浮点型DSP的高精度数据处理优势和只有定点处理器才具备的连接性外设、低功耗和低成本的优点完美结合在一起,具有300MHz主频、320KB的片内RAM,以及1024KB的片内ROM.BP算法在以往难以用硬件实现的原因在于其算法本身存在大量的浮点数乘除法运算,处理比较复杂,且占据大量的内存空间,给处理器实现带来难度;同时,由于处理的信息有接近于0的小数概率,在乘除法及对数运算时容易超出处理器设定的最大数量级范围,从而造成数据的溢出,导致整帧信息无法译出.为了解决以上难题,对译码器资源存储和数据精度处理进行了优化:
(1)在信息迭代处理过程中,当码长较长时,如果将整个LDPC码校验矩阵的“0”和“1”位置的信息均记录在内存中,则势必占据过多的系统资源,而事实上,参与迭代的有用信息仅存于“1”位置,故只需记录“1”位置的信息即可.结合QC_LDPC校验矩阵准循环结构的特点,将Aij对应到一个长度为p的数组L_ij上,L_ij的每一个位置存储Aij对应列里“1”位置的信息,如L_ij(k)存储的就是Aij中第k列的“1”位置的信息,其中k
图1校验矩阵对应的RAM存储器阵列结构图
信息迭代处理时,当Aij为单位矩阵时,L_ij(k)对应的信息就是Aij中第k行第k列的“1”的信息;当Aij为单位矩阵的循环移位矩阵时,L_ij(k)对应的信息则是根据右移系数Iij推算出对应行的Aij第k列的信息。
2)在译码每次迭代过程中,如果对2类节点信息rij(b)和qij(b)、接收初始化信息Pi
(1)和Pi(0)及译码中间环节变量分别存储,则需要存储器的数量为校验矩阵中非零矩阵数量的2倍以上;如果将存储器复用,即校验节点更新时,存储校验节点信息,当进入变量节点更新时,将此存储空间再用来存取变量节点信息,同时,不再为初始化信息和中间变量信息开辟存储空间,而将其并入2类节点信息的存储器中,往复利用,可以节省一半的存储空间.事实证明,当LDPC码长为1536的情况下,优化前,所需空间约为282.6KB,经复用,可以节省到约122.88KB,极大地提高了资源利用率。
3)在用DSP实现BP译码算法时,在DSP系统外扩大容量SDRAM、Flash芯片来实现大容量数据存储。
对于部分不参与迭代的变量数组,如从解调模块接收的信息数组、译码判决信息数组等,可以存在片外SDRAM中,如图2所示,需要时可以从片外存取,从而进一步节省DSP片内存储空间,
图2DSP外扩存储器结构图
算法涉及的所有浮点型数组,均按照单精度浮点float型(32位)保存,而不采用64位的双精度浮点型;译码判决序列按照char型(8位)保存,而不采用整形数组(16位).通过上述优化,在原有的基础上进一步节省了DSP片内约60KB的存储空间。
经验证,以上阐述的存储器复用、片外存储变量、数据格式的选择等资源优化方式节省了约3/4的存储空间。
第四章程序验证译码效果
程序介绍:
使用码率为0.5的准循环LDPC码,码矩阵(1255,2510)
迭代30次,输入10帧数据。
先对数据通过生成矩阵G进行编码,进行BPSK调制,送入高斯白噪声信道,通过校验矩阵H进行译码操作。
利用对数域LLR-BP算法译码,并且计算出误码率。
并对只采用BPSK调制解调的误码性能和使用LDPC编解码的误码性能通过实验验证做错出比较
源程序如下:
%%计算LDPC性能
clearall;
clc;
%------------初始化-------------%
EbN0=0:
0.5:
8;%信噪比
iter2=30;%迭代次数
frame=10;%测量的帧数
rate=0.5;%误码
ber3=zeros(length(EbN0));
ber=zeros(length(EbN0));
q=251;
summ=0;
sumn=0;
count=0;
E0=eye(q);%µ¥Î»¾ØÕó
EZ=zeros(q);%0¾ØÕó
loadH_01_dual_diag.matH_01;%校验矩阵
loadP.matP;%生成矩阵
[row_hcol_h]=size(H_01);
%---------------将循环矩阵转换为实际的校验矩阵--------------------%
fori=1:
row_h
forj=1:
col_h
ifH_01(i,j)==-1
H_0_matrix((i-1)*q+1:
i*q,(j-1)*q+1:
j*q)=circshift(EZ,H_01(i,j));
else
H_0_matrix((i-1)*q+1:
i*q,(j-1)*q+1:
j*q)=circshift(E0,H_01(i,j));
end
end
end
H=H_0_matrix;
fori=1:
length(EbN0)
forj=1:
frame
fprintf('Frame:
%d\n',j);
%-------------------编码-------------------%
x=(sign(randn(1,size(P,1)))+1)/2;
y=mod(x*P,2);
u=[yx];
%-------------------调制-------------------%
bpskMod=2*u-1;
%---------------加入高斯信道---------------%
N0=1/(exp(EbN0(i)*log(10)/10));
tx=bpskMod+s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 压缩 传输 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)