SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Digital satellite communications
Digital satellite communicationsDigital satellite communications
Digital satellite communications
Nisreen Bashar
 
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
 
cellular concepts in wireless communication
cellular concepts in wireless communicationcellular concepts in wireless communication
cellular concepts in wireless communication
asadkhan1327
 
Chap 4 (large scale propagation)
Chap 4 (large scale propagation)Chap 4 (large scale propagation)
Chap 4 (large scale propagation)
asadkhan1327
 
Antennas wave and propagation
 Antennas wave and propagation Antennas wave and propagation
Antennas wave and propagation
Isha Negi
 

Was ist angesagt? (20)

Principle of FMCW radar
Principle of FMCW radarPrinciple of FMCW radar
Principle of FMCW radar
 
Radar Systems- Unit-III : MTI and Pulse Doppler Radars
Radar Systems- Unit-III : MTI and Pulse Doppler RadarsRadar Systems- Unit-III : MTI and Pulse Doppler Radars
Radar Systems- Unit-III : MTI and Pulse Doppler Radars
 
Need For Modulation in Communication System
Need For Modulation in Communication SystemNeed For Modulation in Communication System
Need For Modulation in Communication System
 
combat fading in wireless
combat fading in wirelesscombat fading in wireless
combat fading in wireless
 
Fm demodulation using zero crossing detector
Fm demodulation using zero crossing detectorFm demodulation using zero crossing detector
Fm demodulation using zero crossing detector
 
Fading Seminar
Fading SeminarFading Seminar
Fading Seminar
 
Wavelength division multiplexing
Wavelength division multiplexingWavelength division multiplexing
Wavelength division multiplexing
 
Digital satellite communications
Digital satellite communicationsDigital satellite communications
Digital satellite communications
 
Modulation of LED
Modulation of LEDModulation of LED
Modulation of LED
 
Multiple Access
Multiple AccessMultiple Access
Multiple Access
 
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
 
OFDM
OFDMOFDM
OFDM
 
Demand Assigned Multiple Access
Demand Assigned Multiple AccessDemand Assigned Multiple Access
Demand Assigned Multiple Access
 
3. free space path loss model part 1
3. free space path loss model   part 13. free space path loss model   part 1
3. free space path loss model part 1
 
cellular concepts in wireless communication
cellular concepts in wireless communicationcellular concepts in wireless communication
cellular concepts in wireless communication
 
Satellite Bands
Satellite BandsSatellite Bands
Satellite Bands
 
Chap 4 (large scale propagation)
Chap 4 (large scale propagation)Chap 4 (large scale propagation)
Chap 4 (large scale propagation)
 
Cell Planning
Cell PlanningCell Planning
Cell Planning
 
Antennas wave and propagation
 Antennas wave and propagation Antennas wave and propagation
Antennas wave and propagation
 
Satellite link design
Satellite link designSatellite link design
Satellite link design
 

Andere mochten auch

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
 

Andere mochten auch (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
 
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
 
2005: A Matlab Tour on Artificial Immune Systems
2005: A Matlab Tour on Artificial Immune Systems2005: A Matlab Tour on Artificial Immune Systems
2005: A Matlab Tour on Artificial Immune Systems
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von Aniruddha Chandra (7)

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
 
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
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 

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