Get in Touch

Course Outline

Learning Outcomes

Upon completing this course, students will be equipped to tackle numerous open research problems in communications engineering. By the end of the program, they should have acquired the following core competencies:

  • Map and manipulate complex mathematical expressions commonly found in communications engineering literature.
  • Leverage MATLAB's programming capabilities to replicate simulation results from existing literature or closely approximate them.
  • Develop simulation models for original, self-proposed ideas.
  • Apply acquired simulation skills efficiently alongside MATLAB's tools to design optimized code that balances runtime performance with memory efficiency.
  • Identify key simulation parameters for specific communication systems, extract them from system models, and analyze their impact on overall system performance.

Course Structure

The course material is highly interconnected. It is strongly advised that students master each level before proceeding to the next to ensure continuous and deep understanding. The curriculum is divided into three levels, progressing from introductory MATLAB programming to complete system simulation:

Communications Mathematics with MATLAB
Sessions 01-06

By the end of this section, students will be capable of evaluating complex mathematical expressions and generating appropriate visualizations 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 representations of complex baseband signals in MATLAB


MATLAB Desktop

  • Tool bar
  • Command window
  • Work space
  • Command history

Variable, Vector, and Matrix Declaration

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

Special Matrices

  • The ones matrix
  • The zeros matrix
  • The identity matrix

Element-wise and Matrix-wise Manipulation

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

Unary Matrix Operators

  • The Sum operator
  • The expectation operator
  • Min operator
  • Max operator
  • The 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
  • Forming complex variables, vectors, and matrices
  • Complex exponentials
  • The real part operator
  • The imaginary part operator
  • The conjugate operator (.)*
  • The absolute operator |.|
  • The argument or phase operator

MATLAB Built-in Functions

  • Vectors of vectors and matrices of matrices
  • The square root function
  • The sign function
  • The "round to integer" function
  • The "nearest lower integer" function
  • The "nearest upper integer" function
  • The factorial function
  • Logarithmic functions (exp, ln, log10, log2)
  • Trigonometric functions
  • Hyperbolic functions
  • The Q(.) function
  • The erfc(.) function
  • Bessel functions Jo (.)
  • The Gamma function
  • Diff and mod commands

Polynomials in MATLAB

  • Polynomials in MATLAB
  • Rational functions
  • Polynomial derivatives
  • Polynomial integration
  • Polynomial multiplication

Linear Scale Plots

  • Visual representations of continuous time-continuous amplitude signals
  • Visual representations of stair-case approximated signals
  • Visual representations of 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 (Provided upon Learner Request)

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

MATLAB Files

  • MATLAB script files
  • MATLAB function files
  • MATLAB data files
  • Local and global variables

Loops, Conditions, Flow Control, and Decision Making in MATLAB

  • The for-end loop
  • The while-end loop
  • The if-end condition
  • The if-else-end conditions
  • The switch-case-end statement
  • Iterations, converging errors, and multi-dimensional sum operators

Input and Output Display Commands

  • The input(' ') command
  • The disp command
  • The 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 single communication processing functions, such as encoders, randomizers, interleavers, and spreading code generators, at both the transmitter and receiver ends.
  • Interconnecting these functional blocks correctly to achieve specific communications tasks.
  • Simulating deterministic, statistical, and semi-random indoor and outdoor narrowband channel models.

Generation of Communications Test Signals

  • Generating random binary sequences
  • Generating random integer sequences
  • Importing and reading text files
  • Reading and playing audio files
  • Importing and exporting images
  • Representing 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, etc.)
  • DC level shifting
  • Time scaling (time compression, rarefaction)
  • Time shifting (time delay, time advance, circular time 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 IFFT operations
  • Viewing baseband signal spectra
  • Effect of sampling rate and proper frequency windowing
  • Relationship between convolution, correlation, and FFT operations
  • Frequency domain filtering (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:
    • Additive white Gaussian noise (AWGN) channels (Addition)
    • Slow fading channels and Doppler shift in vehicular channels (Time domain multiplication)
    • Frequency selective fading channels (Frequency domain multiplication)
    • Channel impulse response (Time domain convolution)

Examples of Deterministic Channel Models

  • Free space path loss and environment-dependent path loss
  • Periodic Blockage Channels

Statistical Characterization of Common 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 arbitrary distributed RVs
  • Approximating unknown probability density functions (PDF) of RVs using histograms
  • Numerical calculation of cumulative distribution functions (CDF) of RVs
  • Real and complex AWGN Channels

Channel Characterization by its Power Delay Profile

  • Characterizing channels via power delay profiles (PDP)
  • Power normalization of the PDP
  • Extracting channel impulse response from the PDP
  • Sampling channel impulse response with arbitrary rates, mismatched sampling, and delay
  • Quantization
  • Mismatched sampling issues in narrowband channels
  • Sampling PDPs with arbitrary rates and fractional delay compensation
  • Implementing IEEE standardized indoor and outdoor channel models
  • Models such as COST, SUI, and Ultra Wide Band Channel Models

Link Level Simulation of Practical Comm. Systems
Sessions 15-24

This section addresses a critical challenge for research students: reproducing simulation results from published papers. It provides practical experience in validating theoretical models through simulation.


Bit Error Rate Performance of Baseband Digital Modulation Schemes

  • Comparing different baseband digital modulation schemes in AWGN channels, including a comprehensive simulation study to verify theoretical expressions, scatter plots, and bit error rate analysis.
  • Comparing modulation schemes in stationary and quasi-stationary fading channels, featuring scatter plots and BER analysis to validate theoretical models.
  • Analyzing the impact of Doppler shift channels on the performance of baseband digital modulation schemes, with scatter plots and BER metrics.
  • 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 – The first proposed solution.
    • Paper (3): An Adaptive Modulation Scheme for Helicopter-Satellite Communications – A performance improvement approach.

Simulation of Spread Spectrum Systems

  • Typical architecture of spread spectrum-based systems
  • Direct sequence spread spectrum-based systems
  • Pseudo-random binary sequence (PBRS) generators:
    • Generation of Maximal length sequences
    • Generation of gold codes
    • Generation of Walsh codes
  • Time hopping spread spectrum-based systems
  • BER Performance of spread spectrum systems in AWGN channels:
    • Impact of coding rate r 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 of spread spectrum systems in high-mobility fading environments
  • BER performance analysis of spread spectrum systems 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, including BER performance of synchronous and asynchronous configurations

Ultra Wideband SS Systems

OFDM Based Systems

  • Implementation of OFDM systems using the Fast Fourier Transform
  • Typical architecture of OFDM-based systems
  • BER Performance of OFDM Systems in AWGN channels:
    • Impact of coding rate r on BER performance
    • Impact of the 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 common performance metrics in OFDM-based systems (e.g., Peak-to-Average Power Ratio, Carrier-to-Interference Ratio)
  • Performance analysis of OFDM-based systems in high-mobility fading environments (a simulation project comprising three papers):
    • Paper (1): Inter-carrier interference mitigation
    • Paper (2): MIMO-OFDM Systems


Optimization of a MATLAB Simulation Project

This section focuses on building and optimizing MATLAB simulation projects to streamline and organize the simulation process. It also addresses memory space and processing speed to prevent memory overflow and reduce runtime in constrained storage or slow-processing environments.

  • Typical structure of small-scale simulation projects
  • Extraction of simulation parameters and mapping from theoretical to simulation values
  • Building a simulation project
  • Monte Carlo Simulation Technique
  • A typical procedure 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 to test a system

GUI Programming

While having a MATLAB code that runs without bugs and produces correct results is a significant achievement, providing control over key parameters is equally important. This module includes a lecture on "Graphical User Interface (GUI) Programming" to allow users to manage various aspects of their simulation projects intuitively, rather than navigating lengthy source code. Additionally, masking MATLAB code with a GUI facilitates the presentation of work, allowing for the combination of multiple results in a master window and easier data comparison.

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


Note: The topics covered in each level of this course include, but are not limited to, those listed. Specific lecture items may change based on learner needs and research interests.

Requirements

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

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories