您现在的位置:首页 >> 通信 >> 内容

m基于16QAM软解调和LDPC信道编译码的通信链路误码率仿真

时间:2023/7/11 21:54:45 点击:

  核心提示:0X_007m,包括程序操作录像...

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

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

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

点击店铺

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

2.部分仿真图预览


3.算法概述

m基于16QAM软解调和LDPC信道编译码的通信链路误码率仿真

4.部分源码

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

 

rng('shuffle')

for ij = 1:length(SNRs)  

    

    errs = 0;             

    sigma      = sqrt(1./(2*10^(SNRs(ij)/10)*R));  

    for frame = 1:N_Frame

        if mod(frame,1000)==1

           [ij,frame]

        end

        %产生信号

        Tdats0              = randi([0,1],1,N_bits);

        Tdats               = mod(Tdats0*G,2);  

 

        %调制

        Tmods               = modulates(Tdats,K);           

        %经过信道

        Rmods               = awgn(Tmods,SNRs(ij),'measured'); 

        %解调

        Rdats               = soft_demodulates(Rmods,K);

        Rbits               = zeros(size(Rdats));

        idx                 = find(Rdats>=0);

        Rbits(idx)          = 1;

        z_hat               = func_Dec(2*Rbits-1,sigma,H,max_iter);

        x_hat               = round(z_hat(size(G,2)+1-size(G,1):size(G,2)));

        Err1                = sum(Tdats0~=x_hat');

        errs                = errs + Err1;

    end

    ber(ij) = errs/(N_bits*N_Frame);

end 

 

figure;

semilogy(SNRs, ber ,'b-o')

grid on; 

xlabel('SNR(dB)');

ylabel('BER');

if max_iter==15

   save R21.mat SNRs ber

end

if max_iter==30

   save R22.mat SNRs ber

end

0X_007m

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