SlideShare une entreprise Scribd logo
1  sur  38
Simulating Communication Systems
 with MATLAB : An Introduction

           Aniruddha Chandra
    ECE Department, NIT Durgapur, WB, India.
         aniruddha.chandra@ieee.org




               September 23, 2010




                     NIT DGP Student
                         Branch
Presentation Outline                                   Sep. 23, 2010




     Objective of the Lecture

     Expected Background

     Simulating Analog Communication Systems
          Amplitude Modulation (AM)

     Simulating Digital Communication Systems
          Binary Phase Shift Keying (BPSK)




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          2
Presentation Outline                                   Sep. 23, 2010




     Objective of the Lecture

     Expected Background

     Simulating Analog Communication Systems
          Amplitude Modulation (AM)

     Simulating Digital Communication Systems
          Binary Phase Shift Keying (BPSK)




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          3
Objective of the Lecture                                   Sep. 23, 2010




    After the Lecture … You’ll be able to


            Write your own Matlab Script

            Make a Analog/ Digital Communication Link

            Compare your Results with Theoretical Values




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          4
Presentation Outline                                   Sep. 23, 2010




     Objective of the Lecture

     Expected Background

     Simulating Analog Communication Systems
          Amplitude Modulation (AM)

     Simulating Digital Communication Systems
          Binary Phase Shift Keying (BPSK)




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          5
Expected Background                                      Sep. 23, 2010




    I assume that …You understand


            Basic MATLAB Operations (function, matrix)

            Basics of Communication (modulation)

            Performance Metrics (BER)




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          6
Presentation Outline                                   Sep. 23, 2010




     Objective of the Lecture

     Expected Background

     Simulating Analog Communication Systems
          Amplitude Modulation (AM)

     Simulating Digital Communication Systems
          Binary Phase Shift Keying (BPSK)




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          7
Analog Communication Systems                                          Sep. 23, 2010




                    Source          Modulator


                                                          Channel


                  Destination     Demodulator




A. Chandra, ECE Deptt., NITD    Simulating Communication Systems with MATLAB          8
Simulate a Source                                       Sep. 23, 2010




                    Source            Modulator


                                                            Channel


                  Destination        Demodulator




                   Produces message signal … e.g. a simple Sine wave




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          9
Simulate a Source                                             Sep. 23, 2010




    Generate message signal (simple sine wave)
                    m( t ) = Vm sin ( 2πf mt )

           Define time instants (1000 sample points)
                    tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000;
                    t = tmin:step:tmax;

           Define amplitude and frequency (initial phase is zero)
                    Vm = 1;              % Amplitude
                    fm = 2*10^3;         % Frequency

           Construct the Signal
                    m = Vm*sin(2*pi*fm*t);

           View the Signal
                    plot(t,m,'r');




A. Chandra, ECE Deptt., NITD            Simulating Communication Systems with MATLAB          10
Simulate a Source                                    Sep. 23, 2010




    Complete MATLAB Script                       [Prog1.m]


            tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000;
            t = tmin:step:tmax;
            fm = 2*10^3;
            Vm = 1;
            m = Vm*sin(2*pi*fm*t);
            plot(t,m,'r');




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          11
Simulate a Source                                    Sep. 23, 2010




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          12
Simulate a Source                                        Sep. 23, 2010




    Assignment #1                [Prog2.m], [Prog3.m]

           What happens if there is an initial phase?
                    phi_deg = 45;
                    phi_rad = phi_deg*pi/180;
                    m = Vm*sin(2*pi*fm*t+phi_rad);


           What happens if the message is not sinusoidal?
                    tmin = 0; tmax = 1; step = (tmax-tmin)/1000;
                    t = tmin:step:tmax;
                    f = 2;
                    m = sawtooth(2*pi*f*t);
                    plot(t,m,'r');




A. Chandra, ECE Deptt., NITD       Simulating Communication Systems with MATLAB          13
Simulate Modulation                                        Sep. 23, 2010




                    Source             Modulator


                                                             Channel


                  Destination         Demodulator




                   Built-in functions are available (ammod, amdemod etc.)
                   WYSIWYG?? No



A. Chandra, ECE Deptt., NITD       Simulating Communication Systems with MATLAB          14
Amplitude Modulation                                                      Sep. 23, 2010




    Simulate with built-in functions                          [Prog4.m]
          fs = 8000;                     %   Sampling rate is 8000 samples per second
          fc = 300;                      %   Carrier frequency in Hz
          t = [0:0.1*fs]'/fs;            %   Sampling times for 0.1 second
          m = sin(20*pi*t);              %   Representation of the signal
          v = ammod(m,fc,fs);            %   Modulate m to produce v

          figure(1)
          subplot(2,1,1); plot(t,m);            % Plot m on top
          subplot(2,1,2); plot(t,v);            % Plot v below

          mr = amdemod(v,fc,fs);         % Demodulate v to produce m

          figure(2);
          subplot(2,1,1); plot(t,m);            % Plot m on top
          subplot(2,1,2); plot(t,mr);           % Plot mr below



                         Source: Introduction to Communications Toolbox in MATLAB 7.6.0 (R2008) by Amit Degada
                         Available: http://amitdegada.weebly.com/download.html


A. Chandra, ECE Deptt., NITD             Simulating Communication Systems with MATLAB                 15
Amplitude Modulation                                     Sep. 23, 2010




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          16
Amplitude Modulation                                     Sep. 23, 2010




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          17
Amplitude Modulation                                              Sep. 23, 2010




    Don’t have the feel??? …. Try this

           Define message signal, m( t ) = Vm sin ( 2πf m t ) (as done earlier)

                     tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000;
                     t = tmin:step:tmax;
                     Vm = 1;
                     fm = 2*10^3;
                     m = Vm*sin(2*pi*fm*t);


           Define carrier, c( t ) = Vc sin ( 2πf c t )

                     Vc = 2;                % Amplitude
                     fc = 10^4;             % Frequency
                     c = Vc*sin(2*pi*fc*t); % Carrier signal




A. Chandra, ECE Deptt., NITD             Simulating Communication Systems with MATLAB          18
Amplitude Modulation                                                  Sep. 23, 2010




    Continued ….
                                                     Vm                
             Modulate the Signal, v( t ) = Vc 1 +      sin ( 2πf mt )  sin ( 2πf c t )
                                                     Vc                
                     v = (1+m/Vc).*c;     % DSB-FC modulation


           View Modulated Wave

                     plot(t,v);                 % Modulated Wave
                     hold on;
                     plot(t,Vc*(1+m/Vc),'r:'); % Upper Envelope
                     hold on;
                     plot(t,-Vc*(1+m/Vc),'r:'); % Lower Envelope
                     hold off ;




A. Chandra, ECE Deptt., NITD           Simulating Communication Systems with MATLAB                19
Amplitude Modulation                                     Sep. 23, 2010




    Complete MATLAB Script               [Prog5.m]

            clear all; close all; clc;
            tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000;
            t = tmin:step:tmax;     % Time
            Vm = 1; Vc = 2;         % Amplitude
            fm = 2*10^3; fc = 10^4; % Frequency

            m = Vm*sin(2*pi*fm*t);       % Message
            c = Vc*sin(2*pi*fc*t);       % Carrier
            v = (1+m/Vc).*c;             % Modulated Wave

            plot(t,v); hold on;
            plot(t,Vc*(1+m/Vc),'r:'); hold on; % Upper Envelope
            plot(t,-Vc*(1+m/Vc),'r:'); hold off % Lower Envelope



A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          20
Amplitude Modulation                                     Sep. 23, 2010




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          21
Amplitude Modulation                                        Sep. 23, 2010




    Assignment #2               [Prog6.m]

           How to view effect of changing modulation index?
                    tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000;
                    t = tmin:step:tmax;
                    Vm = 1; mu = 1.5; Vc = Vm/mu;
                    fm = 2*10^3; fc = 10^4;

                    m = Vm*sin(2*pi*fm*t);
                    c = Vc*sin(2*pi*fc*t);
                    v = (1+m/Vc).*c;

                    plot(t,v); hold on;
                    plot(t,Vc*(1+m/Vc),'r:'); hold on;
                    plot(t,-Vc*(1+m/Vc),'r:'); hold off




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          22
Amplitude Modulation                                        Sep. 23, 2010




    Assignment #2 (Contd…)                    [Prog7.m]

           How to simulate DSB-SC modulation?
                    tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000;
                    t = tmin:step:tmax;
                    Vm = 2; Vc = 1;
                    fm = 2*10^3; fc = 10^4;

                    m = Vm*sin(2*pi*fm*t);
                    c = Vc*sin(2*pi*fc*t);
                    v = m.*c;

                    plot(t,v); hold on;
                    plot(t,m,'r:'); hold on;
                    plot(t,-m,'r:'); hold off




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          23
Demodulation                                        Sep. 23, 2010




    Demodulate DSB-SC with filter                     [Prog8.m]
          clear all; close all; clc;
          tmin = 0; tmax = 1; step = (tmax-tmin)/(10^3);
          t = tmin:step:tmax;
          Vm = 2; Vc = 1;
          fm = 2; fc = 10^2;

          m = Vm*sin(2*pi*fm*t);
          c = Vc*sin(2*pi*fc*t);
          v = m.*c;

          r = v.*c;

          [b a] = butter(1,0.01);
          mr = filter(b,a,r);

          figure(1)
          subplot(2,1,1); plot(t,m);
          subplot(2,1,2); plot(t,mr);



A. Chandra, ECE Deptt., NITD        Simulating Communication Systems with MATLAB          24
Demodulation                                      Sep. 23, 2010




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          25
Demodulation                                      Sep. 23, 2010




    Ideal Demodulation of DSB-SC                    [Prog9.m]
          clear all; close all; clc;
          fs = 10^5; N = 10^5;
          t = 1/fs:1/fs:N/fs;
          fm = 2; fc = 10^3;
          m = sin(2*pi*fm*t);
          c = sin(2*pi*fc*t);
          v = m.*c;

          r = zeros(1,N); n =f s/fc;
          for k = 1:fc
              mr((k-1)*n+1:k*n) = 2*v((k-1)*n+1:k*n)*c((k-1)*n+1:k*n)'/n;
          end

          figure(1)
          subplot(2,1,1); plot(t,m);
          subplot(2,1,2); plot(t,mr);




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          26
Demodulation                                      Sep. 23, 2010




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          27
Analog Communication Systems                                            Sep. 23, 2010




                    Source            Modulator


                                                            Channel


                  Destination       Demodulator



                 Introduces noise … Additive White Gaussian Noise




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          28
Simulate Channel                                      Sep. 23, 2010




    Introducing AWGN                     [Prog10.m]
          fs = 10^5; N = 10^5;
          t = 1/fs:1/fs:N/fs;
          fm = 2; fc = 10^3;
          m = sin(2*pi*fm*t);
          c = sin(2*pi*fc*t);
          v = m.*c;

          SNRdB = 10; SNR = 10^(SNRdB/10);
          vn = var(v)/SNR;
          n = sqrt(vn)*randn(1,N);
          v = v + n;

          r=zeros(1,N); n=fs/fc;
          for k=1:fc
              mr((k-1)*n+1:k*n)=2*v((k-1)*n+1:k*n)*c((k-1)*n+1:k*n)'/n;
          end

          figure(1)
          subplot(2,1,1); plot(t,m);
          subplot(2,1,2); plot(t,mr); axis([0 1 -1 1])

A. Chandra, ECE Deptt., NITD     Simulating Communication Systems with MATLAB          29
Simulate Channel                                    Sep. 23, 2010




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          30
Presentation Outline                                   Sep. 23, 2010




     Objective of the Lecture

     Expected Background

     Simulating Analog Communication Systems
          Amplitude Modulation (AM)

     Simulating Digital Communication Systems
          Binary Phase Shift Keying (BPSK)




A. Chandra, ECE Deptt., NITD   Simulating Communication Systems with MATLAB          31
Digital Communication Systems                                        Sep. 23, 2010




                    Source          Modulator


                                                          Channel


                  Destination     Demodulator




A. Chandra, ECE Deptt., NITD    Simulating Communication Systems with MATLAB          32
Simulate BPSK                                      Sep. 23, 2010




    Simulation                   [Prog11.m]

  %This program simulates BER    of BPSK in AWGN channel%
  clear all; close all; clc;
  num_bit=100000;                %Signal length
  max_run=20;                    %Maximum number of iterations for a single SNR
  Eb=1;                          %Bit energy
  SNRdB=0:1:9;                   %Signal to Noise Ratio (in dB)
  SNR=10.^(SNRdB/10);

  hand=waitbar(0,'Please Wait....');
  for count=1:length(SNR)     %Beginning of loop for different SNR
      avgError=0;
      No=Eb/SNR(count);       %Calculate noise power from SNR




A. Chandra, ECE Deptt., NITD       Simulating Communication Systems with MATLAB          33
Simulate BPSK                                      Sep. 23, 2010




    Simulation (Contd.)                    [Prog11.m]
  for run_time=1:max_run %Beginning of loop for different runs
      waitbar((((count-1)*max_run)+run_time-1)/(length(SNRdB)*max_run));
      Error=0;

        data=randint(1,num_bit);           %Generate binary data source
        s=2*data-1;                        %Baseband BPSK modulation

        N=sqrt(No/2)*randn(1,num_bit);     %Generate AWGN

        Y=s+N;                             %Received Signal

        for k=1:num_bit %Decision device taking hard decision and deciding error
            if ((Y(k)>0 && data(k)==0)||(Y(k)<0 && data(k)==1))
                Error=Error+1;
            end
        end

        Error=Error/num_bit;       %Calculate error/bit
        avgError=avgError+Error;   %Calculate error/bit for different runs
  end                              %Termination of loop for different runs


A. Chandra, ECE Deptt., NITD       Simulating Communication Systems with MATLAB          34
Simulate BPSK                                     Sep. 23, 2010




    Simulation (Contd.)                   [Prog11.m]
 BER_sim(count)=avgError/max_run;    %Calculate BER for a particular SNR

  end                                %Termination of loop for different SNR
  BER_th=(1/2)*erfc(sqrt(SNR));      %Calculate analytical BER
  close(hand);

  semilogy(SNRdB,BER_th,'k');              %Plot BER
  hold on
  semilogy(SNRdB,BER_sim,'k*');
  legend('Theoretical','Simulation',3);
  axis([min(SNRdB) max(SNRdB) 10^(-5) 1]);
  hold off




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          35
Simulate BPSK                                     Sep. 23, 2010




