1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/YZWUk5ZuZA==
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
Polar码由土耳其教授Erdal Arikan于2008年提出,是第一种被严格证明可以达到香农极限的构造性编码方法。其核心思想是通过信道极化(Channel Polarization)将多个独立的二进制输入信道转化为一组极化信道,一部分信道接近无差错,另一部分接近完全噪声。
4.部分源码
......................................................................
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
---