基于大衍数构造的稀疏校验矩阵LDPC误码率matlab仿真,对比不同译码迭代次数,码率以及码长

目录

1.引言

2.算法测试效果

3.算法涉及理论知识概要

4.MATLAB核心程序

5.完整算法代码文件获得


1.引言

基于大衍数的LDPC校验矩阵构造,本质是利用大衍数序列的周期性和互素性,设计具有规则稀疏结构的校验矩阵,兼顾性能与实现复杂度。基于大衍数列构造准循环低密度校验码的方法,该方法利用大衍数列固定项差对应的值单调递增的特点,构造出的校验矩阵具有准循环结构,节省了校验矩阵的存储空间。

2.算法测试效果

3.算法涉及理论知识概要

LDPC码是一类线性分组码,其编码和译码过程基于校验矩阵H和生成矩阵G实现。

LDPC码的校验矩阵需满足行重dr ​和列重dc均为小常数,即每行中1的个数为dr,每列中1的个数为 dc。行重和列重满足关系:R×dr=n×dc该公式体现了矩阵中1的总数的守恒性。

基于大衍数的LDPC校验矩阵构造,是将大衍数序列的元素映射为校验矩阵中1的位置,通过控制序列的周期性和互素性,确保矩阵满足稀疏性、行/列重恒定、行向量线性无关等核心要求。其核心思想可概括为:

**1.参数初始化:**码长n、码率r,计算校验行数R=n(1−r) ;设定行重dr和列重dc,满足Rdr=ndc ​ 。

**2.大衍数序列生成:**选择基值K和周期M,生成扩展大衍数序列D(i,j),其中i∈[0,R−1]对应矩阵行索引,j∈[0,n−1]对应矩阵列索引。

**3."1"的位置映射:**定义映射规则:若D(i,j)=t(t为预设阈值,通常取t=0),则校验矩阵中H(i,j)=1 ;否则H(i,j)=0。

**4.矩阵验证与优化:**验证矩阵的行/列重是否恒定、行向量是否线性无关,若不满足则调整大衍数序列的参数(K,M,t),直至满足要求。

利用大衍数列的独特性质设计指数矩阵,并将其用来扩展原模图矩阵,得到的校验矩阵中不存在四环。因为原模图基矩阵由计算机搜索算法产生,具有列数可灵活改变的优点,并且该方案构造的校验矩阵中六环的数量相比于基于大衍数列构造法大大地减少了。基于大衍数列构造准循环低密度校验码的方法.该方法利用大衍数列固定项差对应的值单调递增的特点,构造出的校验矩阵不含有长度为4的环,具有准循环结构,节省了校验矩阵的存储空间.

4.MATLAB核心程序

复制代码
............................................................
    SNR     = 10^(EbN0(i)/10);
    sigma   = 1/sqrt(SNR);
    while Num_err <= NUMS(i)
        fprintf('Eb/N0 = %f\n', EsN0(i));
        Num_err
        N0  = 2*10^(-EbN0(i)/10);
        Trans_data             = round(rand(N-M,1));           %产生需要发送的随机数
        [ldpc_code,newH]       = func_Enc(Trans_data,H1);       %LDPC编码
        u                      = [ldpc_code;Trans_data];       %LDPC编码
        Trans_BPSK             = 2*u-1;                        %BPSK
 
        NTrans_BPSK            = Trans_BPSK+sqrt(N0/2)*randn(size(Trans_BPSK));%加干扰
        %译码
        z_hat       = func_Ldpc_dec(NTrans_BPSK,sigma,newH,Max_iter);
        x_hat       = z_hat(M+1:N);
        %误码率
        [nberr,rat] = biterr(x_hat,Trans_data);
 
        Num_err     = Num_err+nberr;
        Numbers     = Numbers+1;

figure;
semilogy(EsN0,Bit_err,'o-');%显示波形
xlabel('Es/N0(dB)');
ylabel('BER');
grid on;
save dat1.mat EsN0 Bit_err%保存数据
14-44m

5.完整算法代码文件获得

V

(V关注后回复码:X109)

相关推荐
feifeigo1233 天前
matlab画图工具
开发语言·matlab
Gofarlic_oms13 天前
避免Kisssoft高级分析模块过度采购的科学评估方法
大数据·linux·运维·人工智能·matlab
rit84324993 天前
全变分正则化图像去噪的MATLAB实现
开发语言·matlab
Evand J3 天前
通过matlab实现机器学习的小项目示例(鸢尾花分类)
机器学习·支持向量机·matlab
bu_shuo3 天前
MATLAB命令行窗口中的字体放大操作
matlab·命令行
micro_xx3 天前
Matlab 有限元分析三维悬臂梁变形
前端·数据库·matlab
Matlab程序设计与单片机3 天前
【变压器故障诊断分类与预测(DGA原始数据)】基于标准Elman神经网络
matlab·elman神经网络·变压器故障诊断与分类预测
Evand J3 天前
【课题推荐】深度学习驱动的交通流量预测系统(基于LSTM的交通流量预测系统),MATLAB实现
人工智能·深度学习·matlab·课题简介
晞子的技术札记3 天前
单相Heric并网逆变器工作原理及MATLAB仿真测试
开发语言·matlab
Matlab程序设计与单片机3 天前
【变压器故障诊断分类与预测(三比值法)】基于标准GRNN神经网络
matlab·grnn神经网络·变压器故障诊断与分类·三比值法