Short Introduction to Signal Processing and Convolution

In less than 3 pages, this tutorial covers signal processing and convolution quite thoroughly, even advanced concepts. I illustrate the techniques with the Riemann zeta function and the kernel method, along with short, home-made Python code that shows all the detailed steps, rather than based on Blackbox Python libraries.

The document looks like a cheat sheet. It may be useful for scientists who need a refresher on the topic, or professionals in quantitative fields who don’t know much about the topic and want to get a deep overview without spending weeks reading introductory to advanced books. References are provided as needed. The focus is on practical aspects, good practices, discrete convolution, and working with real data rather than explaining the theory and listing theorems.

Riemann zeta input turned to cosine wave after Gaussian convolution

Interesting results

The above picture shows how the well-known Rieman zeta function gets transformed into a cosine signal after convolution with a discrete Gaussian kernel. While the operation is not invertible, the convoluted signal in orange preserves some features of the input signal (in green), such as the approximate locations of the minima.  The input (green curve) is a sister of the Riemann zeta function, defined as a sum of cosine waves with non-commensurable periods, thus aperiodic. If you truncate it, removing the term with the lowest frequency, the resulting convolution (in red) is no longer a simple cosine, though in some cases it is still almost periodic.

Topics discussed in the paper include:

  • Fitting a cosine curve y = a + b cos(cx + d) to the blue dots (observed values post-convolution) in the picture, without iterative algorithm, that is, without standard curve fitting, and without loss function minimization.
  • Using a kernel based on trivariate coefficients (a generalization of binomial coefficients) and showing how the kernel converges to a Gaussian density.
  • Conditions required to make the convolution operator invertible, and how to obtain a closed form expression for the convoluted signal.
  • Sensitivity of the output to model parameters. For instance, the choice of the kernel has little impact on the results.
  • All the functions involved are defined and have values in the complex plane. The above picture shows the real part.

Download the paper and Python code

Available as technical paper #60, here. It is included in my new eBook on secure AI, available here. Links are clickable in the eBook (PDF). To no miss future articles, subscribe to my AI newsletter, here.

About the Author

Towards Better GenAI: 5 Major Issues, and How to Fix Them

Vincent Granville is a pioneering GenAI scientist, co-founder at BondingAI.io, the LLM 2.0 platform for hallucination-free, secure, in-house, lightning-fast Enterprise AI at scale with zero weight and no GPU. He is also author (Elsevier, Wiley), publisher, and successful entrepreneur with multi-million-dollar exit. Vincent’s past corporate experience includes Visa, Wells Fargo, eBay, NBC, Microsoft, and CNET. He completed a post-doc in computational statistics at University of Cambridge.

Liked Liked