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

  • 相关阅读:
    发布wordpress for .net monosys,及monosys带来的更好的虚机+paas选型
    服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群
    共享在阿里云ecs上安装自定义iso的方法
    基于虚拟机的devops套件及把dbcolinux导出为虚拟机和docker格式
    基于openerp的erpcmsone:可当网站程序可当内部知识管理及ERP,及前后端合一的通用网站程序选型,设计与部署
    兼容多OS or 融合多OS?打造实用的基于osxsystembase的融合OS管理器
    freemarker教程
    EL表达式
    jstl的mavin依赖
    Maven依赖范围及依赖传递
  • 原文地址:https://www.cnblogs.com/zzyzz/p/13649081.html
Copyright © 2011-2022 走看看