m基于整数序列的QC-LDPC的稀疏校验矩阵构造算法性能对比matlab仿真,对比差分序列,PEG,Mackey等

简介: m基于整数序列的QC-LDPC的稀疏校验矩阵构造算法性能对比matlab仿真,对比差分序列,PEG,Mackey等

1.算法仿真效果
matlab2013b仿真结果如下:
1f5a3b9102495f8c73249cbf5a43ee65_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
31e12dbdb7d07c301797a23b051f99b4_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

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

   QC-LDPC(Quasi-Cyslic Low-Density Parity-Check Codes)即准循环LDPC码。之前介绍的LDPC码基本属于随机构造法,构造出的码性能很好,但校验矩阵具有不规律性,存在校验矩阵存储于读取困难、编码复杂度高等问题,相对难以实现。准循环LDPC码是结构化LDPC码的重要子集,其奇偶校验矩阵可以分成多个大小相等的方阵,每个方阵都是单位矩阵的循环移位矩阵或全0矩阵,非常便于存储器的存储和寻址,从而大大降低了LDPC码的编译码复杂度,并且具有重复累计结构的准循环LDPC码能够实现线性复杂度的快速编码。因此,目前实际中所使用的LDPC码大都使用这种校验矩阵构造方式。

    LDPC码是一种处于发展中的信道编码,其性能优异,具体表现为:描述简单, 硬件实现复杂度低,译码复杂度较低,可以实现完全的并行操作,且具有较低的 译码错误平台。另外,码在信道条件较差的无线移动通信系统中 展现出了巨大的应用前景,非常适用于未来的移动通信系统。因此,码的 研究、实现及应用是纠错编码领域中的一个热点课题,倍受学术界和工业界的重 视和关注。
    目前,码已经不再局限于理论的研究,正逐步转变到商业应用中。作为 深空通信的编码标准,码早已在美国宇航局中体现了自身的价值。 现如今码信道编码方案己应用到多种通信标准,例如,无线局域网、 宽带无线接入协议也称、中国数字电视地面广播标准、中国移动多媒体广播以及欧洲数字电视广播卫星标准 等都采纳了码。另外,码还广泛地应用于光通信、光和磁记录系统以 及混合自动请求重传设计等领域。

  LDPC 码早于1962 年由Gallager提出,可以看成是一个具有稀疏校验矩阵的线性分组码。自从Mackay 和Neal发现LDPC 码的性能非常接近香农限以后,LDPC 码越来越受到人们的重视。基于准循环LDPC(QC-LDPC)码结构特点,提出了一种支持多种码率QC-LDPC 译码器的设计方法,并设计实现了一个能够实时自适应支持三个不同H 阵的通用QC-LDPC 译码器。

  1 QC-LDPC 码简介

  QC-LDPC 码的校验矩阵Hqc 是由c × t 个循环置换矩阵组成的,其中c,t均为整数,且c < t 。将QC-LDPC码的校验矩阵中每一个置换矩阵替换为相应的移位值,这样得到了一个新的矩阵,称为基本矩阵。基本矩阵与Η 阵是一一对应的。QC-LDPC 规则的结构使得其编译码在工程上易于实现,因此许多标准中的LDPC 码都采用了QC-LDPC 码。

  2 译码算法简介

  这里设计的译码器主要采用基于软判决的偏移值和算法。偏移值和算法是在和积算法和和算法的基础上改进而来,具有译码复杂度低,性能优异等特点。为了能够较好地描述该算法,先对一些符号进行定义。

cd90a8ef8a4ae1bc892bee11d69de2c9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    具有代数结构的码是解决实际应用中存储问题的良好候 选码。在本章中,基于一种组合设计,即差分序列,我们设计了一类 码,称为码。同时,考虑到相对大的围长能够提升码字的误码性能, 给出了一种查找好的差分序列以保证码的围长至少为的搜索算 法。

     接下来,介绍一类,码,称为码。这类码的奇偶校验 矩阵是由二次多项式产生的零阶、一阶和二阶差分序列组成,其奇偶校验矩阵的 构造过程总结如下:

71a09639832ded1bd32302288225d305_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
80037c5ff37ba167cc1a1c3210eff4db_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
a9913f0a6e6450ecbbe606ff57923edb_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序

N        = 402;%设置奇偶校验矩阵大小     
M        = N*R;
EbN0     = 0:1:3;     %设置Eb/N0;*
lends    = [1000,500,400,300,200,100]/2;
Max_iter = 50;               %最大迭代次数*
%产生奇偶校验矩阵
H        = mackay(M,N);
for i=1:length(EbN0)
    i
    Bit_err(i)    = 0; %设置误码率参数
    Num_err       = 0; %蒙特卡洛模拟次数
    Numbers       = 0; %误码率累加器
    iter_moy_temp = [];%叠加寄存器
    while Num_err <= lends(i)       
        fprintf('Eb/N0 = %f\n', EbN0(i));
        Num_err
        Trans_data           = round(rand(N-M,1));           %产生需要发送的随机数
        [ldpc_code,newH]     = func_Enc(Trans_data,H);       %LDPC编码
        u                    = [ldpc_code;Trans_data];       %LDPC编码
        Trans_BPSK           = 2*u-1;                        %BPSK
        %通过高斯信道
        N0                   = 2*10^(-EbN0(i)/10);
        Rec_BPSK             = Trans_BPSK+sqrt(N0/2)*randn(size(Trans_BPSK));
        %LDPC译码 
        [vhat,nb_iter]       = func_Dec(Rec_BPSK,newH,N0,Max_iter);
        iter_moy_temp(end+1) = nb_iter;
        
        [nberr,rat]          = biterr(vhat',u);
        Num_err              = Num_err+nberr;
        Numbers              = Numbers+1;
    end
    Bit_err(i) = Num_err/(N*Numbers);
end
figure;
semilogy(EbN0,Bit_err,'o-');
xlabel('Eb/N0(dB)');
ylabel('BER');
grid on;
save ldpc_mackey.mat EbN0 Bit_err
相关文章
|
7月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
656 0
|
7月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
319 8
|
7月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
368 8
|
7月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
347 0
|
7月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
423 2
|
8月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
244 6
|
8月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
350 3
|
7月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
8月前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
382 14
|
7月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)