Get in Touch

Course Outline

Course Outcomes

Upon completion of this course, students will be equipped to tackle significant open research problems in communications engineering. They should have acquired at least the following core skills:

  • Map and manipulate complex mathematical expressions commonly found in communications engineering literature
  • Leverage MATLAB’s programming features to replicate or closely approximate the simulation results found in other academic papers
  • Develop simulation models for independently proposed concepts
  • Efficiently apply simulation skills alongside MATLAB’s powerful capabilities to design optimized code that balances execution time with memory efficiency
  • Identify critical simulation parameters within a communication system, extract them from the system model, and analyze their impact on overall system performance

Course Structure

The curriculum is highly interconnected. It is strongly recommended that students progress through the levels sequentially, ensuring a deep understanding of each prerequisite level to maintain the continuity of acquired knowledge. The course is divided into three progressive levels, ranging from an introduction to MATLAB programming to complete system simulation.

Communications Mathematics with MATLAB
Sessions 01-06

Following this section, students will be able to evaluate complex mathematical expressions and generate appropriate graphical representations for various data types, including 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
  • Representation of scalar signals in communications mathematics using matrices and vectors
  • Representation of complex baseband signals in MATLAB using matrices and vectors


MATLAB Desktop

  • Toolbar
  • Command window
  • Workspace
  • Command history

Declaration of Variables, Vectors, and Matrices

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

Special Matrices

  • Ones matrix
  • Zeros matrix
  • Identity matrix

Element-wise and Matrix-wise Operations

  • Accessing specific elements
  • Modifying elements
  • Selective removal of elements (Matrix truncation)
  • Adding elements, vectors, or matrices (Matrix concatenation)
  • Locating the index of an element within a vector or matrix
  • Matrix reshaping
  • Matrix truncation
  • Matrix concatenation
  • Flipping from left to right and right to left

Unary Matrix Operators

  • Sum operator
  • Expectation operator
  • Min operator
  • Max 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, including a mathematical review
  • Creating complex variables, vectors, and matrices
  • Complex exponentials
  • Real part operator
  • Imaginary part operator
  • Conjugate operator (.)*
  • Absolute 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
  • Nearest lower integer function
  • Nearest upper integer function
  • Factorial function
  • Logarithmic functions (exp, ln, log10, log2)
  • Trigonometric functions
  • Hyperbolic functions
  • Q(.) function
  • erfc(.) function
  • Bessel functions Jo (.)
  • Gamma function
  • Diff and mod commands

Polynomials in MATLAB

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

Linear Scale Plots

  • Visual representation of continuous time-continuous amplitude signals
  • Visual representation of stair-case approximated signals
  • Visual representation 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 (available 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, Conditional 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
  • disp command
  • fprintf command
  • Message box msgbox

Signals and Systems Operations
Sessions 07-14

The primary objectives of this section are as follows:

  • Generate random test signals required to evaluate the performance of various communication systems
  • Integrate multiple 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
  • Properly interconnect these blocks to achieve specific communication functions
  • Simulate 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 back audio files
  • Importing and exporting images
  • Representing images as 3D matrices
  • RGB to grayscale transformation
  • Serial bit stream extraction from a 2D grayscale image
  • 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, left and right circular time shift)
  • 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
  • Calculation of adequate pulse width
  • Selection of the number of samples per pulse
  • Convolution using the 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 window selection
  • Relationship 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 and Doppler shift in vehicular channels
    • Frequency domain multiplication – frequency selective fading channels
    • Time domain convolution – channel impulse response

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

  • Generation of uniformly distributed random variables (RVs)
  • Generation of real-valued Gaussian distributed RVs
  • Generation of complex Gaussian distributed RVs
  • Generation of Rayleigh distributed RVs
  • Generation of Ricean distributed RVs
  • Generation of Lognormally distributed RVs
  • Generation of arbitrarily distributed RVs
  • Approximation of an unknown probability density function (PDF) of an RV using a histogram
  • Numerical calculation of the cumulative distribution function (CDF) of an RV
  • Real and complex additive white Gaussian noise (AWGN) channels

Channel Characterization by Power Delay Profile

  • Characterizing channels by their power delay profile
  • Power normalization of the PDP
  • Extracting the channel impulse response from the PDP
  • Sampling the channel impulse response with arbitrary sampling rates, including mismatched sampling and delay
  • Quantization
  • The issue of mismatched sampling for narrowband channel impulse responses
  • Sampling a PDP with arbitrary rates and fractional delay compensation
  • Implementation of IEEE-standardized indoor and outdoor channel models
  • (COST – SUI - Ultra Wide Band Channel Models, etc.)

Link Level Simulation of Practical Communication Systems
Sessions 15-24

This section addresses a critical aspect for research students: how to replicate the simulation results of published papers through simulation.


Bit Error Rate Performance of Baseband Digital Modulation Schemes

  • Performance comparison of various baseband digital modulation schemes in AWGN channels (comprehensive comparative study via simulation to verify theoretical expressions); including scatter plots and bit error rate
  • Performance comparison of various baseband digital modulation schemes in stationary and quasi-stationary fading channels; including scatter plots and bit error rate (comprehensive comparative study via simulation to verify theoretical expressions)
  • Impact of Doppler shift channels on the performance of baseband digital modulation schemes; including scatter plots and bit error rate
  • 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
  • Bit Error Rate Performance of spread spectrum-based systems in AWGN channels
    • Impact of coding rate r on BER performance
    • Impact of code length on BER performance
  • Bit Error Rate Performance of spread spectrum-based systems in multipath slow Rayleigh fading channels with zero Doppler shift
  • Bit error rate performance analysis of spread spectrum-based systems in high-mobility fading environments
  • Bit error rate performance analysis of spread spectrum-based 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; bit error rate performance of synchronous and asynchronous OCDMA systems

Ultra-wide band SS systems

OFDM-Based Systems

  • Implementation of OFDM systems using the Fast Fourier Transform
  • Typical architecture of OFDM-based systems
  • Bit Error Rate 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
  • Bit Error Rate Performance of OFDM systems in multipath slow Rayleigh fading channels with zero Doppler shift
  • Bit Error Rate Performance of OFDM systems in multipath slow Rayleigh fading channels with 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 (Peak-to-Average Power Ratio, Carrier-to-Interference Ratio, etc.)
  • Performance analysis of OFDM-based systems in high-mobility fading environments (as a simulation project consisting of three papers)
    • Paper (1): Inter carrier interference mitigation
    • Paper (2): MIMO-OFDM Systems


Optimization of a MATLAB Simulation Project

The objective of this section is to learn how to construct and optimize a MATLAB simulation project to streamline and organize the overall simulation process. Additionally, considerations are given to memory space and processing speed to prevent memory overflow issues in limited storage systems or excessive run times caused by slow processing.

  • Typical structure of small-scale simulation projects
  • Extraction of simulation parameters and mapping from theoretical to simulation models
  • 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
    • Calculation of adequate pulse width for truncated arbitrary pulse shapes
    • Calculation of the adequate number of samples per symbol
    • Calculation of the necessary and sufficient number of bits to test a system

GUI Programming

Creating a MATLAB code free from bugs that accurately produces correct results is a significant achievement. However, since a set of key parameters controls the simulation, an additional lecture on "Graphical User Interface (GUI) Programming" is provided. This allows users to control various aspects of the simulation project easily, rather than navigating through extensive source code. Furthermore, masking the MATLAB code with a GUI facilitates presenting work by enabling the combination of multiple results in a single master window, making data comparison easier.

  • What is a 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 stated in each level. Moreover, the items of each particular lecture are subject to change depending on the needs of the learners and their research interests.

Requirements

To fully benefit from the extensive knowledge presented in this course, participants should possess a solid foundation in common programming languages and methodologies. A thorough understanding of undergraduate-level communications engineering concepts is strongly advised to facilitate a deeper grasp of the advanced material.

 35 Hours

Testimonials (2)

Related Categories