Get in Touch
 Duration 35 hours

Course Outline

Course Outcomes

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

  • Interpret and manipulate complex mathematical expressions commonly found in communications engineering literature.
  • Leverage MATLAB’s programming capabilities to replicate simulation results from academic papers or approach those benchmarks.
  • Develop simulation models for original, self-proposed ideas.
  • Efficiently apply simulation skills alongside MATLAB’s features to design optimized code that balances execution time and memory usage.
  • Identify critical simulation parameters within a communication system, extract them from the model, and analyze their impact on overall system performance.

Course Structure

The material in this course is highly interconnected. To maintain knowledge continuity, it is strongly advised that students attend each level only after thoroughly understanding the preceding one. The curriculum is divided into three progressive levels, advancing from introductory MATLAB programming to complete system simulation:

Communications Mathematics with MATLAB
Sessions 01-06

After completing this section, students will be able to evaluate complex mathematical expressions and create appropriate visualizations for various data representations, such as time-domain and frequency-domain plots, Bit Error Rate (BER) curves, 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
  • Representation of complex baseband signals using matrices and vectors in MATLAB


MATLAB Desktop Interface

  • Tool bar
  • Command window
  • Workspace
  • Command history

Declaration of Variables, Vectors, and Matrices

  • Pre-defined constants in MATLAB
  • 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 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
  • Truncating matrices
  • Concatenating matrices
  • Flipping elements 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
  • Hermitian matrix

Binary Matrix Operations

  • Arithmetic operations
  • Relational operations
  • Logical operations

Complex Numbers in MATLAB

  • Mathematical review of complex baseband representation of passband signals and RF up-conversion
  • Creation of 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 matrix of matrices
  • \u00a0Square 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
  • Complementary error function erfc(.)
  • Bessel functions Jo (.)
  • Gamma function
  • Diff and mod commands

Polynomials in MATLAB

  • Handling polynomials in MATLAB
  • Rational functions
  • Polynomial derivatives
  • Polynomial integration
  • Polynomial multiplication

Linear Scale Plots

  • Visualizing continuous time-continuous amplitude signals
  • Visualizing stair-case 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 (Available upon Learner Request)

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

MATLAB File Types

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

Flow Control, Conditions, 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

  • The 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 required for evaluating the performance of various communication systems.
  • Integrating elementary signal operations to implement complex communication functions such as encoders, randomizers, interleavers, and spreading code generators at both the transmitter and receiver ends.
  • Properly interconnecting these blocks to achieve specific communication functions.
  • Simulating deterministic, statistical, and semi-random indoor and outdoor narrowband channel models.

Generation of Communication 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 stream representation 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 (compression and rarefaction)
  • 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 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 (IFFT) operations
  • Visualizing baseband signal spectra
  • Impact of sampling rate and frequency window selection
  • Relationships between convolution, correlation, and FFT operations
  • Frequency domain filtering (specifically low-pass filtering)

Auxiliary Communication Functions

  • Randomizers and de-randomizers
  • \u00a0Puncturers 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 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

Deterministic Channel Models

  • 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 (RVs)
  • 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 (PDFs) using histograms
  • Numerical calculation of cumulative distribution functions (CDFs)
  • Real and complex AWGN channels

Channel Characterization via Power Delay Profile

  • Analyzing channels by their power delay profile (PDP)
  • Power normalization of the PDP
  • Extracting channel impulse response from the PDP
  • Sampling channel impulse response at arbitrary rates, including mismatched sampling and delay
  • Quantization
  • Addressing mismatched sampling issues in narrowband channel impulse responses
  • Sampling PDPs at arbitrary rates with fractional delay compensation
  • Implementing 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 challenge for research students: reproducing the simulation results of published academic papers. It focuses on practical applications of the skills learned in previous sections.


Bit Error Rate Performance of Baseband Digital Modulation Schemes

  • Comparative performance analysis of different baseband modulation schemes in AWGN channels, including comprehensive simulations to verify theoretical expressions, scatter plots, and BER analysis.
  • Performance comparison of modulation schemes in stationary and quasi-stationary fading channels, with scatter plots and BER studies to validate theoretical models.
  • Impact of Doppler shift channels on the performance of baseband digital modulation schemes, analyzed via scatter plots and BER.
  • 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): Adaptive Modulation Scheme for Helicopter-Satellite Communications – Performance improvement approach.

Simulation of Spread Spectrum Systems

  • Typical architectures of spread spectrum-based systems
  • Direct sequence spread spectrum (DSSS) systems
  • Pseudo-random binary sequence (PRBS) 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 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 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, including synchronous and asynchronous BER performance

Ultra Wide Band Spread Spectrum Systems

OFDM-Based Systems

  • Implementing OFDM systems using the Fast Fourier Transform
  • Typical architectures 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
    • Minimum Mean Square Error (MMSE) Equalizers
  • Other common performance metrics for 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 comprising three papers):
    • Paper (1): Inter-carrier interference mitigation
    • Paper (2): MIMO-OFDM Systems


Optimizing MATLAB Simulation Projects

This section teaches students how to build and optimize MATLAB simulation projects to simplify and organize the workflow. It also covers strategies to manage memory usage and processing speed, preventing memory overflow in limited storage systems and reducing long run times caused by inefficient processing.

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

GUI Programming

Creating a debug-free MATLAB code that produces correct results is a significant achievement. However, manual control over key parameters can be cumbersome. Therefore, an additional lecture on Graphical User Interface (GUI) programming is included to provide intuitive control over various aspects of the simulation. Masking code with a GUI facilitates the presentation of work, allowing for the consolidation of multiple results in a single master window and easier data comparison.

  • Introduction to MATLAB GUIs
  • Structure of MATLAB GUI function files
  • Main GUI components, including important properties and values
  • Handling local and global variables


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

Requirements

To fully benefit from the extensive content of this course, participants should possess a solid foundation in common programming languages and methodologies. A strong understanding of undergraduate-level communications engineering concepts is highly recommended to ensure successful engagement with the material.

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories