DSP Wisdom
I’ve compiled a list of DSP wisdom I have learned and used over my career. The list is a collection of aphorisms in the vein of Nassim Taleb’s Bed of Procrustes and Epictetus’ Handbook. This blog post will be updated over time and used as a reference in other posts.
Reverse Engineer Your Product Delivery Plan
You have been assigned a product delivery on a too-short of a deadline.
Let’s make it harder and say you just got promoted to the project lead and have a couple of junior engineers working for you. You have to build a schedule, allocate people to different tasks, report your progress to your leadership and your customer and get everything synchronized so it comes together successfully at the end.
Let’s add more.
The success of the project has implications to your career and reputation, as well as your organization. Your success may have implications to the profitability or success of your company. All eyes are on you.
The Unit Circle: The Field of Play for the Game of DSP
Thinking about complex sinusoids, , the unit circle, phase, negative frequency and using instead of can all be confusing when the material is first encountered. Have you asked yourself the following questions? I certainly have:
- Why do we need the complex plane?
- Why can’t we just use degrees instead of radians?
- Why is the unit circle useful?
Unfortunately many of the mathematical tools encountered in the first and second years of an undergraduate EE degree are abstract and their value may not seem practical until graduate school or your first job as an engineer. The hope is that the following post will connect these concepts into a real world situation using the face of a clock in an attempt to build some intuition.
Free DSP Code!
Some posts have code included to help demonstrate the concepts. You can check them out under the post with code tag. Enjoy!
Phase, Frequency and Negative Frequency in Complex Sinusoids
A prior post described how sinusoids came to be used in DSP and RF due to physical properties of the universe. A follow up gave some mathematical rules about complex sinusoids on how sine, cosine and all related to one another in terms of Euler’s triangle. This blog will continue by including time in complex sinusoids, describe how phase and frequency relate to one another, how a negative frequency arises and demonstrates the concepts using the unit circle. It may be useful to review some complex math before jumping into this post.
Folding a Polyphase Half Band Filter: Lemon Squeezer Style
Folding a filter is a way to improve efficiency, and folding the weights for a polyphase filterbank improves the efficiency beyond that. The zero weights in the half band filter make for a great application of the folding and polyphase filterbank structures.
You know after you cut a lemon and try to get the juice out by hand you get to the point where you need a lemon squeezer to get every last drop? This blog is going to squeeze out every little bit of efficiency in the polyphase half band filter.
Your Life As a Beautiful Mosaic
Polyphase Half Band Filter for Decimation by 2
The last post on half band filters (HBF) referenced the use of a polyphase filter bank structure with a half band filter of length N can be reduced to N/8 multiplies per input sample. This is a huge efficiency gain and why they are used in large sample rate change [harris2021, p.234]. The polyphase filter bank will be used to efficiently implement a decimation by 2 within the HBF with additional savings coming from folding the filter weights. A polyphase filterbank is characterized by multiple branches which represent multiple phases of the signal (the prefix poly- meaning “many”.)
Half Band Filter Design: Exceptional Filtering Efficiency!
The half band filter (HBF) is an incredibly efficient filtering structure when designed correctly! In this blog I will discuss how to design half band filter weights with the NumPy function remez(), how to select the parameters to maximize the efficiency, and how a folded FIR filter structure can increase the efficiency further.