
Square Root Raised Cosine Filter in Python
The square root raised cosine (SRRC) filter is used as a pulse shaping filter [harris2021, p.87] in many linear modulations such as BPSK, QPSK, and 16-QAM. Frustratingly neither SciPy or NumPy have a square-root raised cosine (SRRC) filter. Mathuranathan Viswanathan at GaussianWaves.com has a great post on how to build a square-root raised cosine filter. You can also find the design equations in [johnson2004, p.225, harris2021, p. 95].
I’ve written my own SRRC design script in Python which you can download from the WaveWalkerDSP GitHub page in the Blog Downloads repository.

500 Page Views!!!
WaveWalkerDSP.com launched on August 28, 2021 and just hit 500 page views! Thank you everybody!


Execute Your Product Delivery Plan
Part 1, Reverse Engineer Your Delivery Plan, provided a strategy on how to prepare a product delivery plan by working backwards from the end goal. Now it’s time to execute the plan and deliver the product.
Create Your Team
We all need a team around us to be successful. Luke had Han, Chewie, and Leia. Kermit had Fozzie Bear, Miss Piggie and Gonzo. Mustard has Ketchup and Relish.

List of Important Math for DSP
The following post is a list of math for DSP I have found to be useful over my career in DSP. This post will be updated periodically and will serve as a reference for upcoming material.

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.