zoukankan      html  css  js  c++  java
  • CCS

    Three different detectors for recovering the transmitted data symbols and
    evaluate their performance for Rayleigh fading and additive white Gaussian noise.

     

    Matlab coding

    Implement the three types of detectors.

    Nt = 2;                                                                             % No. of transmit antennas
    Nr = 2;                                                                             % No. of receive antennas
    S = [1 1 -1 -1; 1 -1 1 -1];                                                  % Reference codebook
    H = (randn(Nr,Nt) + 1i*randn(Nr,Nt))/sqrt(2); % Channel coefficients
    s = 2*randi([0 1],Nt,1) - 1;                                               % Binary transmitted symbols
    No = 0.1;                                                                         % Noise Noiance
    noise = sqrt(No/2)*(randn(Nr,1) + 1i*randn(Nr,1));         % AWGN noise
    y = H*s + noise;                                                              % Inputs to the detectors
    disp(['The transmitted symbols are: ',num2str(s')])

    % Maximum Likelihood Detector:
    mu = zeros(1,4);
    for i = 1:4
      mu(i) = sum(abs(y - H*S(:,i)).^2);                           % Euclidean distance metric
    end
    [Min idx] = min(mu);
    s_h = S(:,idx);
    disp(['The detected symbols using the ML method are: ',num2str(s_h')])

    % MMSE Detector:
    w1 = (H*H' + No*eye(2))^(-1) * H(:,1); % Optimum weight vector 1
    w2 = (H*H' + No*eye(2))^(-1) * H(:,2); % Optimum weight vector 2
    W = [w1 w2];
    s_h = W'*y;
    for i = 1:Nt
      if s_h(i) >= 0
        s_h(i) = 1;
      else
        s_h(i) = -1;
      end
    end
    disp(['The detected symbols using the MMSE method are: ',num2str(s_h')])

    % Inverse Channel Detector:
    s_h = Hy;
    for i = 1:Nt
      if s_h(i) >= 0
        s_h(i) = 1;
      else
        s_h(i) = -1;
      end
    end
    disp(['The detected symbols using the ICD method are: ',num2str(s_h')])

    Output,

    >> Round 1
    The transmitted symbols are: 1 1
    The detected symbols using the ML method are: 1 1
    The detected symbols using the MMSE method are: 1 1
    The detected symbols using the ICD method are: 1 1
    >> Round 2
    The transmitted symbols are: 1 -1
    The detected symbols using the ML method are: 1 -1
    The detected symbols using the MMSE method are: 1 -1
    The detected symbols using the ICD method are: 1 -1
    >> Round 3
    The transmitted symbols are: -1 1
    The detected symbols using the ML method are: -1 1
    The detected symbols using the MMSE method are: -1 1
    The detected symbols using the ICD method are: -1 1

    Reference,

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

  • 相关阅读:
    jquery实现页面的搜索功能
    url中的查询字符串的参数解析
    5.14日学习内容1:jquery表单相关知识
    5.12日北京“咖啡陪你”咖啡吧学习笔记
    layui基础上的tree菜单动态渲染;
    H5area的热区锚点随着图片的尺寸而变化
    Python3基础 raise 产生RuntimeError 异常
    Python3基础 raise + 指定类型异常+异常的解释 产生特定类型异常
    Python3基础 判断变量大于一个数并且小于另外一个数
    Python3基础 内嵌函数 简单示例
  • 原文地址:https://www.cnblogs.com/zzyzz/p/13580204.html
Copyright © 2011-2022 走看看