Get in Touch
 Duration 35 hours

Course Outline

• Course Outcomes Upon successful completion of this module, personnel will be equipped to address unresolved technical challenges within the communications engineering domain for government applications. Participants will have attained the following competencies:


• Formulate and analyze complex mathematical expressions frequently encountered in technical communications literature
• Utilize MATLAB programming capabilities to validate simulation outcomes documented in peer-reviewed literature or to independently derive comparable results.

• Develop simulation models for proposed conceptual solutions.


• Apply simulation methodologies efficiently, leveraging MATLAB’s computational features to design optimized code that minimizes execution time and memory usage.

• Identify critical simulation parameters for specified communication systems, extract these from system models, and assess their impact on overall system performance.

• Course Structure

The curriculum is highly integrated. To ensure continuity of knowledge acquisition, it is imperative that personnel master each preceding level before advancing to the next. The course is organized into three progressive levels, ranging from foundational MATLAB programming to comprehensive system simulation, as detailed below.

Level 1: Communications Mathematics with MATLAB Sessions 01-06

Upon completing this section, participants will be able to evaluate complex mathematical expressions and generate appropriate graphical representations for various data types, including time and frequency domain plots, bit error rate (BER) plots, and antenna radiation patterns.

Fundamental concepts

1. Principles of simulation 2. Significance 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

6. Tool bar 7. Command window 8. Workspace 9. Command history

Variable, vector and matrix declaration

10. MATLAB predefined 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 element elimination (Matrix truncation) 24. Adding elements, vectors, or matrices (Matrix concatenation) 25. Identifying 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. Min operator 33. Max operator 34. Trace operator 35. Matrix determinant |.| 36. Matrix inverse 37. Matrix transpose 38. Matrix Hermitian 39. Etc.

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: a mathematical review 44. Forming complex variables, vectors, and matrices 45. Complex exponentials 46. Real part operator 47. Imaginary part operator 48. Conjugate operator (.)* 49. Absolute operator |.| 50. Argument or phase operator

MATLAB built-in functions

51. Vectors of vectors and matrix of matrix 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 Jo(.) 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 representations of continuous time-continuous amplitude signals 72. Visual representations of staircase approximated signals 73. Visual representations 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 upon request by trainees)

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, and 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 primary objectives of this section are as follows:

• Generate random test signals necessary to evaluate the performance of various communication systems for government use

• Integrate fundamental signal operations to implement single communication processing functions, such as encoders, randomizers, interleavers, and spreading code generators, at both the transmitter and receiver ends.

• Interconnect these functional blocks appropriately to achieve desired communication outcomes

• 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 representation 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 IFFT operations 126. Viewing baseband signal spectrum 127. Effect of sampling rate and proper frequency window 128. Relation between convolution, correlation, and FFT operations 129. Frequency domain filtering, limited to 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 Lognormally distributed RV 145. Generation of arbitrary distributed RV 146. Approximation of unknown probability density functions (PDF) of RV by histogram 147. Numerical calculation of cumulative distribution functions (CDF) of RV 148. Real and complex additive white Gaussian noise (AWGN) channels


Channel Characterization by its Power Delay Profile

149. Channel characterization via power delay profile 150. Power normalization of the PDP 151. Extracting channel impulse response from the PDP 152. Sampling the channel impulse response at arbitrary rates, addressing mismatched sampling and delay quantization 153. Mismatched sampling issues for narrowband channel impulse responses 154. Sampling a PDP at arbitrary rates and fractional delay compensation 155. Implementation of IEEE standardized indoor and outdoor channel models 156. (COST – SUI - Ultra Wide Band Channel Models, etc.)

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

This section focuses on a critical competency for technical personnel: the ability to reproduce simulation results from published literature through rigorous simulation methodologies.


Bit Error Rate Performance of Baseband Digital Modulation Schemes

1. Comparative performance analysis of various baseband digital modulation schemes in AWGN channels (comprehensive simulation to verify theoretical expressions); scatter plots, bit error rate

2. Comparative performance analysis of various baseband digital modulation schemes in stationary and quasi-stationary fading channels; scatter plots, bit error rate (comprehensive simulation to verify theoretical expressions)

3. Impact of Doppler shift channels on baseband digital modulation scheme performance; 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 – Initial proposed solution 6. Paper (3): An Adaptive Modulation Scheme for Helicopter-Satellite Communications – 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-wideband 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 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 (simulation project comprising three papers) 20. Paper (1): Inter-carrier interference mitigation 21. Paper (2): MIMO-OFDM Systems


Optimization of a MATLAB Simulation Project

This section aims to instruct personnel on constructing and optimizing MATLAB simulation projects to streamline and organize the overall simulation process. Additionally, memory space and processing speed are optimized to prevent memory overflow issues in limited storage systems and to mitigate long run times caused by inefficient 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. Standard 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 adequate number of samples per symbol • Calculation of necessary and sufficient number of bits to test a system

GUI programming

Developing a MATLAB code that is free from debugs and produces correct results is a significant achievement. However, a set of key parameters governs the simulation output for government applications. Consequently, an additional lecture on "Graphical User Interface (GUI) Programming" is provided to grant control over various components of the simulation project, facilitating direct manipulation rather than navigating extensive source code. Furthermore, encapsulating MATLAB code within a GUI aids in presenting work in a manner that allows for the consolidation of multiple results in a master window and simplifies data comparison.


1. Definition of 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 herein. Moreover, specific lecture content is subject to adjustment based on the operational needs and research interests of the trainees.

Requirements

To acquire the extensive knowledge embedded in this course, trainees should possess a general background in common programming languages and techniques. A deep understanding of undergraduate-level communications engineering is strongly recommended.

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories