• CCS


    Performance of Linear Block Codes

    Linear block codes can be decoded using either soft-decision decoding or hard-decision
    decoding. In a hard-decision decoding scheme, first a bit-by-bit decision is made on the
    components of the codeword, and then, with a minimum Hamming distance criterion,
    the decoding is performed. The performance of this decoding scheme depends on the
    distance structure of the code, but a tight upper bound, particularly at high values of
    the SNR, can be obtained in terms of the minimum distance of the code.

     

     

     

    Matlab Coding

     

    1 % MATLAB script for Illustrative Problem 10.11.
    2 echo on
    3 gamma_b_db=[-4:1:14];
    4 gamma_b=10.^(gamma_b_db/10);
    5 qq=q(sqrt(0.733.*gamma_b));
    6 p_err=2047*qq.^2.*(3-2.*qq);  
    7 semilogy(gamma_b,p_err)
    8 ylabel('Pe')
    9 xlabel('dB')

     

     

    
    

    In comparing these error rate expressions, we observe that

    antipodal signaling is 3 dB better than orthogonal signaling.

     1 % MATLAB script for Illustrative Problem 10.12.
     2 [p_err_ha,gamma_b]=p_e_hd_a(7,13,11,15,3);
     3 [p_err_ho,gamma_b]=p_e_hd_o(7,13,11,15,3);
     4 [p_err_so,gamma_b]=p_e_sd_o(7,13,11,15,3);
     5 [p_err_sa,gamma_b]=p_e_sd_a(7,13,11,15,3);
     6 semilogy(gamma_b,p_err_sa,gamma_b,p_err_so,gamma_b,p_err_ha,gamma_b,p_err_ho)
     7 
     8 
     9 
    10 function [p_err,gamma_db]=p_e_sd_o(gamma_db_l,gamma_db_h,k,n,d_min)
    11 % p_e_sd_o.m     Matlab function for computing error probability in
    12 %                soft-decision decoding of a linear block code
    13 %                when orthogonal signaling is used.
    14 %          [p_err,gamma_db]=p_e_sd_o(gamma_db_l,gamma_db_h,k,n,d_min)
    15 %          gamma_db_l=lower E_b/N_0
    16 %          gamma_db_h=higher E_b/N_0
    17 %          k=number of information bits in the code
    18 %          n=code block length
    19 %          d_min=minimum distance of the code
    20 
    21 gamma_db=[gamma_db_l:(gamma_db_h-gamma_db_l)/20:gamma_db_h];
    22 gamma_b=10.^(gamma_db/10);
    23 R_c=k/n;
    24 p_err=(2^k-1).*q(sqrt(d_min.*R_c.*gamma_b));
    25 
    26 
    27 
    28 function [p_err,gamma_db]=p_e_hd_o(gamma_db_l,gamma_db_h,k,n,d_min)
    29 % p_e_hd_o.m     Matlab function for computing error probability in
    30 %                hard-decision decoding of a linear block code
    31 %                when orthogonal signaling is used.
    32 %          [p_err,gamma_db]=p_e_hd_o(gamma_db_l,gamma_db_h,k,n,d_min)
    33 %          gamma_db_l=lower E_b/N_0
    34 %          gamma_db_h=higher E_b/N_0
    35 %         k=number of information bits in the code
    36 %          n=code block length
    37 %          d_min=minimum distance of the code
    38 
    39 gamma_db=[gamma_db_l:(gamma_db_h-gamma_db_l)/20:gamma_db_h];
    40 gamma_b=10.^(gamma_db/10);
    41 R_c=k/n;
    42 p_b=q(sqrt(R_c.*gamma_b));
    43 p_err=(2^k-1).*(4*p_b.*(1-p_b)).^(d_min/2);

    Reference,

      1. <<Contemporary Communication System using MATLAB>> - John G. Proakis

  • 相关阅读:
    我的第一篇博客/markdown
    iOS开发编码建议与编程经验
    iOS 知识点梳理
    Objective-C中类和对象的介绍
    Linux虚拟机部署单机solr报错500解决方法之一
    day02:三元运算、布林非、列表等(20170214)
    day01:判断与循环(20170213)
    前端面试题大全2
    前端面试题大全
    [js] charAt()、charCodeAt()、fromCharCode()
  • 原文地址:https://www.cnblogs.com/zzyzz/p/13759393.html
Copyright © 2020-2023  润新知