程序说明

上传人:简****9 文档编号:109667658 上传时间:2019-10-27 格式:DOCX 页数:4 大小:89.74KB
返回 下载 相关 举报
程序说明_第1页
第1页 / 共4页
程序说明_第2页
第2页 / 共4页
程序说明_第3页
第3页 / 共4页
程序说明_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《程序说明》由会员分享,可在线阅读,更多相关《程序说明(4页珍藏版)》请在金锄头文库上搜索。

1、一主程序 ldpc_demo.m 程序功能:对整个通信系统进行仿真,得到误码率(BER)与信噪比(SNR)的关系图。工作原理:(1)设置相关参数,如校验矩阵H的行与列,信噪比等。(2)随机生成二进制信源s(3)对信源进行编码(包过生成H矩阵,再进行编码) 调用的程序有:genH.m ldpc_encode.m (4)对LDPC编码得到的码字u进行BPSK调制 调用的程序有:bpsk.m (5)对调制信号添加加性高斯白噪声 awgn(x,snr)(6)解调(7)LDPC译码 ldpc_decode.m (8)计算系统的误码率与图形显示运行结果:(误码率比较高?)接下来对主要模块程序进行详细介绍。

2、二生成校验矩阵H的程序 genH.m程序功能:输入校验矩阵的行与列,随机生出一个符合构造条件的H矩阵。工作原理:(1)LDPC编码原理:LDPC 码是一种线性分组码,表示为( N,K) ,N代表码长,K 代表信息序列长度。每个LDPC 码由其校验矩阵H 唯一定义,H 是M 行N 列的稀疏矩阵,其中M = N K,构造H 矩阵是LDPC 码的关键3。H 矩阵的构造需要满足以下3 个条件: 每行不超过Dr 个元素为1,每列不超过Dc 个元素为1,且Dr 和Dc 与码长N 的比值远小于1; 任意2 行( 列) 最多只有1 个相同位置上的1; 线性无关的行( 列) 数尽可能得大Dr和Dc 分别代表行重

3、和列重。条件带来的矩阵低密度性,一方面保证了LDPC 码的线性结构;另一方面使得解码时可以采取适当的并行结构进行迭代解码。H 矩阵的构造方法有多种,可以分为确定性构造和随机性构造2 种方法来得到。每一种设计方法都只能对应LDPC 码的一个子集。一般确定性构造的LDPC 码易于实现,而随机性构造的LDPC 码则性能更优。具体的构造方法包括Gal1ager 构造法4和欧式几何构造法5等。在码长固定的情况下,对于适用的码字来说无圈是不可能的,但是通过增大最小环的环长,也就是增大(围长)girth,可以提高码字的性能,girth达到一定的值就可以接近无环时的性能。显然决定码字性能的是码间距,但是我们无

4、法去直接约束控制码间距;控制Tanner图的girth虽然也有很大的难度,但却是可以通过一些方法消除长度较短的环;一般来说,girth大的码字其码间距也大,但是码间距大的其girth不一定就很大。因此,girth是目前设计LDPC码最常用到的关键词之一从前面论述可知校验矩阵中的短环对码性能有重要影响,因此我们希望生成的校验矩阵具有尽可能大的girth(最短的环的长度),且短环的数量尽可能少于是我们就需要借助一些算法来求出二分图的girth及长度等于girth的环的数量。所以应该在校验矩阵H中添加去除4环具体简便算法(4环是最多的最短环)。(2)算法:根据矩阵的构造条件及稀疏性要求,用以下算法可

5、以得到,第一步初始化行、列、行标志、校验矩阵元素、列重(设为3);第二步搜索列,将列重个1尽量分在不同行;第三步随机搜素,计算行标志;第四步判断行标志是否为1或0,是则随机在单个1的行中置一个1,在0个1的行中置两个1,否则将1散步开来,使每行1的个数是统一的;最后尽量消除因子图中的4环。三LDPC编码程序 ldpc_encode.m程序功能:输入信源S和检验矩阵H,即可生成码字。工作原理:从本质上来说LDPC码是属于线性分组码的一种特殊形式。一个用(n,k)表示的线性分组码将长度为k位的信息s映射成为长为n位的码字u。其中多出来的m=nk位为检验位。s和u的映射关系可以表示为矩阵形式:u=s

6、G,我们将表达式里的矩阵G定义为生成矩阵,并且它为k行n列。对于每一个k xn维的生成矩阵G都存在一个m(m=nk)行n列的矩阵H满足H和G行正交关系,即GHT=O。其中H矩阵被称作校验矩阵。编码后的码字u和校验矩阵又满足关系:HuT=O。如果将H分解成A/B,其中A为mk矩阵,B为mxm满秩矩阵,将u分解成c/s,则有:A/BC/S=0 A*c+B*s=0 C=A-1*B*S若将H进行装换成I/P,其中I为单位矩阵,则变化为c=p*S,再由u=c/s即可得到编码后的码字。(这个过程需要调用H2P.m程序和mul_GF2.m的程序)。四调制程序 bpsk.m 程序功能:对编码后的码字进行二进制

7、的载波相位调制。五LDPC译码程序 ldpc_decode.m程序功能:对解调后的信号进行迭代译码,采用概率域BP译码算法。工作原理:(1)LDPC码的译码算法:为了更好的描述迭代译码,我们需要使用Tanner图来表示LDPC码。消息沿着Tanner图的边进行传输。本地计算在图中的节点处被完成。为了方便相继迭代过程,必须保证该图越稀疏(低密度)越好。LDPC码有很多种译码方法,本质上大都是基于Tanner图的消息传递译码算法。根据消息迭代过程中传送消息的不同形式,可以将LDPC的译码方法分为硬判决译码和软判决译码。如果在译码过程中传送的消息是比特值,称之为硬判决译码;如果在译码过程中传送的消息

8、是与后验概率相关的消息,称之为软判决译码。根据消息迭代过程中传送的消息是否进行了量化及量化所使用的比特数,我们可以将译码方法分为无量化译码和量化译码。硬判决译码可以看成是1比特量化译码,软判决译码可以看成无穷多比特量化译码。主要的硬判译码算法有位翻转算法(BF)、加权位翻转算法等。软译码算法主要有迭代结构的置信传播算法(Belief Propagation)、BPBased、归一化的BP算法、Offset BP-Base译码算法以及基于迭代可靠性的译码算法等。(2)本程序采用的算法:对于奇偶校验矩阵,我们定义N-K个校验节点和N个比特节点。校验节点代表奇偶校验等式,比特节点代表码字比特位。译码过程是迭代进行的。在每一次迭代过程中,每一个比特节点将消息传送给相连的校验节点。在下一半迭代过程中,每一个校验节点将消息传送给比特节点,所传递的消属于外部信息即上一次迭代过程中,从比特节点处获得的信息。然后,判定临时译出的码字的有效性。如果所获得的码字为一完整码字或迭代次数达到所设定的最大迭代次数,则译码过程结束。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号