Course Overview

This course introduces signal processing to a power engineer to fulfil one of the most pressing needs faced in power engineering - filter design. The course begins with a basic introduction to the concept of signal processing, discrete-time systems and basic hardware applications. The course dives into the mathematics behind signal processing to translate many of the obscure concepts into plain English with the final objective of implementation in hardware. The course will then have code-along sessions where students will learn how filters are designed, analyzed and implemented using Python, Numpy, Scipy and Matplotlib. The course has a section on how to install and set up software on different operating systems and used only free and open-source software, making the course and the materials accessible to students irrespective of their background.

What you'll learn

  1. Signal processing with analog filters
  2. Analysis of analog filters
  3. The concept of discrete-time systems in comparison to continuous-time systems
  4. Analog to digital conversion theory
  5. Laplace transforms and its application in analog filters
  6. Laplace transforms in the digital domain
  7. Continuous to discrete-time conversion in the frequency domain
  8. Installing and setting up Python, Numpy and Matplotlib
  9. Generating and plotting signals
  10. Sampling signals and simulating discrete-time systems
  11. Simulating the capacitor as a digital filter
  12. Simulating the inductor as a digital filter
  13. Simulating non-ideal capacitors and inductors as digital filters
  14. Simulating an LC filter digitally
  15. Using the signal package in Scipy
  16. Synthesizing transfer functions in Python with signal
  17. Generating Bode plots
  18. Using frequency response characteristics to design filters
  19. Designing and implementing a low pass and a notch filter

Projects Involved in this Course

Course notes

Course name

Basics of digital signal processing for power engineers

Start & end date

 

Open for enrolment anytime

 

Mode of delivery

 

Online, recorded video lessons & self-paced 

 

Software used

 

Python, Numpy, Scipy & Matplotlib

 

Course pre-requisites

 

Basic electrical engineering, basic mathematics, basic Python programming

 

Applicable for

 

Students, Faculties, or Industry professionals from the background of Electrical & Electronics engineering.

 

Certification by & Host details

 

Decibels Lab Pvt Ltd 

(Recognised as Start-up by Department for Promotion of Industry and Internal Trade Ministry of Commerce & Industry Government of India) (Certificate Number: DIPP45372)

 

Course duration

15 hours 

Course access duration 

 90 days 

Doubt clarification

 

It's 100% practical & self-paced, provided with a step-by-step guide to achieve the learning. To address any of the queries in person, we have a Discussion feature, where you can directly interact with the course author. 

 

Course Curriculum

    1. Welcome

    2. How to use Discussions option

    3. Target audience and requirements

    4. Expected goals

    5. Course access duration

    6. Piracy & infringement warning

    1. Introduction

    2. Discrete versus continuous - using a common example

    3. A continuous time filtering example

    4. The need for Digital Signal Processing

    5. The concept of Digital Signal Processing

    6. Advantages of Digital Signal Processing

    7. Conversion from continuous to digital

    8. Analog to Digital Converters (ADCs)

    9. Interfacing processors and ADCs

    10. Conclusions

    1. Introduction

    2. Reviewing capacitors and inductors

    3. Analog filters

    4. The need for transformations

    5. Laplace Transforms

    6. Transformed inductors and capacitors

    7. Original variables

    8. Advantages of Laplace Transform

    9. What is s?

    10. Laplace Transform in the digital domain

    11. Conversion from continuous to digital domain

    12. Summarizing

    13. Conclusions

    1. Overview

    2. Introduction to Anaconda Python

    3. Windows - installing Anaconda

    4. Linux/Mac - installing Anaconda

    5. Environments in Anaconda

    6. Windows - setting up the Anaconda environment

    7. Linux/Mac - setting up the Anaconda environment

    8. Editors for Python programming

    9. Python packages for signal processing

    10. Launching Jupyter notebook

    11. Introduction to Numpy arrays

    12. Generating signals using Numpy arrays

    13. Getting started with Matplotlib

    14. Sampling Numpy arrays

    15. Generating a power frequency sinusoid

    16. Conclusions

    1. Introduction

    2. Digital model of the capacitor

    3. Implementation issues in digital realizations

    4. Difference equation for a capacitor filter

    5. Coding the capacitor filter

    6. Analyzing the results of the digital capacitor filter

    7. Dc offsets in the capacitor filter implementation

    8. A lossy capacitor

    9. Digital model for a lossy capacitor filter

    10. Results of a lossy capacitor filter

    11. Digital model of an inductor filter

    12. Results of the digital inductor filter

    13. Modeling the loss in the inductor

    14. Coding the lossy inductor

    15. Results of a lossy digital inductor filter

    16. Digital model of a LC filter

    17. Coding the LC filter

    18. Analyzing the operation of a digital LC filter

    19. Behaviour of a digital LC filter

    20. Conclusions

    1. Introduction

    2. Bode plots

    3. Using the semi-logarithmic scale for Bode plots

    4. Linear Time Invariant (LTI) system representation

    5. Sample Bode plots using Scipy

    6. Bode plots for an LC filter

    7. Generalized second order pole

    8. Continuous to discrete conversion

    9. Coding the generalized second order pole

    10. Simulating the working of the generalized second order pole

    11. Performance of the generalized second order pole

    12. Generalized first order pole

    13. Generalized fist order zero

    14. Generalized second order zero

    15. Synthesizing higher order transfer functions

    16. Re-examining the working of the second order pole filter

    17. Requirements of an improved filter

    18. Using the polymul function to synthesize higher order polynomials

    19. Designing a double pole filter

    20. Operation of a double pole filter

    21. Improving the double pole filter

    22. Sample filter design with second order pole and first order pole

    23. The concept of a notch filter

    24. Getting started with notch filter design

    25. Issues in implementing a zero

    26. Overcoming the limitation in discretization of a zero

    27. Completing notch filter implementation

    28. Operation of a notch filter

    29. Design rules

    30. Conclusion

About this course

  • ₹2,999.00
  • 98 lessons
  • 15 hours of video content

Shivkumar Iyer

Instructors profile

I did my Master's and PhD in power electronics after which I spent several years working for both big companies like ABB and GE as well as a number of start-ups. I specialized in the field of power converter control and smart grids and have published prolifically in high impact international journals and conferences besides also being the author of two books. I started programming at the age of 14 and over the past 20 years have programmed in several languages - C, C++, Python, JavaScript. I started taking a keen interest in open source software after I became a Linux user when I was a graduate student. My expertise in electrical engineering and programming therefore resulted in me creating open source software for electrical engineers. I use open source software for teaching electrical engineering to students and practicing engineers with the typical theme of my courses being the application of programming to solve engineering problems.