Get in Touch

Course Outline

Course Outcomes

Upon completing this course, students should be equipped to tackle current open research problems in communications engineering, having acquired at least the following competencies:

  • Translating and manipulating complex mathematical expressions frequently encountered in communications engineering literature.
  • Utilizing MATLAB's programming capabilities to replicate simulation results from existing literature or closely approximate them.
  • Developing simulation models for self-proposed ideas.
  • Efficiently applying simulation skills alongside MATLAB's powerful features to design optimized code that balances execution time with memory efficiency.
  • Identifying key simulation parameters within a given communication system, extracting them from the system model, and analyzing their impact on overall system performance.

Course Structure

The material in this course is highly interconnected. It is strongly advised that students complete and thoroughly understand each level before progressing to the next to ensure continuous knowledge acquisition. The curriculum is structured into three levels, progressing from an introduction to MATLAB programming to full system simulation, as detailed below.

Communications Mathematics with MATLAB
Sessions 01-06

By the end of this section, students will be able to evaluate complex mathematical expressions and easily construct appropriate graphs for various data representations, such as time and frequency domain plots, BER plots, and antenna radiation patterns.

Fundamental Concepts

  • The concept of simulation
  • The significance of simulation in communications engineering
  • MATLAB as a simulation environment
  • Matrix and vector representation of scalar signals in communications mathematics
  • Matrix and vector representation of complex baseband signals in MATLAB


MATLAB Desktop

  • Toolbar
  • Command window
  • Workspace
  • Command history

Declaration of Variables, Vectors, and Matrices

  • MATLAB pre-defined constants
  • User-defined variables
  • Arrays, vectors, and matrices
  • Manual matrix entry
  • Interval definition
  • Linear space
  • Logarithmic space
  • Variable naming conventions

Special Matrices

  • Matrix of ones
  • Matrix of zeros
  • Identity matrix

Element-wise and Matrix-wise Manipulations

  • Accessing specific elements
  • Modifying elements
  • Selective elimination of elements (Matrix truncation)
  • Adding elements, vectors, or matrices (Matrix concatenation)
  • Locating the index of an element within a vector or matrix
  • Reshaping matrices
  • Matrix truncation
  • Matrix concatenation
  • Left-to-right and right-to-left flipping

Unary Matrix Operators

  • Sum operator
  • Expectation operator
  • Minimum operator
  • Maximum operator
  • Trace operator
  • Matrix determinant
  • Matrix inverse
  • Matrix transpose
  • Matrix Hermitian

Binary Matrix Operations

  • Arithmetic operations
  • Relational operations
  • Logical operations

Complex Numbers in MATLAB

  • Complex baseband representation of passband signals and RF up-conversion: a mathematical review
  • Creating complex variables, vectors, and matrices
  • Complex exponentials
  • Real part operator
  • Imaginary part operator
  • Conjugate operator
  • Absolute value operator
  • Argument or phase operator

MATLAB Built-in Functions

  • Vectors of vectors and matrices of matrices
  • Square root function
  • Sign function
  • Round to integer function
  • Floor function (nearest lower integer)
  • Ceiling function (nearest upper integer)
  • Factorial function
  • Logarithmic functions (exp, ln, log10, log2)
  • Trigonometric functions
  • Hyperbolic functions
  • Q-function
  • erfc function
  • Bessel functions J0
  • Gamma function
  • Diff and mod commands

Polynomials in MATLAB

  • Polynomial representation
  • Rational functions
  • Polynomial derivatives
  • Polynomial integration
  • Polynomial multiplication

Linear Scale Plots

  • Visualizing continuous time, continuous amplitude signals
  • Visualizing staircase approximated signals
  • Visualizing discrete time, discrete amplitude signals

Logarithmic Scale Plots

  • dB-decade plots (BER)
  • Decade-dB plots (Bode plots, frequency response, signal spectrum)
  • Decade-decade plots
  • dB-linear plots

2D Polar Plots

  • Planar antenna radiation patterns

3D Plots

  • 3D radiation patterns
  • Cartesian parametric plots

Optional Section (Based on Learner Demand)

  • Symbolic differentiation and numerical differencing in MATLAB
  • Symbolic and numerical integration in MATLAB
  • MATLAB help and documentation

MATLAB Files

  • Script files
  • Function files
  • Data files
  • Local and global variables

