【LDPC编码】CDR系统中LDPC编码,LDPC编码的码长为9216
1.软件版本
matlab2013b
2.系统描述
在广播通信系统中,消息发送的速度和性能是一对矛盾,当发送速度快,则必然会降低消息的可靠性,当要求系统的性能,则必然会降低发送码率。为了提高系统的性能,并尽可能的提高系统的传输码率。需要使用信源编码和信道编码,其中信源编码,其主要目的就是使用尽可能少的符号来传递信息,从而提高传输效率。信道编码的主要原理就是在待发送的二进制序列上加入监督码元,通过这些监督码元,可以使得发送的二进制序列之间产生相关性,因此信道编码是通过增加发送数据的冗余度来提高系统的性能。差错控制译码则利用这些规律性来鉴别传输过程是否发生错误,或进而纠正错误[05,06]。本章将主要介绍一种基于中国数字音频广播(CDR)系统的QC-LDPC编码实现方法,并通过MATLAB对其进行性能的仿真分析。
CDR系统,其主要通过数字编码调制技术实现数字音频广播业务和数据业务的播出。CDR系统中规定了87MHz~108MHz频率范围内数字广播系统信息的各种技术指标,包括帧结构、信道编码以及调制技术。CDR整个系统的基本结构如下图所示:
图1CDR数字音频广播系统结构图
从图1的结构可知,CDR系统同时可以传输多路数字信号,包括数字音频及数据业务,各路业务等,并通过复用的方式进行发送,然后在系统的发送端,通过编码和调制将数字信号发送出去。因此,信道编码部分在整个系统中起到一个决定性的功能,信道编码的性能直接影响着整个CDR系统的性能。
在CDR系统中,稀疏校验矩阵H为一个二进制稀疏矩阵。根据国家的相关规定可知,CDR标准通过表明该稀疏校验矩阵中每一行非元素的位置来描述,以LDPC(9216,4608) 为例,其校验矩阵H结构如下所示:
[0]: 495 1190 1527 2847 3289 3656 4800 4864
[1]: 496 1191 1528 2848 3290 3657 4801 4865
[2]: 497 1192 1529 2849 3291 3658 4802 4866
[3]: 498 1193 1530 2850 3292 3659 4803 4867
.........
.........
[4605]: 506 1430 2027 2893 3417 3656 4653 9213
[4606]: 507 1431 2028 2894 3418 3657 4654 9214
[4607]: 508 1432 2029 2895 3419 3658 4655 9215
其含义为,[0]表示第一行中的495,1190等列的元素表示的是取值为1的非零元素,而其他没有标注的列所对应的元素则为零元素。同样道理,[4607]: 508 1432....表示的是第4608行的508,1432等列的元素表示的是取值为1的非零元素,而其余列为零元素。
该校验矩阵的整体01布局图如下图所示:
图2基于CDR的1/2码率LDPC码的校验矩阵
从图2的校验矩阵的01布局图可知,该矩阵具有明显的准双对角线的性质。因此采用传统的基于生成矩阵的编码方式得到的码字将导致其稀疏性大大降低,因此,本文才去基于基于近似下三角矩阵LDPC编码实现方法。
根据基矩阵,构建相应的校验矩阵H,这里我们选择如下形式的基矩阵。
3.部分源码
clc;
clear all;
close all;
warning off;
addpath 'func\'
load HG12.mat;
[m,n]= size(H);
R =(n-m)/n;
N = size(G,1);
Wlvel= [2000];
SNR = [-1:1:7];
for i1=1:length(SNR)
i1
err= 0;
j1 = 0;
while err<Wlvel
err
j1 = j1+1;
Ti = randi([0,1],1,N);
Ti_ldpc = mod(Ti*G,2);
Ti_ldpcN = awgn(2*Ti_ldpc-1,SNR(i1));
Ydecode = decodeLogDomainSimple(Ti_ldpcN',H,15);
Ri = Ydecode(end-N+1:end);
err = err + length(find(Ri~=Ti));
end
Errall(i1)=err/N/j1;
end
figure;
semilogy(SNR,Errall,'b-o');
xlabel('SNR(dB)');
ylabel('BER');
grid on;
save R12.mat SNR Errall
4.仿真结论
将SNR信噪比设置为0到10dB,分别对LDPC(9216,6912) ,LDPC(9216,4608)、LDPC(9216,3072)以及LDPC(9216,2304)进行误码率仿真,得到如下的误码率曲线。
5.参考文献
[01]MAHDI A, PALIOURAS V. Construction of irregular QC-LDPC codes via masking with ACE optimization[J]. IEEE communications letters,2014,18(2):348-351.A14-39
相关文章
- torch serve部署 unicode编码问题curl post如何把返回的unicode编码变成中文字符
- java安全编码指南之:输入注入injection
- 史上最通俗的海明码编码计算、检错和纠错原理解析
- 专治编译器编辑器vscode中文乱码输出 win10 配置系统默认utf-8编码
- 基于ODBTC有序抖动块截断编码和DCT域数字水印嵌入提取算法matlab仿真
- MIMO系统的线性预编码和非线性预编码技术
- python OneHot编码
- python 编码检测工具——chardet
- SwiftUI 编码能力提升之 XcodeGen 是什么, 为什么要使用这个工具(教程含源码)
- python 代码库之遍历ttf字库编码和字符(含demo)
- 让ZenCoding提升编码速度
- 中文问题-设置编码的方法
- 全国行政区域代码/编码
- PHP iconv 解决utf-8和gb2312编码转换问题
- 编码学习---代码OJ网站
- 深入理解计算机系统cp1:存储单位与编码
- python学习(二)之编码
- 把windows系统的默认编码改成UTF-8
- HTML URL 编码
- iOS - 网址、链接、网页地址、下载链接等正则表达式匹配(解决url包含中文不能编码的问题)
- 哈夫曼树编码以及构造--数据结构实验三