
This course teaches power engineers to design and implement digital filters using DSP or FPGA, with hands-on Python and open source tools, covering LaPlace transform and continuous-discrete time conversion.
Explore digital signal processing with engineering examples, mastering frequency response, Laplace transform, and discrete-time implementation using Python, matplotlib, and Sipah tools.
Explore why digital signal processing offers precise, drift-free filtering and easier frequency tuning compared to continuous-time filters with passive components, tolerance issues, and higher costs for precision.
The lecture introduces analog to digital conversion, detailing sampling, quantization, a capacitor-based sample-and-hold mechanism, and encoding into binary levels for DSP processing.
Explain how an adc interfaces with a processor, covering start and complete signals, sample and hold, quantization, and result register, with flags and interrupts for clocked sampling.
Explore how capacitors and inductors shape signals in analog filters, showing how capacitors bypass high-frequency currents and inductors block them, using derivative and integral actions.
Explain how the Laplace transform converts time-domain signals to the s-domain, simplifying circuits and differential equations into polynomial forms for easier analysis and filter design.
Learn how continuous-time systems map to the discrete domain through z-transform concepts, evaluate zero-order and first-order hold methods, and adopt the bilinear transformation for stable, practical continuous-to-digital conversion.
Review the core theory of the Laplace transform, its shift from continuous to discrete domains, and how it links circuit behavior to frequency-based digital filter design.
Explore signal processing theory, learn how the Laplace transform converts time signals to the frequency domain, and transition from continuous time domain to the digital domain to implement digital filters.
Install Python and Anaconda, set up virtual environments, and use Jupyter Notebook for interactive coding; learn basic Python and plotting with matplotlib to design filters in signal processing.
Explore installing Python with the Anaconda distribution, understand dependency handling via a package manager, and set up cross-platform environments and the Jupiter notebook for Python projects.
Download and install the Anaconda distribution on Windows, using the 64-bit installer. Follow steps for license agreement and setting the default Python for machine learning, data science, and artificial intelligence.
Launch and use Jupiter notebook within the active Anaconda environment to run Python interactively in your default browser, and practice commands with shift-enter.
Learn to use numpy arrays instead of Python lists, import numpy as np, and create, index, and slice arrays with arange, understanding start, stop, and step for signals.
Learn to plot functions with matplotlib, create sine and cosine waves, customize colors and figure size, and add legends, axes labels, and titles for clear waveform plots.
Install and set up Python in the notebook with Anaconda, explore basic signal processing concepts, generate and sample signals, and prepare to implement filters in the next section.
Contrast offline analysis with real-time processing, highlighting past and present samples and the challenge of unknown future values for discrete signal implementations.
Transform the capacitor filter equation into a delay-based form using the delay operator and real-time processing, computing the present measured value from past measured values and past computed values.
explains the dc offset from a capacitor filter when fed a sinusoid, due to indefinite integration and initial conditions, and notes losses will dissipate it.
Model the losses in the inductor with a series resistor, since magnetic field energy depends on current; the series loss causes dissipation while the inductor remains in the circuit.
Develop a discrete-time model of lossy inductors by converting the integral loss equation to the frequency and z-domain, deriving a practical circuit implementation for power engineers.
This lecture demonstrates a digital model of an lc filter by converting circuit elements to their laplace equivalents and deriving the transfer function, then applying bilinear transformation for discrete-time implementation.
Derive the discrete lc filter equation from the continuous model via Laplace transform, and implement a second-order digital filter with x[n], y[n], and past states for a 200 μs sample.
Analyze how inductance, capacitance, and resistance shape an LC filter’s transfer function in the frequency domain. Apply frequency response design principles to tailor digital filter behavior and test outcomes.
Learn to generate bode plots with SciPy for a transfer function, plotting magnitude and phase over a logarithmic frequency axis using LC and RC values and a denominator-only model.
Learn to code the generalized second order pole by implementing a discrete system, plotting magnitude and phase, and comparing input and output signals across multiple windows.
Explore the generalized first-order zero as the reciprocal of a pole in transfer functions, noting its simple, non-resonant behavior at the cut-off frequency omega.
Learn how to synthesize higher order transfer functions by multiplying polynomials using polymul, and feed separate numerators and denominators into the LDA function for accurate frequency response.
Design a combined filter by pairing a first-order pole with a second-order pole, and study the resulting transfer function and phase behavior in digital signal processing for power engineers.
Learn how to implement a notch filter by adding zeros to cancel a resonant frequency, shaping a second order response to preserve higher frequencies.
Complete the notch filter by implementing the remaining zeros and poles in the cascaded transfer function, update coefficients, and validate the build before analyzing performance in the next lecture.
Conclude by reinforcing hands-on learning in digital signal processing, guiding you to design filters from scratch with Python, explore open source tools, and apply concepts to real hardware projects.
This course introduces signal processing to a power engineer with the objective of fulfilling 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 in order 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 setup 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.