Get in Touch

Course Outline

Course Outcomes

Upon completion, students will be equipped to tackle current open research problems in communications engineering. Key skills acquired include the following:

  • Mapping and manipulating complex mathematical expressions frequently encountered in communications engineering literature
  • Utilizing MATLAB’s programming features to replicate or approximate simulation results found in academic papers
  • Developing simulation models for independently proposed ideas
  • Efficiently applying simulation skills to design optimized MATLAB codes that minimize execution time and memory usage
  • Identifying critical simulation parameters in communication systems, extracting them from system models, and analyzing their impact on overall performance

Course Structure

The course material is highly interconnected. It is strongly advised that students progress sequentially through the levels, ensuring a deep understanding of each stage to maintain knowledge continuity. The curriculum is divided into three levels, advancing from basic 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 constructing appropriate visualizations for various data representations, such as time and frequency domain plots, Bit Error Rate (BER) plots, and antenna radiation patterns.

Fundamental Concepts

  • The concept of simulation
  • The role of simulation in communications engineering
  • MATLAB as a simulation environment
  • Matrix and vector representation of scalar signals in communications mathematics
  • Representing complex baseband signals using matrices and vectors in MATLAB


MATLAB Desktop Interface

  • Toolbar usage
  • Command Window
  • Workspace management
  • Command History

Variable, Vector, and Matrix Declaration

  • MATLAB pre-defined constants
  • Defining user variables
  • Arrays, vectors, and matrices
  • Manual matrix entry
  • Defining intervals
  • 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 element elimination (Matrix truncation)
  • Adding elements, vectors, or matrices (Matrix concatenation)
  • Locating the index of an element within a vector or matrix
  • Reshaping matrices
  • Truncating matrices
  • Concatenating matrices
  • Flipping left-to-right and right-to-left

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 (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
  • Rounding 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 J0
  • Gamma function
  • Diff and mod commands

Polynomials in MATLAB

  • Polynomial representation in MATLAB
  • Rational functions
  • Polynomial differentiation
  • Polynomial integration
  • Polynomial multiplication

Linear Scale Plots

  • Visualization of continuous time-continuous amplitude signals
  • Visualization of stair-case approximated signals
  • Visualization of discrete time–discrete amplitude signals

Logarithmic Scale Plots

  • dB-decade plots (e.g., BER)
  • Decade-dB plots (e.g., 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 differentiation in MATLAB
  • Symbolic and numerical integration in MATLAB
  • MATLAB help resources and documentation

MATLAB File Types

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

Loops, Flow Control, and Decision Making in MATLAB

  • 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 complex communication processing functions, such as encoders, randomizers, interleavers, and spreading code generators, for both transmitter and receiver sides
  • Interconnecting functional blocks to achieve specific communications objectives
  • 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 back audio files
  • Importing and exporting images
  • Representing images as 3D matrices
  • RGB to grayscale transformation
  • Serial bit streams from 2D grayscale images
  • Sub-framing of image signals and reconstruction

Signal Conditioning and Manipulation

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

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 appropriate pulse widths
  • 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
  • Visualizing baseband signal spectra
  • Effects of sampling rate and frequency window selection
  • Relationships between convolution, correlation, and FFT operations
  • Frequency domain filtering (low-pass filtering)

Auxiliary Communications Functions

  • Randomizers and derandomizers
  • Puncturers and depuncturers
  • Encoders and decoders
  • Interleavers and deinterleavers

Modulators and Demodulators

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

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

  • Generating uniformly distributed random variables
  • Generating real-valued Gaussian distributed random variables
  • Generating complex Gaussian distributed random variables
  • Generating Rayleigh distributed random variables
  • Generating Ricean distributed random variables
  • Generating Lognormally distributed random variables
  • Generating arbitrarily distributed random variables
  • Approximating unknown PDFs of random variables using histograms
  • Numerical calculation of Cumulative Distribution Functions (CDF)
  • Real and complex AWGN channels

Channel Characterization via Power Delay Profile

  • Characterizing channels by their Power Delay Profile (PDP)
  • Normalizing PDP power
  • Extracting channel impulse response from the PDP
  • Sampling channel impulse responses with arbitrary rates, including mismatched sampling and delays
  • Quantization
  • Issues related to mismatched sampling 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 Communication Systems
Sessions 15-24

This section addresses a critical aspect for research students: replicating simulation results from published papers.


Bit Error Rate Performance of Baseband Digital Modulation Schemes

  • Comparing the performance of various baseband digital modulation schemes in AWGN channels (comprehensive simulation study to verify theoretical expressions); includes scatter plots and BER analysis
  • Comparing the performance of different baseband digital modulation schemes in stationary and quasi-stationary fading channels; includes scatter plots and BER analysis (comprehensive simulation study to verify theoretical expressions)
  • Impact of Doppler shift channels on the performance of baseband digital modulation schemes; includes 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 solution
    • Paper 3: An Adaptive Modulation Scheme for Helicopter-Satellite Communications – Performance improvement approach

Simulation of Spread Spectrum Systems

  • Typical architecture of spread spectrum systems
  • Direct sequence spread spectrum systems
  • Pseudo-random binary sequence (PRBS) generators
    • Generating maximal length sequences
    • Generating Gold codes
    • Generating Walsh codes
  • Time hopping spread spectrum 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; BER performance of synchronous and asynchronous OCDMA systems

Ultra-Wideband Spread Spectrum Systems

OFDM-Based Systems

  • Implementing 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 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 systems (e.g., Peak-to-Average Power Ratio, Carrier-to-Interference Ratio)
  • Performance analysis of OFDM systems in high-mobility fading environments (Simulation project consisting of three papers)
    • Paper 1: Inter-carrier interference mitigation
    • Paper 2: MIMO-OFDM Systems


Optimization of MATLAB Simulation Projects

This section focuses on building and optimizing MATLAB simulation projects to streamline the overall process. It also addresses memory space and processing speed considerations to prevent memory overflow and reduce execution times.

  • Typical structure of small-scale simulation projects
  • Extracting simulation parameters and mapping theoretical models to simulation
  • Building simulation projects
  • Monte Carlo simulation techniques
  • Standard procedures for testing simulation projects
  • Memory space management and simulation time reduction techniques
    • Baseband vs. Passband simulation
    • Calculating appropriate pulse widths 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

Writing debug-free MATLAB code that produces correct results is a significant achievement. However, to maintain control over key parameters without navigating extensive source code, this course includes a dedicated module on Graphical User Interface (GUI) programming. A GUI not only simplifies parameter control but also facilitates presenting results, allowing for the combination of multiple outcomes in a single master window for 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 include, but are not limited to, those listed. Specific lecture items may vary based on learner needs and research interests.

Requirements

To fully benefit from the extensive material in this course, participants should possess a solid foundation in common programming languages and techniques. A strong comprehension of undergraduate-level communications engineering concepts is highly recommended.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories