Skip to content

Practical examples on Signal Converter Systems high level modelling and statistical yeild analysis using Jupyter Notebooks.

License

Notifications You must be signed in to change notification settings

das-dias/signal-converters-notebooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

msc-nova

Mixed-Signal Converters Course Notebooks

-----------------------------------------------------

Table of Contents

Directory Organization

The repository is organized as follows:

signal-converters-course/
├── practical_classes/
│   ├── utils.py #featuring utilities functions imported locally
│   ├── practical_class_1.ipynb
│   ├── practical_class_2.ipynb
│   ├── practical_class_3.ipynb
│   └── ...
├── resources/
├── tests/
└── README.md

Overview

This GitHub repository features a collection of Jupyter Notebooks that are used in the Signal Converters course at the Faculty of Sciences and Technology of the NOVA University of Lisbon. The course focuses on the systems theory, design and practical aspects regarding the implementation of Digital-to-Analog and Analog-to-Digital Converters (DAC and ADC, respectively), and was initially taught using Octave, an open-source programming language inspired by MATLAB. Python is also open-source, and a much more powerful programming language than Octave. Due to having a greater user community it is also much more versatile. As such, the course's practical notes were converted and adapted to Python. Using Python and Jupyter Notebooks also enables two very useful features:

  • The possibility of adding HTML and Markdown notes in the middle of code - providing a powerful note-taking system;
  • The possibility of running computationally-heavy simulations in the cloud using Google Colab.

The notebooks were created by me and are intended to be used in the practical classes of the course. These notebooks feature examples of how to use Python to:

  • Represent and generate signals in the frequency and time domains,
  • Represent and generate random noise following a uniform or normal (Gaussian) distribution,
  • Model Analog-to-Digital and Digital-to-Analog Converters, both in an high-level and mid-level of abstraction regarding their hardware implementation,
  • Generate block-level schematics representing the converter systems.

Dependencies

made-with-python

The following open source packages are used in this project:

  • NumPy - general-purpose array-processing package
  • SciPy - fast-fourier-transform (FFT) and other advanced signal-processing algorithms
  • Matplotlib & Seaborn - data visualization and general plotting
  • SchemDraw - high-quality electrical circuit schematic diagrams

Downloading

You can download the zip file of this repository here. Another alternative is to simply clone this repository to your current working directory using the following command:

git clone https://github.com/das-dias/signal-converters-notebooks.git

or

gh repo clone das-dias/signal-converters-notebooks

Contributing

Feel free to clone this repository and use it to make oyur own notes, complement them and even expand the existing notes. If an issue or a bug/error is discovered within the shared code do not hesitate in contacting me through one of the following emails:

In the case of an issue, me or any other main contributor will open an issue-tracking thread for this repository for each of the bugs that are found. Any change that is made to the notes by people interested in collaborating should be done so by generating a new pull request to update the existing notes. The changes will then be reviewed, discussed and approved if they're actually adding value to the notes or correctign existing issues.

Main Contributors

Licensing

This project is licensed under the MIT License - see the LICENSE file or go to the website to find more details.

About

Practical examples on Signal Converter Systems high level modelling and statistical yeild analysis using Jupyter Notebooks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published