您现在的位置:首页 >> 编解码 >> 内容

m基于matlab的polar码误码率仿真,译码算法采用SC算法

时间:2023/3/3 20:24:06 点击:

  核心提示:14_027_m,包括程序操作录像+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJWcm5hw

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

        Polar码的主要思想是将多个子信道合并成一个等效信道,然后将等效信道分裂成多个信道容量呈两极分化(信道容量接近0或者1)的子信道,最后将信息在信道容量接近1的无噪子信道发送信息,而在信道容量接近0的子信道上发送收发已知的比特信息,从而提高信息传输的可靠性。

       Polar码的极化过程主要由两步来完成,第一步:信道联合;第二步:信道分裂。

4.部分源码

.........................................................................

n          = 7;%128

N          = 2^n;  

[Vals,Inds]= func_rates(n,0.5);

 

for i=1:length(SNR)

 

    %设置误码率参数

    Bit_err(i)    = 0; 

    Num_err       = 0; 

    %误码率累加器

    Numbers       = 0; 

    K             = round(rate*N);

    frozen_pos    = Inds(1:N-K);

    free_pos      = sort(Inds(N-K+1:N),'ascend');

    z             = ones(N,1);

    z(frozen_pos) = 0;

    sigma         = 1/sqrt(10^(SNR(i)/10));

    

    while Num_err <= LENS(i) 

          fprintf('SNR = %f\n', SNR(i));

          Num_err

          data_in     = randsrc(K,1,[0 1]);

          u           = zeros(N,1);

          u(free_pos) = data_in; 

          x           = func_encode(u);

          Trans_BPSK  = 2*x-1;

 

          Rec_sd_1               = Trans_BPSK + sigma*randn(N,1);

          Rec_sd                 = Rec_sd_1;

 

          %接收端

          y2                     = Rec_sd;

          L2                     = exp(-2*y2); 

          v2                     = func_SCdecoder(L2,z);

          data_out2              = v2(free_pos);

 

 

          nberr1      = length(find(data_out2~=data_in'));

 

          Num_err     = Num_err+nberr1;

          Numbers     = Numbers+1;

    end

    Bit_err(i) = Num_err/(length(data_in)*Numbers);

end

if rate==0.6

   save R2_6.mat SNR Bit_err   

end

if rate==0.5

   save R2_5.mat SNR Bit_err   

end

if rate==0.4

   save R2_4.mat SNR Bit_err   

end

figure;

semilogy(SNR,Bit_err,'b-o','linewidth',1);

xlabel('SNR per bit rS-D(dB)');

ylabel('Bit error rate(BER)');

grid on; 

14_027_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168