Loops, Flow Control, and Decision Making

  • For-end loops
  • While-end loops
  • If-end conditions
  • If-else-end conditions
  • Switch-case-end statements
  • Iterations, converging errors, and multi-dimensional sum operators

Input and Output Display Commands

  • Input command
  • Disp command
  • Fprintf command
  • Message box (msgbox)

Signals and Systems Operations
Sessions 07-14

The primary objectives of this section include:

  • Generating random test signals necessary for evaluating the performance of various communication systems.
  • Integrating elementary signal operations to implement specific communication processing functions, such as encoders, randomizers, interleavers, and spreading code generators, at both the transmitter and receiver.
  • Properly interconnecting these functional blocks to achieve specific communications objectives.
  • Simulating deterministic, statistical, and semi-random narrowband channel models for both indoor and outdoor environments.

Generation of Communications Test Signals

  • Generating random binary sequences
  • Generating random integer sequences
  • Importing and reading text files
  • Reading and playing back audio files
  • Importing and exporting images
  • Images as 3D matrices
  • RGB to grayscale transformation
  • Serial bit streams of 2D grayscale images
  • Sub-framing of image signals and reconstruction

Signal Conditioning and Manipulation

  • Amplitude scaling (gain, attenuation, amplitude normalization)
  • DC level shifting
  • Time scaling (compression and dilation)
  • Time shifting (delay, advance, and circular shifts)
  • Measuring signal energy
  • Energy and power normalization
  • Energy and power scaling
  • Serial-to-parallel and parallel-to-serial conversion
  • Multiplexing and de-multiplexing

Digitization of Analog Signals

  • Time-domain sampling of continuous-time baseband signals in MATLAB
  • Amplitude quantization of analog signals
  • PCM encoding of quantized analog signals
  • Decimal-to-binary and binary-to-decimal conversion
  • Pulse shaping
  • Calculating adequate pulse width
  • Selecting the number of samples per pulse
  • Convolution using conv and filter commands
  • Autocorrelation and cross-correlation of time-limited signals
  • Fast Fourier Transform (FFT) and Inverse FFT operations
  • Viewing baseband signal spectra
  • Effects of sampling rate and appropriate frequency windows
  • Relationships between convolution, correlation, and FFT operations
  • Frequency domain filtering, specifically low-pass filtering

Auxiliary Communications Functions

  • Randomizers and de-randomizers
  • Puncturers and de-puncturers
  • Encoders and decoders
  • Interleavers and de-interleavers

Modulators and Demodulators

  • Digital baseband modulation schemes in MATLAB
  • Visual representation of digitally modulated signals

Channel Modelling and Simulation

  • Mathematical modeling of channel effects on transmitted signals:
    • Addition – Additive White Gaussian Noise (AWGN) channels
    • Time-domain multiplication – Slow fading channels, Doppler shift in vehicular channels
    • Frequency-domain multiplication – Frequency-selective fading channels
    • Time-domain convolution – Channel impulse response

Deterministic Channel Model Examples

  • Free-space path loss and environment-dependent path loss
  • Periodic blockage channels

Statistical Characterization of Stationary and Quasi-Stationary Multipath Fading Channels

  • Generating uniformly distributed random variables (RV)
  • Generating real-valued Gaussian distributed RVs
  • Generating complex Gaussian distributed RVs
  • Generating Rayleigh distributed RVs
  • Generating Ricean distributed RVs
  • Generating Lognormally distributed RVs
  • Generating arbitrarily distributed RVs
  • Approximating unknown probability density functions (PDF) via histograms
  • Numerical calculation of cumulative distribution functions (CDF)
  • Real and complex AWGN channels

Channel Characterization by Power Delay Profile

  • Characterizing channels using their power delay profile (PDP)
  • Power normalization of the PDP
  • Extracting the channel impulse response from the PDP
  • Sampling the channel impulse response with arbitrary rates, including mismatched sampling and delay
  • Quantization
  • Issues with mismatched sampling for narrowband channel impulse responses
  • Sampling PDPs with arbitrary rates and fractional delay compensation
  • Implementing IEEE standardized indoor and outdoor channel models
  • (e.g., COST, SUI, Ultra Wide Band Channel Models)

Link Level Simulation of Practical Communication Systems
Sessions 15-24

This section addresses a critical concern for researchers: how to reproduce simulation results from published papers.


Bit Error Rate Performance of Baseband Digital Modulation Schemes

  • Comparative performance analysis of different baseband digital modulation schemes in AWGN channels (using simulation to verify theoretical expressions); including scatter plots and BER analysis.
  • Performance comparison of modulation schemes in various stationary and quasi-stationary fading channels; including scatter plots and BER analysis (comprehensive simulation to verify theory).
  • Impact of Doppler shift channels on the performance of baseband digital modulation schemes; including scatter plots and BER analysis.
  • Helicopter-to-Satellite Communications:
    • Paper (1): Low-Cost Real-Time Voice and Data System for Aeronautical Mobile Satellite Service (AMSS) – Problem statement and analysis.
    • Paper (2): Pre-Detection Time Diversity Combining with Accurate AFC for Helicopter Satellite Communications – Proposed initial solution.
    • Paper (3): An Adaptive Modulation Scheme for Helicopter-Satellite Communications – Performance improvement approach.

Simulation of Spread Spectrum Systems

  • Typical architecture of spread spectrum based systems
  • Direct sequence spread spectrum systems
  • Pseudo-random binary sequence (PBRS) generators:
    • Generation of maximal length sequences
    • Generation of Gold codes
    • Generation of Walsh codes
  • Time-hopping spread spectrum systems
  • BER performance of spread spectrum systems in AWGN channels:
    • Impact of coding rate on BER performance
    • Impact of code length on BER performance
  • BER performance of spread spectrum systems in multipath slow Rayleigh fading channels with zero Doppler shift
  • BER performance analysis in high-mobility fading environments
  • BER performance analysis in the presence of multi-user interference
  • RGB image transmission over spread spectrum systems
  • Optical CDMA (OCDMA) systems:
    • Optical orthogonal codes (OOC)
    • Performance limits of OCDMA systems; BER performance of synchronous and asynchronous OCDMA

Ultra-Wideband SS Systems

OFDM Based Systems

  • Implementation of OFDM systems using Fast Fourier Transform
  • Typical architecture of OFDM based systems
  • BER performance of OFDM systems in AWGN channels:
    • Impact of coding rate on BER performance
    • Impact of cyclic prefix on BER performance
    • Impact of FFT size and subcarrier spacing on BER performance
  • BER performance of OFDM systems in multipath slow Rayleigh fading channels with zero Doppler shift
  • BER performance of OFDM systems in multipath slow Rayleigh fading channels with Carrier Frequency Offset (CFO)
  • Channel Estimation in OFDM Systems
  • Frequency Domain Equalization in OFDM Systems:
    • Zero Forcing Equalizer
    • MMSE Equalizers
  • Other performance metrics in OFDM systems (Peak-to-Average Power Ratio, Carrier-to-Interference Ratio, etc.)
  • Performance analysis of OFDM systems in high-mobility fading environments (simulation project involving three papers):
    • Paper (1): Inter-carrier interference mitigation
    • Paper (2): MIMO-OFDM Systems


Optimization of MATLAB Simulation Projects

This section focuses on learning how to build and optimize MATLAB simulation projects to simplify and organize the overall process. It also addresses memory space and processing speed to prevent memory overflow in systems with limited storage and to reduce long execution times.

  • Typical structure of small-scale simulation projects
  • Extracting simulation parameters and mapping theoretical models to simulation
  • Building a simulation project
  • Monte Carlo Simulation Technique
  • Standard procedures for testing a simulation project
  • Memory space management and simulation time reduction techniques:
    • Baseband vs. Passband Simulation
    • Calculating adequate pulse width for truncated arbitrary pulse shapes
    • Calculating the adequate number of samples per symbol
    • Determining the necessary and sufficient number of bits for system testing

GUI Programming

Creating a bug-free MATLAB code that produces correct results is a significant achievement. However, controlling key parameters manually is often cumbersome. Therefore, an additional lecture on Graphical User Interface (GUI) Programming is included. This allows users to control various aspects of the simulation project easily, rather than navigating extensive source code. Furthermore, encapsulating MATLAB code within a GUI facilitates presenting work by combining multiple results in a single master window, making data comparison simpler.

  • Introduction to MATLAB GUIs
  • Structure of MATLAB GUI function files
  • Main GUI components (key properties and values)
  • Local and global variables


Note: The topics covered at each level of this course include, but are not limited to, those listed above. Furthermore, specific lecture items may be adjusted based on the needs and research interests of the participants.

Requirements

To fully benefit from the extensive knowledge presented in this course, participants should possess a solid foundation in general programming languages and techniques. A thorough understanding of undergraduate-level courses in communications engineering is highly recommended.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories