Course Outline
• Course Outcomes
Upon completing this course, students should be equipped to tackle numerous current research challenges in communications engineering. They should have acquired the following skills:
• The ability to map and manipulate complex mathematical expressions commonly found in communications engineering literature.
• Proficiency in utilizing MATLAB's programming capabilities to replicate simulation results from other research papers or closely approximate them.
• The capability to create simulation models for self-proposed ideas.
• The ability to apply acquired simulation skills alongside MATLAB's powerful features to design optimized MATLAB code, focusing on reducing execution time and minimizing memory usage.
• Skill in identifying key simulation parameters within a given communication system, extracting them from the system model, and analyzing their impact on system performance.
• Course Structure
The material in this course is highly interconnected. It is not advisable for a student to proceed to a specific level without first attending and thoroughly understanding the preceding level to ensure knowledge continuity. The course is divided into three levels, ranging from an introduction to MATLAB programming to complete system simulation, as detailed below.
Level 1: Communications Mathematics with MATLAB
Sessions 01-06
After completing this section, students will be able to evaluate complex mathematical expressions and easily generate appropriate graphs for various data representations, such as time and frequency domain plots, Bit Error Rate (BER) plots, and antenna radiation patterns.
Fundamental Concepts
1. The concept of simulation
2. The importance of simulation in communications engineering
3. MATLAB as a simulation environment
4. Matrix and vector representation of scalar signals in communications mathematics
5. Matrix and vector representations of complex baseband signals in MATLAB
MATLAB Desktop Interface
6. Tool bar
7. Command window
8. Workspace
9. Command history
Variable, Vector, and Matrix Declaration
10. MATLAB pre-defined constants
11. User-defined variables
12. Arrays, vectors, and matrices
13. Manual matrix entry
14. Interval definition
15. Linear space
16. Logarithmic space
17. Variable naming conventions
Special Matrices
18. Ones matrix
19. Zeros matrix
20. Identity matrix
Element-wise and Matrix-wise Manipulation
21. Accessing specific elements
22. Modifying elements
23. Selective elimination of elements (Matrix truncation)
24. Adding elements, vectors, or matrices (Matrix concatenation)
25. Finding the index of an element within a vector or matrix
26. Matrix reshaping
27. Matrix truncation
28. Matrix concatenation
29. Left-to-right and right-to-left flipping
Unary Matrix Operators
30. Sum operator
31. Expectation operator
32. Minimum operator
33. Maximum operator
34. Trace operator
35. Matrix determinant
36. Matrix inverse
37. Matrix transpose
38. Matrix Hermitian
39. Others
Binary Matrix Operations
40. Arithmetic operations
41. Relational operations
42. Logical operations
Complex Numbers in MATLAB
43. Complex baseband representation of passband signals and RF up-conversion (mathematical review)
44. Creating complex variables, vectors, and matrices
45. Complex exponentials
46. Real part operator
47. Imaginary part operator
48. Conjugate operator
49. Absolute value operator
50. Argument or phase operator
MATLAB Built-in Functions
51. Vectors of vectors and matrices of matrices
52. Square root function
53. Sign function
54. Round to integer function
55. Nearest lower integer function
56. Nearest upper integer function
57. Factorial function
58. Logarithmic functions (exp, ln, log10, log2)
59. Trigonometric functions
60. Hyperbolic functions
61. Q-function
62. erfc-function
63. Bessel functions J0
64. Gamma function
65. Diff and mod commands
Polynomials in MATLAB
66. Polynomials in MATLAB
67. Rational functions
68. Polynomial derivatives
69. Polynomial integration
70. Polynomial multiplication
Linear Scale Plots
71. Visual representation of continuous time-continuous amplitude signals
72. Visual representation of staircase-approximated signals
73. Visual representation of discrete time-discrete amplitude signals
Logarithmic Scale Plots
74. dB-decade plots (BER)
75. Decade-dB plots (Bode plots, frequency response, signal spectrum)
76. Decade-decade plots
77. dB-linear plots
2D Polar Plots
78. Planar antenna radiation patterns
3D Plots
79. 3D radiation patterns
80. Cartesian parametric plots
Optional Section (provided based on learner demand)
81. Symbolic differentiation and numerical differencing in MATLAB
82. Symbolic and numerical integration in MATLAB
83. MATLAB help and documentation
MATLAB Files
84. MATLAB script files
85. MATLAB function files
86. MATLAB data files
87. Local and global variables
Loops, Conditional Flow Control, and Decision Making in MATLAB
88. For-end loop
89. While-end loop
90. If-end condition
91. If-else-end conditions
92. Switch-case-end statement
93. Iterations, converging errors, multi-dimensional sum operators
Input and Output Display Commands
94. Input command
95. Disp command
96. Fprintf command
97. Message box (msgbox)
Level 2: Signals and Systems Operations (24 hours)
Sessions 07-14
The main objectives of this section are as follows:
• Generate random test signals necessary for evaluating the performance of various communication systems.
• Integrate numerous elementary signal operations to implement single communication processing functions, such as encoders, randomizers, interleavers, and spreading code generators at the transmitter, along with their counterparts at the receiver.
• Interconnect these blocks correctly to achieve specific communication functions.
• Simulate deterministic, statistical, and semi-random indoor and outdoor narrowband channel models.
Generation of Communications Test Signals
98. Generation of random binary sequences
99. Generation of random integer sequences
100. Importing and reading text files
101. Reading and playback of audio files
102. Importing and exporting images
103. Images as 3D matrices
104. RGB to grayscale transformation
105. Serial bit stream of a 2D grayscale image
106. Sub-framing of image signals and reconstruction
Signal Conditioning and Manipulation
107. Amplitude scaling (gain, attenuation, amplitude normalization, etc.)
108. DC level shifting
109. Time scaling (time compression, rarefaction)
110. Time shift (time delay, time advance, left and right circular time shift)
111. Measuring signal energy
112. Energy and power normalization
113. Energy and power scaling
114. Serial-to-parallel and parallel-to-serial conversion
115. Multiplexing and de-multiplexing
Digitization of Analog Signals
116. Time domain sampling of continuous time baseband signals in MATLAB
117. Amplitude quantization of analog signals
118. PCM encoding of quantized analog signals
119. Decimal-to-binary and binary-to-decimal conversion
120. Pulse shaping
121. Calculation of adequate pulse width
122. Selection of the number of samples per pulse
123. Convolution using conv and filter commands
124. Autocorrelation and cross-correlation of time-limited signals
125. Fast Fourier Transform (FFT) and Inverse FFT (IFFT) operations
126. Viewing a baseband signal spectrum
127. Effect of sampling rate and proper frequency window
128. Relationship between convolution, correlation, and FFT operations
129. Frequency domain filtering, specifically low-pass filtering
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 Modelling and Simulation
136. Mathematical modeling of channel effects on transmitted signals
• Addition – Additive White Gaussian Noise (AWGN) channels
• Time domain multiplication – Slow fading channels, Doppler shift in vehicular channels
• Frequency domain multiplication – Frequency selective fading channels
• Time domain convolution – Channel impulse response
Examples of Deterministic Channel Models
137. Free space path loss and environment-dependent path loss
138. Periodic Blockage Channels
Statistical Characterization of Common Stationary and Quasi-Stationary Multipath Fading Channels
139. Generation of uniformly distributed Random Variables (RV)
140. Generation of real-valued Gaussian distributed RV
141. Generation of complex Gaussian distributed RV
142. Generation of Rayleigh distributed RV
143. Generation of Ricean distributed RV
144. Generation of Lognormal distributed RV
145. Generation of arbitrary distributed RV
146. Approximation of an unknown Probability Density Function (PDF) of an RV using a histogram
147. Numerical calculation of the Cumulative Distribution Function (CDF) of an RV
148. Real and complex AWGN Channels
Channel Characterization by Power Delay Profile
149. Channel characterization by its power delay profile
150. Power normalization of the Power Delay Profile (PDP)
151. Extracting the channel impulse response from the PDP
152. Sampling the channel impulse response with an arbitrary sampling rate, mismatched sampling, and delay quantization
153. The problem of mismatched sampling of the channel impulse response for narrowband channels
154. Sampling a PDP with an arbitrary sampling rate and fractional delay compensation
155. Implementation of several IEEE standardized indoor and outdoor channel models
156. (COST, SUI, Ultra Wide Band Channel Models, etc.)
Level 3: Link Level Simulation of Practical Communication Systems (30 hours)
Sessions 15-24
This section addresses the most critical issue for research students: how to reproduce simulation results from published papers through simulation.
Bit Error Rate Performance of Baseband Digital Modulation Schemes
1. Performance comparison of different baseband digital modulation schemes in AWGN channels (Comprehensive comparative study via simulation to verify theoretical expressions); scatter plots, bit error rate
2. Performance comparison of different baseband digital modulation schemes in various stationary and quasi-stationary fading channels; scatter plots, bit error rate (Comprehensive comparative study via simulation to verify theoretical expressions)
3. Impact of Doppler shift channels on the performance of baseband digital modulation schemes; scatter plots, bit error rate
Helicopter-to-Satellite Communications
4. Paper (1): Low-Cost Real-Time Voice and Data System for Aeronautical Mobile Satellite Service (AMSS) – Problem statement and analysis
5. Paper (2): Pre-Detection Time Diversity Combining with Accurate AFC for Helicopter Satellite Communications – The first proposed solution
6. Paper (3): An Adaptive Modulation Scheme for Helicopter-Satellite Communications – A performance improvement approach
Simulation of Spread Spectrum Systems
1. Typical architecture of spread spectrum-based systems
2. Direct sequence spread spectrum-based systems
3. Pseudo-random binary sequence (PBRS) generators
• Generation of Maximal length sequences
• Generation of Gold codes
• Generation of Walsh codes
4. Time hopping spread spectrum-based systems
5. 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
6. Bit Error Rate Performance of spread spectrum-based systems in multipath Slow Rayleigh Fading Channels with zero Doppler shift
7. Bit error rate performance analysis of spread spectrum-based systems in high mobility fading environments
8. Bit error rate performance analysis of spread spectrum-based systems 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 of OCDMA systems; bit error rate performance of synchronous and asynchronous OCDMA systems
Ultra Wide Band SS Systems
OFDM-Based Systems
11. Implementation of OFDM systems using the Fast Fourier Transform
12. Typical architecture of OFDM-based systems
13. 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
14. Bit Error Rate Performance of OFDM Systems in multipath Slow Rayleigh Fading Channels with zero Doppler shift
15. Bit Error Rate Performance of OFDM Systems in multipath Slow Rayleigh Fading Channels with Carrier Frequency Offset (CFO)
16. Channel Estimation in OFDM Systems
17. Frequency Domain Equalization in OFDM Systems
• Zero Forcing Equalizer
• MMSE Equalizers
18. Other Common Performance Metrics in OFDM-Based Systems (Peak-to-Average Power Ratio, Carrier-to-Interference Ratio, etc.)
19. Performance analysis of OFDM-based systems in high mobility fading environments (as a simulation project comprising three papers)
20. Paper (1): Inter-carrier interference mitigation
21. Paper (2): MIMO-OFDM Systems
Optimization of a MATLAB Simulation Project
The aim of this section is to teach how to build and optimize a MATLAB simulation project to simplify and organize the overall simulation process. Additionally, memory space and processing speed are considered to avoid memory overflow issues in limited storage systems or long run times resulting from slow processing.
1. Typical structure of small-scale simulation projects
2. Extraction of simulation parameters and theoretical-to-simulation mapping
3. Building a Simulation Project
4. Monte Carlo Simulation Technique
5. A Typical Procedure for Testing a Simulation Project
6. 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
Having MATLAB code free from bugs and functioning correctly to produce accurate results is a significant achievement. However, key parameters in a simulation project control its behavior. For this reason and others, an extra lecture on "Graphical User Interface (GUI) Programming" is provided to give control over various parts of your simulation project effortlessly, rather than navigating long source codes full of commands. Furthermore, masking your MATLAB code with a GUI facilitates presenting your work by allowing the combination of multiple results into one master window and making data comparison easier.
1. What is a MATLAB GUI
2. Structure of MATLAB GUI function file
3. Main GUI components (important properties and values)
4. Local and global variables
Note: The topics covered in each level of this course include, but are not limited to, those stated for each level. Moreover, the items for each particular lecture are subject to change depending on learner needs and their research interests.
Requirements
To fully benefit from the extensive knowledge presented in this course, trainees should possess a general background in common programming languages and techniques. A deep understanding of undergraduate-level communications engineering coursework is strongly recommended.
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 6500 € + VAT*
Contact us for an exact quote and to hear our latest promotions
Testimonials (2)
The many examples and the building of the code from start to finish.
Toon - Draka Comteq Fibre B.V.
Course - Introduction to Image Processing using Matlab
Many useful exercises, well explained