MATLAB FOR ELECTRONICS

Teachers: 
Credits: 
6
Site: 
PARMA
Year of erogation: 
2021/2022
Unit Coordinator: 
Disciplinary Sector: 
Electronics
Semester: 
First semester
Year of study: 
2
Language of instruction: 

Italian

Learning outcomes of the course unit

The course aims to provide students with the knowledge of the main features of the MATLAB software in order to use it as a support tool to the electronics design. The student will learn how to apply the acquired knowledge to simple analysis and data processing problems by solving them through MATLAB and how to implement and verify algorithms in the MATLAB environment. Moreover, she/he will learn how to use MATLAB and SIMULINK in typical applications of electronics, electrical engineering and signal processing.
In particular, the student will learn 1. to work in Matlab environment, knowing the data types available and how to operate them, 2. to analyze and process the data for the preliminary study of algorithms and systems, also using specific toolbox. 3. How to resolve equations with MATLAB/Simulink 4. To design and to simulate a system using MATLAB/Simulink. 5. Flow Chart and Finite State Machine design with StateFlow. 6. to automatically generate C or VHDL code for Microcontrollers or FPGAs.
Finally, she/he will learn how to communicate and document the choices made through a well written and documented code.

Prerequisites

Basics concepts about electrical circuits, electronics, signal theory and programming taught in previous courses.

Course contents summary

The course is dedicated to the use of the MATLAB software as a support to electronic design, both as regards the analysis of data both as regards the systems design, modeling and simulation, hardware connection and code generation
Topics include:
1. The MATLAB environment with application examples
2. The SIMULINK environment with application examples
3. Hardware connection and code generation

Course contents

1. MATLAB ENVIRONMENT (16 hours)
1.1. Work environment (1 hour)
1.1.1. Workspace
1.1.2. Commands
1.1.3. Documentation
1.2. Variables (3 hours)
1.2.1. The double data type
1.2.2. Arrays and matrices
1.2.3. Aritmetic operators
1.2.4. Matrix operators
1.2.5. Logical operators
1.2.6. Matrices/arrays concatenation
1.2.7. Indexing
1.3. Other datatypes (4 hours)
1.3.1. Char
1.3.2. Cell arrays
1.3.3. Tables
1.3.4. Structures
1.3.5. Datetime, duration
1.3.6. Logical
1.3.7. Categories
1.3.8. Data conversions
1.3.9. Data types and memory
1.4. Editor, Script and functions (3 hours)
1.4.1. Script
1.4.2. Functions
1.4.3. Debug
1.4.4. Reports and code performance
1.4.5. MATLAB Programming
1.5. Input/output operations
1.6. Data visualization
2. SIMULINK ENVIRONMENT (2 hours)
2.1. Model creation
2.2. Model simulation
2.3. Simulation output analysis
2.4. Transferring data with MATLAB
2.4.1. Data Import
2.4.2. Floating vs fixed point notation
2.5. Subsystems creation and managing
3. CIRCUITS AND SYSTEMS SIMULATION WITH SIMULINK (3 hour)
4. STATEFLOW (3 hours)
4.1. Flow Chart
4.2. Finite State Machines
5. SOLVING EQUATIONS (6 hours)
5.1. Solving Equations - MATLAB
5.1.1. Linear Systems
5.1.2. Non-linear equations
5.1.3. Differential equations
5.1.4. Symbolic equations, function approximation - MATLAB
5.2. Solving equations - SIMULINK
6. FUNCTION APPROXIMATION AND POLYNOMIALS (1 hour)
6.1. Polynomials
6.2. Polynomial interpolation
6.3. Taylor’s Polynomial
7. CONTINUOUS LTI SYSTEMS ANALYSIS (4 hours)
7.1. Continuous LTI Systems analysis – MATLAB (3 hours)
7.1.1. Laplace Transform and transfer function
7.1.2. Step, impulse and generic signal response
7.1.3. Frequency domain response: systems stability (Bode and Pole/Zero Analysis)
7.2. Continuous LTI Systems analysis – SIMULINK (1 hour)
8. DIGITAL LTI SYSTEMS ANALYSIS (2 hours)
8.1. Digital LTI Systems Analysis – MATLAB (1 hour)
8.1.1. Z-Transform and transfer function
8.1.2. Impulse and generic signal response
8.1.3. Frequency domain response and Pole/Zero Analysis
8.2. Digital LTI Systems Analysis – SIMULINK (1 hour)
9. FIR AND IIR FILTERS DESIGN (3 hours)
10. FFT (1 hour)
11. AUTOMATIC CODE GENERATION (6 hours)
11.1. C Coder
11.2. HDL Coder
12. HARDWARE CONNECTION (1 hour)

Recommended readings

Stephen J. Chapman, Essentials of MATLAB Programming 3 ed., Cengage Learning, 2018, ISBN-13: 978-1305970656.
Brian H. Hahn, Daniel T. Valentine, Essential MATLAB for Engineers and Scientists, Academic Press, 2017, ISBN: 9780081008775

Teaching methods

24 lessons of 2 hours each.
The topics covered will be illustrated through slides and exercises. Each lesson will be recorded and the video will be made available on Elly platform. The slides used and the exercises texts and solutions will also be published on the same platform.

Assessment methods and criteria

Practical test. The exercise could be:
- the elaboration of some data that will be provided by the teacher: the data will be imported with one of the techniques presented in the lesson, and then analysed and processed according to a particular algorithm provided in the examination text and finally plotted.
- Setting, analyzing, and simulating a electrical/electronic/signal processing system, with MATLAB and/or SIMULINK.
The test is evaluated on scale 0-32. The honors are reserved to a score of more than 30.
If, due to the persistence of the health emergency, it is necessary to organize exams in remote mode, the practical test will be carried out via Teams.