Derivative Filter Impulse Response Derivation
Sooner or later you’re going to have to apply a derivative to a discrete-time signal. An example would be building a derivative matched filter (DMF) for timing recovery [harris2021, p.490]. This brings us to our first piece of DSP Wisdom: If you need to do something in DSP it’s best to do it with a filter. So how do you build a derivative filter?
We’ll start with the derivation in continuous-time to make the math tractable then transform it into discrete-time. A follow-up post will discuss methods and alternatives for designing the derivative filter weights. Richard Lyons has a really great section on derivative filters in his textbook that is totally worth your time if you’re interested in more information on the topic [lyons2011, p.361].
Using Euler’s Formula to Derive Sine and Cosine
Cosine and sine can be written as the sum of two complex exponentials.
Fourier Transform Convolution Property Derivation
The convolution property of the Fourier transform states that the convolution of and is the product of the frequency-responses and …
Fourier Transform Pairs of Conjugation and Time Reversal
Too often I find myself asking the questions “what is the Fourier transform of “? “What is the inverse Fourier transform of ?” Finding them in a book or on Wikipedia often takes too long so to save myself the time and hopefully be useful to others, I’ve provided the derivations for the Fourier transforms of , , and below.
The DSP Family Tree: Grow Your Career
I recall being an undergraduate and wondering to myself “why are all of these things I am learning useful?” and “how are they going to be applied?” It is hard to have perspective when you’re in the trenches of your undergraduate or graduate degree to know the importance of the material you are learning. I have produced a DSP Family Tree which is my opinion on how all of the different sub-fields of DSP interact and build on one another.
My hope is that the DSP Family Tree is useful in motivating yourself that the concepts you are studying or have studied are important and can be built into larger things. You might also think of this as a road map: you can start with a destination and figure out what you need to learn along your journey.
Aliasing, Sampling and Spinning Car Tires
You know how on car commercials sometimes it looks like the wheel is spinning backwards? How weird is that? The effect is called aliasing and it occurs when the wheel’s rotation rate is faster than twice the frame rate of the video camera. You can watch a video below that demonstrates aliasing on car tires as well as a video where it appears that a helicopter’s blades have stopped spinning due to a similar effect.
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.