Get in Touch

Course Outline

• Course Learning Outcomes
Upon successful completion of this course, participants will be equipped to address open research challenges within communications engineering by demonstrating proficiency in the following areas:


• Analyze and manipulate complex mathematical expressions commonly found in communications engineering literature.

• Utilize MATLAB programming capabilities to reproduce or closely approximate simulation results presented in technical literature.

• Develop simulation models to evaluate independently proposed research ideas.


• Apply efficient simulation techniques combined with MATLAB functionalities to design optimized code, minimizing execution time and memory consumption.

• Identify critical simulation parameters within communication system models, extract these values, and assess their impact on overall system performance.

• Course Organization

The curriculum is highly interconnected. To ensure continuity of knowledge acquisition, participants are strongly advised to master each preceding level before advancing. The course comprises three levels, progressing from foundational MATLAB programming to complete system simulation:

Level 1: Communications Mathematics with MATLAB
Sessions 01-06

Completion of this module enables participants to evaluate complex mathematical expressions and generate appropriate graphical representations for various data formats, including time-domain and frequency-domain plots, Bit Error Rate (BER) analyses, and antenna radiation patterns.

Fundamental Concepts

1. Introduction to simulation principles
2. The significance of simulation in communications engineering
3. MATLAB as a simulation platform
4. Scalar signal representation using matrices and vectors in communications mathematics
5. Complex baseband signal representation in MATLAB

MATLAB Interface

6. Toolbar functionality
7. Command Window
8. Workspace management
9. Command History

Variable, Vector, and Matrix Declaration

10. Predefined MATLAB constants
11. User-defined variables
12. Arrays, vectors, and matrices
13. Manual matrix entry techniques
14. Interval definition methods
15. Linear space generation
16. Logarithmic space generation
17. Rules for variable naming

Special Matrices

18. Ones matrix creation
19. Zeros matrix creation
20. Identity matrix creation

Element-wise and Matrix-wise Manipulation

21. Accessing specific elements
22. Modifying element values
23. Selective element removal (Matrix truncation)
24. Adding elements, vectors, or matrices (Matrix concatenation)
25. Locating element indices within vectors or matrices
26. Reshaping matrices
27. Matrix truncation techniques
28. Matrix concatenation procedures
29. Flipping matrices horizontally and vertically

Unary Matrix Operators

30. Sum operator
31. Expectation operator
32. Minimum operator
33. Maximum operator
34. Trace operator
35. Determinant calculation
36. Matrix inversion
37. Matrix transposition
38. Hermitian conjugate calculation
39. Additional unary operators

Binary Matrix Operations

40. Arithmetic operations
41. Relational operations
42. Logical operations

Complex Numbers in MATLAB

43. Mathematical review of complex baseband representation, passband signals, and RF up-conversion
44. Creation of complex variables, vectors, and matrices
45. Complex exponential functions
46. Real part operator
47. Imaginary part operator
48. Conjugate operator (.*)
49. Absolute value operator
50. Phase or argument operator

MATLAB Built-in Functions

51. Vectors of vectors and matrices of matrices
52. Square root function
53. Signum function
54. Rounding to integer function
55. Floor function (nearest lower integer)
56. Ceiling function (nearest upper integer)
57. Factorial function
58. Logarithmic functions (exp, ln, log10, log2)
59. Trigonometric functions
60. Hyperbolic functions
61. Q-function implementation
62. Complementary error function (erfc)
63. Bessel functions (J0)
64. Gamma function
65. Differentiation and modulo commands

Polynomials in MATLAB

66. Polynomial representation in MATLAB
67. Rational functions
68. Polynomial differentiation
69. Polynomial integration
70. Polynomial multiplication

Linear Scale Plots

71. Visualization of continuous-time, continuous-amplitude signals
72. Visualization of staircase-approximated signals
73. Visualization of discrete-time, discrete-amplitude signals

Logarithmic Scale Plots

74. dB-decade plots (e.g., BER)
75. Decade-dB plots (e.g., Bode plots, frequency response, signal spectrum)
76. Decade-decade plots
77. dB-linear plots

2D Polar Plots

78. Planar antenna radiation pattern visualization


3D Plots

79. 3D radiation pattern visualization
80. Cartesian parametric plot generation

Optional Section (Provided Upon Learner Request)

81. Symbolic differentiation and numerical differencing in MATLAB
82. Symbolic and numerical integration in MATLAB
83. Accessing MATLAB help and documentation