A. Chandra, ECE Deptt., NITD      Simulating Communication Systems with MATLAB          36
References                                      Sep. 23, 2010




    [1] http://www.mathworks.com/matlabcentral/

    [2] http://www.freewebs.com/acwebpage/teaching.htm

    [3] B.P. Lathi and Z. Ding, Modern Digital and Analog
    Communication Systems, Oxford University Press,
    International 4th edition, 2010.

    [4] J.G. Proakis, M. Salehi, and G. Bauch, Contemporary
    Communication Systems using MATLAB, Thomson/ CL-
    Engineering, 2nd edition, 2003.



A. Chandra, ECE Deptt., NITD    Simulating Communication Systems with MATLAB          37
Sep. 23, 2010




              Thank You!


       Questions???
                          aniruddha.chandra@ieee.org

A. Chandra, ECE Deptt., NITD     Simulating Communication Systems with MATLAB          38

Contenu connexe

Tendances

Power delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spreadPower delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spread
Manish Srivastava
 
Chap 1&2(history and intro) wireless communication
Chap 1&2(history and intro) wireless communicationChap 1&2(history and intro) wireless communication
Chap 1&2(history and intro) wireless communication
asadkhan1327
 
Chapter 7 multiple access techniques
Chapter 7 multiple access techniquesChapter 7 multiple access techniques
Chapter 7 multiple access techniques
Kaushal Kabra
 

Tendances (20)

Eqalization and diversity
Eqalization and diversityEqalization and diversity
Eqalization and diversity
 
optical time division multiplexing
optical time division multiplexingoptical time division multiplexing
optical time division multiplexing
 
Dc unit iv
Dc unit ivDc unit iv
Dc unit iv
 
Beamforming antennas (1)
Beamforming antennas (1)Beamforming antennas (1)
Beamforming antennas (1)
 
Massive mimo
Massive mimoMassive mimo
Massive mimo
 
Power delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spreadPower delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spread
 
Satellite link design
Satellite link designSatellite link design
Satellite link design
 
Wavelength division multiplexing
Wavelength division multiplexingWavelength division multiplexing
Wavelength division multiplexing
 
Decimation and Interpolation
Decimation and InterpolationDecimation and Interpolation
Decimation and Interpolation
 
Chap 1&2(history and intro) wireless communication
Chap 1&2(history and intro) wireless communicationChap 1&2(history and intro) wireless communication
Chap 1&2(history and intro) wireless communication
 
MIMO-OFDM for 4G network
MIMO-OFDM for 4G networkMIMO-OFDM for 4G network
MIMO-OFDM for 4G network
 
Mimo dr. morsi
Mimo  dr. morsiMimo  dr. morsi
Mimo dr. morsi
 
Multiple access techniques for wireless communications
Multiple access techniques for wireless communicationsMultiple access techniques for wireless communications
Multiple access techniques for wireless communications
 
Mac protocols
Mac protocolsMac protocols
Mac protocols
 
Mimo
MimoMimo
Mimo
 
Chapter 7 multiple access techniques
Chapter 7 multiple access techniquesChapter 7 multiple access techniques
Chapter 7 multiple access techniques
 
Space Division Multiplexing
Space Division MultiplexingSpace Division Multiplexing
Space Division Multiplexing
 
Multiple access techniques
Multiple access techniquesMultiple access techniques
Multiple access techniques
 
Ppt on low power wireless sensor network 5th sem
Ppt on low power wireless sensor network 5th semPpt on low power wireless sensor network 5th sem
Ppt on low power wireless sensor network 5th sem
 
Adaptive equalization
Adaptive equalizationAdaptive equalization
Adaptive equalization
 

En vedette

Simulation of A Communications System Using Matlab
Simulation of A Communications System Using MatlabSimulation of A Communications System Using Matlab
Simulation of A Communications System Using Matlab
Polytechnique Montreal
 
matlab code for channel estimation for ofdm
matlab code for channel estimation for ofdmmatlab code for channel estimation for ofdm
matlab code for channel estimation for ofdm
Gyana Ranjan Mati
 
Implementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: SimplifiedImplementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: Simplified
Rosdiadee Nordin
 
Ac matlab programs
Ac matlab programsAc matlab programs
Ac matlab programs
Ravi Teja
 
Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...
Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...
Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...
Akshay Sharma
 
Implementing HDF5 in MATLAB
Implementing HDF5 in MATLABImplementing HDF5 in MATLAB
Implementing HDF5 in MATLAB
The HDF-EOS Tools and Information Center
 

En vedette (20)

Simulation of A Communications System Using Matlab
Simulation of A Communications System Using MatlabSimulation of A Communications System Using Matlab
Simulation of A Communications System Using Matlab
 
Wireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation ApproachWireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation Approach
 
matlab code for channel estimation for ofdm
matlab code for channel estimation for ofdmmatlab code for channel estimation for ofdm
matlab code for channel estimation for ofdm
 
Matlab source codes section | Download MATLAB source code freerce-codes
Matlab source codes section | Download MATLAB source code freerce-codesMatlab source codes section | Download MATLAB source code freerce-codes
Matlab source codes section | Download MATLAB source code freerce-codes
 
MATLAB and Simulink for Communications System Design (Design Conference 2013)
MATLAB and Simulink for Communications System Design (Design Conference 2013)MATLAB and Simulink for Communications System Design (Design Conference 2013)
MATLAB and Simulink for Communications System Design (Design Conference 2013)
 
Implementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: SimplifiedImplementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: Simplified
 
Matlab code
Matlab codeMatlab code
Matlab code
 
Ac matlab programs
Ac matlab programsAc matlab programs
Ac matlab programs
 
4g lte matlab
4g lte matlab4g lte matlab
4g lte matlab
 
DSB-SC Demodulation using matlab
DSB-SC Demodulation using matlabDSB-SC Demodulation using matlab
DSB-SC Demodulation using matlab
 
Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...
Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...
Double Side Band – Suppressed Carrier (DSB-SC) Modulation Demodulation using ...
 
Multiuser MIMO-OFDM simulation framework in Matlab
Multiuser MIMO-OFDM simulation framework in MatlabMultiuser MIMO-OFDM simulation framework in Matlab
Multiuser MIMO-OFDM simulation framework in Matlab
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
Introduction To Wireless Fading Channels
Introduction To Wireless Fading ChannelsIntroduction To Wireless Fading Channels
Introduction To Wireless Fading Channels
 
Cdma ppt for ECE
Cdma ppt for ECECdma ppt for ECE
Cdma ppt for ECE
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to Matlab
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introduction
 
Matlab project
Matlab projectMatlab project
Matlab project
 
matlab
matlabmatlab
matlab
 
Implementing HDF5 in MATLAB
Implementing HDF5 in MATLABImplementing HDF5 in MATLAB
Implementing HDF5 in MATLAB
 

Similaire à Simulating communication systems with MATLAB: An introduction

Pilot induced cyclostationarity based method for dvb system identification
Pilot induced cyclostationarity based method for dvb system identificationPilot induced cyclostationarity based method for dvb system identification
Pilot induced cyclostationarity based method for dvb system identification
iaemedu
 
Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...
csandit
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
csandit
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
cscpconf
 
EBDSS Max Research Report - Final
EBDSS  Max  Research Report - FinalEBDSS  Max  Research Report - Final
EBDSS Max Research Report - Final
Max Robertson
 

Similaire à Simulating communication systems with MATLAB: An introduction (20)

Traveling Salesman Problem in Distributed Environment
Traveling Salesman Problem in Distributed EnvironmentTraveling Salesman Problem in Distributed Environment
Traveling Salesman Problem in Distributed Environment
 
TRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENT
TRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENTTRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENT
TRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENT
 
Pilot induced cyclostationarity based method for dvb system identification
Pilot induced cyclostationarity based method for dvb system identificationPilot induced cyclostationarity based method for dvb system identification
Pilot induced cyclostationarity based method for dvb system identification
 
D010512126
D010512126D010512126
D010512126
 
Mobile_Lec6
Mobile_Lec6Mobile_Lec6
Mobile_Lec6
 
M5.pdf
M5.pdfM5.pdf
M5.pdf
 
Baseband transmission
Baseband transmissionBaseband transmission
Baseband transmission
 
Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
 
Application of smart antenna interference suppression techniques in tdscdma
Application of smart antenna interference suppression techniques in tdscdmaApplication of smart antenna interference suppression techniques in tdscdma
Application of smart antenna interference suppression techniques in tdscdma
 
PERFORMANCE ANALYSIS OF CLIPPED STBC CODED MIMO OFDM SYSTEM
PERFORMANCE ANALYSIS OF CLIPPED STBC CODED MIMO OFDM SYSTEMPERFORMANCE ANALYSIS OF CLIPPED STBC CODED MIMO OFDM SYSTEM
PERFORMANCE ANALYSIS OF CLIPPED STBC CODED MIMO OFDM SYSTEM
 
dsp.pdf
dsp.pdfdsp.pdf
dsp.pdf
 
EBDSS Max Research Report - Final
EBDSS  Max  Research Report - FinalEBDSS  Max  Research Report - Final
EBDSS Max Research Report - Final
 
Noise performence
Noise performenceNoise performence
Noise performence
 
noise
noisenoise
noise
 
CoopLoc Technical Presentation
CoopLoc Technical PresentationCoopLoc Technical Presentation
CoopLoc Technical Presentation
 
Bit Error Rate Performance of MIMO Spatial Multiplexing with MPSK Modulation ...
Bit Error Rate Performance of MIMO Spatial Multiplexing with MPSK Modulation ...Bit Error Rate Performance of MIMO Spatial Multiplexing with MPSK Modulation ...
Bit Error Rate Performance of MIMO Spatial Multiplexing with MPSK Modulation ...
 
Ch7 noise variation of different modulation scheme pg 63
Ch7 noise variation of different modulation scheme pg 63Ch7 noise variation of different modulation scheme pg 63
Ch7 noise variation of different modulation scheme pg 63
 
Frequency Modulation.ppt
Frequency Modulation.pptFrequency Modulation.ppt
Frequency Modulation.ppt
 

Plus de Aniruddha Chandra (8)

Undergraduate research and IEEE
Undergraduate research and IEEEUndergraduate research and IEEE
Undergraduate research and IEEE
 
Green wireless communication with relays
Green wireless communication with relaysGreen wireless communication with relays
Green wireless communication with relays
 
Walkie Talkie
Walkie TalkieWalkie Talkie
Walkie Talkie
 
wireless overview
wireless overviewwireless overview
wireless overview
 
combat fading in wireless
combat fading in wirelesscombat fading in wireless
combat fading in wireless
 
Information & Communication Technology for disabled
Information & Communication Technology for disabledInformation & Communication Technology for disabled
Information & Communication Technology for disabled
 
Phase locked loop
Phase locked loopPhase locked loop
Phase locked loop
 
Energy conservation in wireless communication systems with relays
Energy conservation in wireless communication systems with relaysEnergy conservation in wireless communication systems with relays
Energy conservation in wireless communication systems with relays
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Simulating communication systems with MATLAB: An introduction

  • 1. Simulating Communication Systems with MATLAB : An Introduction Aniruddha Chandra ECE Department, NIT Durgapur, WB, India. aniruddha.chandra@ieee.org September 23, 2010 NIT DGP Student Branch
  • 2. Presentation Outline Sep. 23, 2010  Objective of the Lecture  Expected Background  Simulating Analog Communication Systems Amplitude Modulation (AM)  Simulating Digital Communication Systems Binary Phase Shift Keying (BPSK) A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 2
  • 3. Presentation Outline Sep. 23, 2010  Objective of the Lecture  Expected Background  Simulating Analog Communication Systems Amplitude Modulation (AM)  Simulating Digital Communication Systems Binary Phase Shift Keying (BPSK) A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 3
  • 4. Objective of the Lecture Sep. 23, 2010 After the Lecture … You’ll be able to  Write your own Matlab Script  Make a Analog/ Digital Communication Link  Compare your Results with Theoretical Values A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 4
  • 5. Presentation Outline Sep. 23, 2010  Objective of the Lecture  Expected Background  Simulating Analog Communication Systems Amplitude Modulation (AM)  Simulating Digital Communication Systems Binary Phase Shift Keying (BPSK) A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 5
  • 6. Expected Background Sep. 23, 2010 I assume that …You understand  Basic MATLAB Operations (function, matrix)  Basics of Communication (modulation)  Performance Metrics (BER) A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 6
  • 7. Presentation Outline Sep. 23, 2010  Objective of the Lecture  Expected Background  Simulating Analog Communication Systems Amplitude Modulation (AM)  Simulating Digital Communication Systems Binary Phase Shift Keying (BPSK) A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 7
  • 8. Analog Communication Systems Sep. 23, 2010 Source Modulator Channel Destination Demodulator A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 8
  • 9. Simulate a Source Sep. 23, 2010 Source Modulator Channel Destination Demodulator  Produces message signal … e.g. a simple Sine wave A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 9
  • 10. Simulate a Source Sep. 23, 2010 Generate message signal (simple sine wave) m( t ) = Vm sin ( 2πf mt )  Define time instants (1000 sample points) tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000; t = tmin:step:tmax;  Define amplitude and frequency (initial phase is zero) Vm = 1; % Amplitude fm = 2*10^3; % Frequency  Construct the Signal m = Vm*sin(2*pi*fm*t);  View the Signal plot(t,m,'r'); A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 10
  • 11. Simulate a Source Sep. 23, 2010 Complete MATLAB Script [Prog1.m] tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000; t = tmin:step:tmax; fm = 2*10^3; Vm = 1; m = Vm*sin(2*pi*fm*t); plot(t,m,'r'); A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 11
  • 12. Simulate a Source Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 12
  • 13. Simulate a Source Sep. 23, 2010 Assignment #1 [Prog2.m], [Prog3.m]  What happens if there is an initial phase? phi_deg = 45; phi_rad = phi_deg*pi/180; m = Vm*sin(2*pi*fm*t+phi_rad);  What happens if the message is not sinusoidal? tmin = 0; tmax = 1; step = (tmax-tmin)/1000; t = tmin:step:tmax; f = 2; m = sawtooth(2*pi*f*t); plot(t,m,'r'); A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 13
  • 14. Simulate Modulation Sep. 23, 2010 Source Modulator Channel Destination Demodulator  Built-in functions are available (ammod, amdemod etc.)  WYSIWYG?? No A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 14
  • 15. Amplitude Modulation Sep. 23, 2010 Simulate with built-in functions [Prog4.m] fs = 8000; % Sampling rate is 8000 samples per second fc = 300; % Carrier frequency in Hz t = [0:0.1*fs]'/fs; % Sampling times for 0.1 second m = sin(20*pi*t); % Representation of the signal v = ammod(m,fc,fs); % Modulate m to produce v figure(1) subplot(2,1,1); plot(t,m); % Plot m on top subplot(2,1,2); plot(t,v); % Plot v below mr = amdemod(v,fc,fs); % Demodulate v to produce m figure(2); subplot(2,1,1); plot(t,m); % Plot m on top subplot(2,1,2); plot(t,mr); % Plot mr below Source: Introduction to Communications Toolbox in MATLAB 7.6.0 (R2008) by Amit Degada Available: http://amitdegada.weebly.com/download.html A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 15
  • 16. Amplitude Modulation Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 16
  • 17. Amplitude Modulation Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 17
  • 18. Amplitude Modulation Sep. 23, 2010 Don’t have the feel??? …. Try this  Define message signal, m( t ) = Vm sin ( 2πf m t ) (as done earlier) tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000; t = tmin:step:tmax; Vm = 1; fm = 2*10^3; m = Vm*sin(2*pi*fm*t);  Define carrier, c( t ) = Vc sin ( 2πf c t ) Vc = 2; % Amplitude fc = 10^4; % Frequency c = Vc*sin(2*pi*fc*t); % Carrier signal A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 18
  • 19. Amplitude Modulation Sep. 23, 2010 Continued ….  Vm   Modulate the Signal, v( t ) = Vc 1 + sin ( 2πf mt )  sin ( 2πf c t )  Vc  v = (1+m/Vc).*c; % DSB-FC modulation  View Modulated Wave plot(t,v); % Modulated Wave hold on; plot(t,Vc*(1+m/Vc),'r:'); % Upper Envelope hold on; plot(t,-Vc*(1+m/Vc),'r:'); % Lower Envelope hold off ; A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 19
  • 20. Amplitude Modulation Sep. 23, 2010 Complete MATLAB Script [Prog5.m] clear all; close all; clc; tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000; t = tmin:step:tmax; % Time Vm = 1; Vc = 2; % Amplitude fm = 2*10^3; fc = 10^4; % Frequency m = Vm*sin(2*pi*fm*t); % Message c = Vc*sin(2*pi*fc*t); % Carrier v = (1+m/Vc).*c; % Modulated Wave plot(t,v); hold on; plot(t,Vc*(1+m/Vc),'r:'); hold on; % Upper Envelope plot(t,-Vc*(1+m/Vc),'r:'); hold off % Lower Envelope A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 20
  • 21. Amplitude Modulation Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 21
  • 22. Amplitude Modulation Sep. 23, 2010 Assignment #2 [Prog6.m]  How to view effect of changing modulation index? tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000; t = tmin:step:tmax; Vm = 1; mu = 1.5; Vc = Vm/mu; fm = 2*10^3; fc = 10^4; m = Vm*sin(2*pi*fm*t); c = Vc*sin(2*pi*fc*t); v = (1+m/Vc).*c; plot(t,v); hold on; plot(t,Vc*(1+m/Vc),'r:'); hold on; plot(t,-Vc*(1+m/Vc),'r:'); hold off A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 22
  • 23. Amplitude Modulation Sep. 23, 2010 Assignment #2 (Contd…) [Prog7.m]  How to simulate DSB-SC modulation? tmin = 0; tmax = 10^(-3); step = (tmax-tmin)/1000; t = tmin:step:tmax; Vm = 2; Vc = 1; fm = 2*10^3; fc = 10^4; m = Vm*sin(2*pi*fm*t); c = Vc*sin(2*pi*fc*t); v = m.*c; plot(t,v); hold on; plot(t,m,'r:'); hold on; plot(t,-m,'r:'); hold off A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 23
  • 24. Demodulation Sep. 23, 2010 Demodulate DSB-SC with filter [Prog8.m] clear all; close all; clc; tmin = 0; tmax = 1; step = (tmax-tmin)/(10^3); t = tmin:step:tmax; Vm = 2; Vc = 1; fm = 2; fc = 10^2; m = Vm*sin(2*pi*fm*t); c = Vc*sin(2*pi*fc*t); v = m.*c; r = v.*c; [b a] = butter(1,0.01); mr = filter(b,a,r); figure(1) subplot(2,1,1); plot(t,m); subplot(2,1,2); plot(t,mr); A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 24
  • 25. Demodulation Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 25
  • 26. Demodulation Sep. 23, 2010 Ideal Demodulation of DSB-SC [Prog9.m] clear all; close all; clc; fs = 10^5; N = 10^5; t = 1/fs:1/fs:N/fs; fm = 2; fc = 10^3; m = sin(2*pi*fm*t); c = sin(2*pi*fc*t); v = m.*c; r = zeros(1,N); n =f s/fc; for k = 1:fc mr((k-1)*n+1:k*n) = 2*v((k-1)*n+1:k*n)*c((k-1)*n+1:k*n)'/n; end figure(1) subplot(2,1,1); plot(t,m); subplot(2,1,2); plot(t,mr); A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 26
  • 27. Demodulation Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 27
  • 28. Analog Communication Systems Sep. 23, 2010 Source Modulator Channel Destination Demodulator  Introduces noise … Additive White Gaussian Noise A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 28
  • 29. Simulate Channel Sep. 23, 2010 Introducing AWGN [Prog10.m] fs = 10^5; N = 10^5; t = 1/fs:1/fs:N/fs; fm = 2; fc = 10^3; m = sin(2*pi*fm*t); c = sin(2*pi*fc*t); v = m.*c; SNRdB = 10; SNR = 10^(SNRdB/10); vn = var(v)/SNR; n = sqrt(vn)*randn(1,N); v = v + n; r=zeros(1,N); n=fs/fc; for k=1:fc mr((k-1)*n+1:k*n)=2*v((k-1)*n+1:k*n)*c((k-1)*n+1:k*n)'/n; end figure(1) subplot(2,1,1); plot(t,m); subplot(2,1,2); plot(t,mr); axis([0 1 -1 1]) A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 29
  • 30. Simulate Channel Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 30
  • 31. Presentation Outline Sep. 23, 2010  Objective of the Lecture  Expected Background  Simulating Analog Communication Systems Amplitude Modulation (AM)  Simulating Digital Communication Systems Binary Phase Shift Keying (BPSK) A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 31
  • 32. Digital Communication Systems Sep. 23, 2010 Source Modulator Channel Destination Demodulator A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 32
  • 33. Simulate BPSK Sep. 23, 2010 Simulation [Prog11.m] %This program simulates BER of BPSK in AWGN channel% clear all; close all; clc; num_bit=100000; %Signal length max_run=20; %Maximum number of iterations for a single SNR Eb=1; %Bit energy SNRdB=0:1:9; %Signal to Noise Ratio (in dB) SNR=10.^(SNRdB/10); hand=waitbar(0,'Please Wait....'); for count=1:length(SNR) %Beginning of loop for different SNR avgError=0; No=Eb/SNR(count); %Calculate noise power from SNR A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 33
  • 34. Simulate BPSK Sep. 23, 2010 Simulation (Contd.) [Prog11.m] for run_time=1:max_run %Beginning of loop for different runs waitbar((((count-1)*max_run)+run_time-1)/(length(SNRdB)*max_run)); Error=0; data=randint(1,num_bit); %Generate binary data source s=2*data-1; %Baseband BPSK modulation N=sqrt(No/2)*randn(1,num_bit); %Generate AWGN Y=s+N; %Received Signal for k=1:num_bit %Decision device taking hard decision and deciding error if ((Y(k)>0 && data(k)==0)||(Y(k)<0 && data(k)==1)) Error=Error+1; end end Error=Error/num_bit; %Calculate error/bit avgError=avgError+Error; %Calculate error/bit for different runs end %Termination of loop for different runs A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 34
  • 35. Simulate BPSK Sep. 23, 2010 Simulation (Contd.) [Prog11.m] BER_sim(count)=avgError/max_run; %Calculate BER for a particular SNR end %Termination of loop for different SNR BER_th=(1/2)*erfc(sqrt(SNR)); %Calculate analytical BER close(hand); semilogy(SNRdB,BER_th,'k'); %Plot BER hold on semilogy(SNRdB,BER_sim,'k*'); legend('Theoretical','Simulation',3); axis([min(SNRdB) max(SNRdB) 10^(-5) 1]); hold off A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 35
  • 36. Simulate BPSK Sep. 23, 2010 A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 36
  • 37. References Sep. 23, 2010 [1] http://www.mathworks.com/matlabcentral/ [2] http://www.freewebs.com/acwebpage/teaching.htm [3] B.P. Lathi and Z. Ding, Modern Digital and Analog Communication Systems, Oxford University Press, International 4th edition, 2010. [4] J.G. Proakis, M. Salehi, and G. Bauch, Contemporary Communication Systems using MATLAB, Thomson/ CL- Engineering, 2nd edition, 2003. A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 37
  • 38. Sep. 23, 2010 Thank You! Questions??? aniruddha.chandra@ieee.org A. Chandra, ECE Deptt., NITD Simulating Communication Systems with MATLAB 38