zoukankan      html  css  js  c++  java
  • CCS

    Multidimensional Signals

    In the preceding section we constructed multiamplitude signal waveforms, which allowed
    us to transmit multiple bits per signal waveform. Thus, with signal waveforms
    having M = 2k(2 power k) amplitude levels, we are able to transmit k = log2 M bits of information
    per signal waveform. We also observed that the multiamplitude signals can
    be represented geometrically as signal points on the real line. Such signal waveforms are called one-dimensional signals.

    consider the construction of a class of M = 2k(2 power k) signal waveforms
    that have a multidimensional representation. That is, the set of signal waveforms
    can be represented geometrically as points in N-dimensional space.

    Multidimensional Orthogonal Signals

    As in our previous discussion, we assume that an information source is providing
    a sequence of information bits, which are to be transmitted through a communication
    channel. The information bits occur at a uniform rate of R bits per second. The reciprocal
    of R is the bit interval, Tb. The modulator takes k bits at a time and maps them
    into one of M = 2k(2 power K) signal waveforms. Each block of k bits is called a symbol. The
    time interval available to transmit each symbol is T = kTb. Hence, T is the symbol
    interval.

    Figure 5 .31 illustrates the signal points (signal constellations) corresponding to M = 2 and M = 3 orthogonal signals.

    Let us assume that these orthogonal signal waveforms are used to transmit information
    through an AWGN channel. Consequently, if the transmitted waveform is Si(t), the received waveform is

     

    where n(t) is a sample function of a white Gaussian noise process with power spectrum
    No/2 watts/hertz. The receiver observes the signal r(t) and decides which of the M signal waveforms was transmitted.

    Optimum Receiver for the AWGN Channel

    The receiver that minimizes the probability of error first passes the signal r(t) through
    a parallel bank of M matched filters or M correlators. Because the signal correlators
    and matched filters yield the same output at the sampling instant, let us consider the
    case in which signal correlators are used, as shown in Figure 5.32.

    Signal Correlators

     

       

    The Detector

       

       

       

    Matlab Coding

      

     

       

         

     1 % MATLAB script M = 4 orthogonal signals for Monte Carlo simulation
     2 echo on
     3 clear;
     4 SNRindB=0:2:10;
     5 for i=1:length(SNRindB),
     6     % simulated error rate
     7     smld_err_prb(i)=smldP510(SNRindB(i));
     8     echo off;
     9 end;

    M = 4;
    for i=1:length(SNRindB_T)
    SNR=exp(SNRindB_T(i)*log(10)/10);
    % theoretical error rate
    theo_err_prb(i)= (2*(M-1)/M)*Qfunct(sqrt((6*log2(M)/(M^2-1))*SNR));
    echo off ;
    end

    10 echo on;
    11 % Plotting commands follow
    12 semilogy(SNRindB,smld_err_prb,'*');
    13

    hold on 
    semilogy(SNRindB_T,theo_err_prb,'-');
    xlabel('SNR');

    14 
    15 function [p]=smldP510(snr_in_dB)
    16 % [p]=smldP510(snr_in_dB)
    17 %        SMLDP510  simulates the probability of error for the given
    18 %           snr_in_dB, signal-to-noise ratio in dB.
    19 M=4;                       % quaternary orthogonal signaling
    20 E=1;
    21 SNR=exp(snr_in_dB*log(10)/10);           % signal-to-noise ratio per bit
    22 sgma=sqrt(E^2/(4*SNR));             % sigma, standard deviation of noise
    23 N=10000;                    % number of symbols being simulated
    24 % generation of the quaternary data source 25 for i=1:N, 26 temp=rand; % a uniform random variable over (0,1) 27 if (temp<0.25), 28 dsource1(i)=0; 29 dsource2(i)=0; 30 elseif (temp<0.5), 31 dsource1(i)=0; 32 dsource2(i)=1; 33 elseif (temp<0.75), 34 dsource1(i)=1; 35 dsource2(i)=0; 36 else 37 dsource1(i)=1; 38 dsource2(i)=1; 39 end 40 end;
    41 % detection, and probability of error calculation 42 numoferr=0; 43 for i=1:N, 44 % matched filter outputs 45 if ((dsource1(i)==0) & (dsource2(i)==0)), 46 r0=sqrt(E)+gngauss(sgma); 47 r1=gngauss(sgma); 48 r2=gngauss(sgma); 49 r3=gngauss(sgma); 50 elseif ((dsource1(i)==0) & (dsource2(i)==1)), 51 r0=gngauss(sgma); 52 r1=sqrt(E)+gngauss(sgma); 53 r2=gngauss(sgma); 54 r3=gngauss(sgma); 55 elseif ((dsource1(i)==1) & (dsource2(i)==0)), 56 r0=gngauss(sgma); 57 r1=gngauss(sgma); 58 r2=sqrt(E)+gngauss(sgma); 59 r3=gngauss(sgma); 60 else 61 r0=gngauss(sgma); 62 r1=gngauss(sgma); 63 r2=gngauss(sgma); 64 r3=sqrt(E)+gngauss(sgma); 65 end;
    66 % the detector 67 max_r=max([r0 r1 r2 r3]); 68 if (r0==max_r), 69 decis1=0; 70 decis2=0; 71 elseif (r1==max_r), 72 decis1=0; 73 decis2=1; 74 elseif (r2==max_r), 75 decis1=1; 76 decis2=0; 77 else 78 decis1=1; 79 decis2=1; 80 end;
    81 % Count the number of bit errors made in this decision. 82 if (decis1~=dsource1(i)), % If it is an error, increase the error counter. 83 numoferr=numoferr+1; 84 end; 85 if (decis2~=dsource2(i)), % If it is an error, increase the error counter. 86 numoferr=numoferr+1; 87 end; 88 end;
    89 p=numoferr/(2*N); % bit error probability estimate


    Simulation Result

    Reference,

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

  • 相关阅读:
    BOZJ 3551&BZOJ 3545 kruskal重构树
    [Poi2014]FarmCraft
    NOIP 2015 斗地主
    POJ 1704 Georgia and Bob
    BZOJ 1409 快速幂+欧拉定理
    最长公共子序列(LCS)
    神奇的口袋(百练2755)
    最长上升子序列(LIS)
    《Single Image Haze Removal Using Dark Channel Prior》去雾代码实现分析
    MATLAB中的nargin与varargin
  • 原文地址:https://www.cnblogs.com/zzyzz/p/13649081.html
Copyright © 2011-2022 走看看