MATLAB File Management

84. Script files
85. Function files
86. Data files
87. Local and global variable scope

Control Flow: Loops, Conditions, and Decision Making

88. For-loop structures
89. While-loop structures
90. If-condition statements
91. If-else condition statements
92. Switch-case statements
93. Iterative processes, error convergence, and multi-dimensional summation

Input and Output Display Commands

94. Input command
95. Disp command
96. Printf command
97. Message box (msgbox) creation


Level 2: Signals and Systems Operations (24 hours)
Sessions 07-14

The primary objectives of this module include:

• Generating random test signals essential for evaluating communication system performance.

• Integrating elementary signal operations to implement transmitter-side processing functions, such as encoders, randomizers, interleavers, and spreading code generators, along with their corresponding receiver-side counterparts.

• Properly interconnecting these modules to achieve specific communication functions.

• Simulating deterministic, statistical, and semi-random indoor and outdoor narrowband channel models for government research and development applications.


Generation of Communications Test Signals

98. Random binary sequence generation
99. Random integer sequence generation
100. Text file import and reading procedures
101. Audio file reading and playback
102. Image import and export operations
103. Representation of images as 3D matrices
104. RGB to grayscale conversion
105. Serial bit stream extraction from 2D grayscale images
106. Sub-framing and reconstruction of image signals


Signal Conditioning and Manipulation

107. Amplitude scaling (gain, attenuation, normalization)
108. DC level shifting
109. Time scaling (compression, expansion)
110. Time shifting (delay, advance, circular shift)
111. Signal energy measurement
112. Energy and power normalization
113. Energy and power scaling techniques
114. Serial-to-parallel and parallel-to-serial conversion
115. Multiplexing and de-multiplexing

Analog to Digital Signal Conversion

116. Time-domain sampling of continuous baseband signals in MATLAB
117. Amplitude quantization of analog signals
118. Pulse Code Modulation (PCM) encoding of quantized signals
119. Decimal-to-binary and binary-to-decimal conversion
120. Pulse shaping techniques
121. Determination of adequate pulse width
122. Selection of samples per pulse

Signal Processing Operations

123. Convolution using conv and filter commands
124. Autocorrelation and cross-correlation of time-limited signals
125. Fast Fourier Transform (FFT) and Inverse FFT operations
126. Visualization of baseband signal spectra
127. Impact of sampling rate and frequency window selection
128. Relationships between convolution, correlation, and FFT operations
129. Frequency domain filtering, including low-pass applications

Auxiliary Communications Functions

130. Randomizers and de-randomizers
131. Puncturers and de-puncturers
132. Encoders and decoders
133. Interleavers and de-interleavers

Modulators and Demodulators

134. Digital baseband modulation schemes in MATLAB
135. Visual representation of digitally modulated signals


Channel Modeling and Simulation

136. Mathematical modeling of channel effects on transmitted signals:
• Additive White Gaussian Noise (AWGN) channels (additive operation)
• Slow fading channels and Doppler shift in vehicular environments (time-domain multiplication)
• Frequency-selective fading channels (frequency-domain multiplication)
• Channel impulse response modeling (time-domain convolution)

Examples of Deterministic Channel Models

137. Free space path loss and environment-dependent path loss calculations
138. Periodic blockage channel models


Statistical Characterization of Common Stationary and Quasi-Stationary Multipath Fading Channels

139. Uniformly distributed random variable generation
140. Real-valued Gaussian distributed random variable generation
141. Complex Gaussian distributed random variable generation
142. Rayleigh distributed random variable generation
143. Rician distributed random variable generation
144. Lognormal distributed random variable generation
145. Arbitrary distributed random variable generation
146. Approximation of unknown probability density functions (PDF) using histograms
147. Numerical calculation of cumulative distribution functions (CDF)
148. Real and complex AWGN channel implementation


Channel Characterization via Power Delay Profile

149. Channel characterization using power delay profiles (PDP)
150. PDP power normalization
151. Extraction of channel impulse response from PDP
152. Sampling the channel impulse response at arbitrary rates, including mismatched sampling and delay quantization
153. Addressing mismatched sampling issues in narrowband channel impulse responses
154. Arbitrary rate sampling of PDP with fractional delay compensation
155. Implementation of standardized indoor and outdoor channel models (IEEE)
156. COST, SUI, and Ultra-Wide Band Channel Models

Level 3: Link-Level Simulation of Practical Communication Systems (30 hours)
Sessions 15-24

This module addresses a critical objective for research personnel: reproducing simulation results from published technical papers.


Bit Error Rate Performance of Baseband Digital Modulation Schemes

1. Comparative performance analysis of baseband digital modulation schemes in AWGN channels via simulation to verify theoretical expressions; includes scatter plots and BER calculations.
2. Comparative performance analysis of baseband digital modulation schemes in stationary and quasi-stationary fading channels via simulation to verify theoretical expressions; includes scatter plots and BER calculations.
3. Analysis of Doppler shift impact on the performance of baseband digital modulation schemes; includes scatter plots and BER calculations.

Helicopter-to-Satellite Communications

4. Review of Paper (1): Low-Cost Real-Time Voice and Data System for Aeronautical Mobile Satellite Service (AMSS) – Problem statement and analysis.
5. Review of Paper (2): Pre-Detection Time Diversity Combining with Accurate AFC for Helicopter Satellite Communications – Proposed solution.
6. Review of Paper (3): An Adaptive Modulation Scheme for Helicopter-Satellite Communications – Performance improvement approach.

Simulation of Spread Spectrum Systems

1. Typical architecture of spread spectrum systems.
2. Direct Sequence Spread Spectrum (DSSS) systems.
3. Pseudo-Random Binary Sequence (PRBS) generators:
• Generation of maximal length sequences
• Generation of Gold codes
• Generation of Walsh codes
4. Time Hopping Spread Spectrum systems.
5. BER performance of spread spectrum systems in AWGN channels:
• Impact of coding rate on BER performance
• Impact of code length on BER performance
6. BER performance of spread spectrum systems in multipath slow Rayleigh fading channels with zero Doppler shift.
7. BER performance analysis in high-mobility fading environments.
8. BER performance analysis in the presence of multi-user interference.
9. RGB image transmission over spread spectrum systems.
10. Optical CDMA (OCDMA) systems:
• Optical Orthogonal Codes (OOC)
• Performance limits and BER analysis of synchronous and asynchronous OCDMA systems

Ultra-Wide Band (UWB) Spread Spectrum Systems

OFDM-Based Systems

11. OFDM system implementation using FFT.
12. Typical architecture of OFDM-based systems.
13. 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
14. BER performance of OFDM systems in multipath slow Rayleigh fading channels with zero Doppler shift.
15. BER performance of OFDM systems in multipath slow Rayleigh fading channels with Carrier Frequency Offset (CFO).
16. Channel estimation techniques in OFDM systems.
17. Frequency domain equalization in OFDM systems:
• Zero Forcing Equalizer
• MMSE Equalizers
18. Additional performance metrics for OFDM systems, including Peak-to-Average Power Ratio (PAPR) and Carrier-to-Interference Ratio (CIR).
19. Performance analysis of OFDM systems in high-mobility fading environments (simulation project comprising three papers).
20. Review of Paper (1): Inter-carrier interference mitigation.
21. Review of Paper (2): MIMO-OFDM Systems.


Optimization of MATLAB Simulation Projects

This section focuses on building and optimizing MATLAB simulation projects to streamline the process, manage memory space, and improve processing speed, thereby preventing memory overflow and excessive execution times in resource-constrained environments.

1. Typical structure of small-scale simulation projects.
2. Extraction of simulation parameters and mapping theoretical concepts to simulations.
3. Building a simulation project framework.
4. Monte Carlo simulation techniques.
5. Standard procedure for testing simulation projects.
6. Memory management and time reduction techniques:
• Baseband vs. passband simulation considerations
• Calculating adequate pulse width for truncated arbitrary pulse shapes
• Determining the necessary number of samples per symbol
• Calculating the requisite number of bits to adequately test a system

GUI Programming

While functional MATLAB code is essential, controlling multiple simulation parameters via extensive source code can be inefficient. This module introduces Graphical User Interface (GUI) programming to provide intuitive control over simulation variables, facilitate the aggregation of multi-results in a single window, and streamline data comparison for reporting purposes.

1. Overview of MATLAB GUI
2. Structure of MATLAB GUI function files
3. Main GUI components (properties and values)
4. Local and global variable management within GUIs


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

Requirements

To successfully absorb the extensive curriculum presented in this program, participants are expected to possess a foundational familiarity with widely used programming languages and standard development methodologies. A comprehensive grasp of undergraduate-level communications engineering principles is highly advised for those seeking to maximize their proficiency in these specialized areas designed for government applications.
 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories