基于QPSK调制解调+Polar编译码(SCL译码)的matlab性能仿真,并对比BPSK

目录

1.引言

2.算法仿真效果演示

3.数据集格式或算法参数简介

4.MATLAB核心程序

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

6.参考文献

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


1.引言

Polar码由土耳其教授Erdal Arikan于2008年提出,是第一种被严格证明可以达到香农极限的构造性编码方法。其核心思想是通过信道极化(Channel Polarization)将多个独立的二进制输入信道转化为一组极化信道,一部分信道接近无差错,另一部分接近完全噪声。

2.算法仿真效果演示

软件运行版本:

matlab2024b

仿真结果如下**(仿真操作步骤可参考程序配套的操作视频,完整代码运行后无水印)**:

3.数据集格式或算法参数简介

复制代码
K = 19;
N = 64;
R = K/N;
List = [4];

EBN0  = [-3,-2,-1,0,1,2,2.5];            % 信噪比的范围
Times = [5000,2500,1000,300,200,150,60];

4.MATLAB核心程序

复制代码
......................................................................
    while (err0 <= Times(ij))    
        [err0,EbNo]
        count = count +1;
        for num = 1: (Frames/batch)   
            dats = binornd(1, 0.5, batch, K);
            for iter = 1: batch      
                info_bit = dats(iter,:);
                % 将信息序列存储到数组before_code_bit中
                code_0          = zeros(1,N);
                code_0(idxs(:)) = info_bit(:);
                % 极化码编码
                S               = func_polar_enc(N, code_0);          
              
                % 开始调制
                Sbp   = bpskMod(S');
                rSig  = func_Channel(Sbp, sigma);
                rxLLR = bpskDemod(rSig);  
        
                [dec_list] = func_SCL_dec(L, N, rxLLR, noiseVar, idxs, G);
                ydec       = dec_list(:,1)';
                %解码之后的序列
                err0       = err0 + sum(info_bit ~= ydec);
             
                bitall     = bitall + K;
            end
        end
 
figure;
semilogy(EBN0,ERR,'-*b');
xlabel('EBN0(dB)')  %x轴坐标描述
ylabel('ERR') %y轴坐标描述
grid on
 
 
if K==6
   save R11.mat EBN0 ERR
end
if K==13
   save R12.mat EBN0 ERR
end
if K==19
   save R13.mat EBN0 ERR
end
014_053m

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

Polar码由土耳其教授Erdal Arikan于2008年提出,是第一种被严格证明可以达到香农极限的构造性编码方法。其核心思想是通过信道极化(Channel Polarization)将多个独立的二进制输入信道转化为一组极化信道,一部分信道接近无差错,另一部分接近完全噪声。

Polar码编码过程

信道极化:通过递归计算信道容量,将n个原始信道转化为n个极化信道

信道选择:选择容量最大的k个信道作为信息位,其余作为冻结位 (固定为0)

编码运算:信息位向量u与生成矩阵Gn​相乘得到码字c:

c=u⋅Gn​

SCL译码是对原始SC译码的改进,通过维护一个候选路径列表提高译码性能:

6.参考文献

1孔维凡,程云鹏.短波通信中的低码率CRC-Polar编译码设计与仿真J.通信技术, 2024, 57(8):775-782.

2高洁.5G 通信中Polar码的编译码研究和应用J.Electronic Science & Technology, 2024, 37(1).DOI:10.16180/j.cnki.issn1007-7820.2024.01.009.

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

完整程序见博客首页左侧或者打开本文底部

V

相关推荐
weixin_307779132 天前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab
菜鸟~noob2332 天前
【太空电子战】从CCS到Meadowlands:反通信系统的二十年演进史【含matlab代码】
开发语言·matlab
菜鸟~noob2333 天前
【太空电子战】Meadowlands作战验收:美国太空军可逆干扰能力的里程碑【含matlab代码】
matlab·电子战
菜鸟~noob2334 天前
【Bonjour】华为Peerium架构深度解析:从冯·诺依曼到百万处理器“一台计算机”,附MATLAB性能仿真【含matlab代码,可直接运行】
开发语言·matlab·华为·peerium
民乐团扒谱机4 天前
【手把手通信仿真】FSK与GFSK调制原理对比及MATLAB全实现,附频谱波形分析
matlab·蓝牙·微电子·通信技术·通信原理·gfsk·fsk
ι:5 天前
单相桥式全控整流仿真从零复现教学
windows·学习·matlab·simulink
菜鸟~noob2335 天前
【电子战】第14篇:TOA 定位——圆交汇与到达时间【含matlab代码】
开发语言·matlab
简简单单做算法5 天前
基于灰狼算法和贝叶斯联合优化的BiLSTM(GWO-BO-BiLSTM)一维时间序列预测算法matlab仿真
matlab·一维时间序列预测·gwo-bo-bilstm
Evand J6 天前
【MATLAB例程|图像滤波降噪13】局部噪声方差自适应滤波(LNR)图像降噪与效果展示。附完整例程的下载链接
图像处理·计算机视觉·matlab·滤波·代码·降噪
weixin_307779136 天前
C++代码实现MATLAB中的ode23t函数功能
开发语言·c++·算法·matlab