## Exponential Smoothing with a Wrinkle

Introduction This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by providing a set of preprocessing filters to improve the resolution of the DFT. Because of the exponential nature of...

## Discrete-Time PLLs, Part 1: Basics

●2 commentsIn this series of tutorials on discrete-time PLLs we will be focusing on Phase-Locked Loops that can be implemented in discrete-time signal proessors such as FPGAs, DSPs and of course, MATLAB.

## Analytic Signal

In communication theory and modulation theory we always deal with two phases: In-phase (I) and Quadrature-phase (Q). The question that I will discuss in this blog is that why we use two phases and not more.

## Blogging Tutorial

This article will be updated on a regular basis based on your questions and feedback. Creating a new blog post Make sure your are logged in Click on 'Create new blog post' Although the online editor works pretty well and...

## Four Ways to Compute an Inverse FFT Using the Forward FFT Algorithm

●3 commentsIf you need to compute inverse fast Fourier transforms (inverse FFTs) but you only have forward FFT software (or forward FFT FPGA cores) available to you, below are four ways to solve your problem. Preliminaries To define what we're...

## Handy Online Simulation Tool Models Aliasing With Lowpass and Bandpass Sampling

Analog Devices Inc. has posted a neat software simulation tool on their corporate web site that graphically shows the aliasing effects of both lowpass and bandpass periodic sampling. This is a nice tutorial tool for beginners in DSP. The...

## Ten Little Algorithms, Part 2: The Single-Pole Low-Pass Filter

●1 commentOther articles in this series: Part 1: Russian Peasant Multiplication Part 2: The Single-Pole Low-Pass Filter Part 3: Welford’s Method (And Friends) Part 4: Topological Sort I’m writing this article in a room with a bunch of...

## Understanding and Implementing the Sliding DFT

●4 commentsIntroduction In many applications the detection or processing of signals in the frequency domain offers an advantage over performing the same task in the time-domain. Sometimes the advantage is just a simpler or more conceptually...

## Why Time-Domain Zero Stuffing Produces Multiple Frequency-Domain Spectral Images

●3 commentsThis blog explains why, in the process of time-domain interpolation (sample rate increase), zero stuffing a time sequence with zero-valued samples produces an increased-length time sequence whose spectrum contains replications of the original...

## The Exponential Nature of the Complex Unit Circle

Introduction This is an article to hopefully give an understanding to Euler's magnificent equation: $$ e^{i\theta} = cos( \theta ) + i \cdot sin( \theta ) $$ This equation is usually proved using the Taylor series expansion for the given...

## Discrete-Time PLLs, Part 1: Basics

●2 commentsIn this series of tutorials on discrete-time PLLs we will be focusing on Phase-Locked Loops that can be implemented in discrete-time signal proessors such as FPGAs, DSPs and of course, MATLAB.

## Discrete Wavelet Transform Filter Bank Implementation (part 1)

●1 commentUPDATE: Added graphs and code to explain the frequency division of the branches The focus of this article is to briefly explain an implementation of this transform and several filter bank forms. Theoretical information about DWT can be found...

## Wavelets I - From Filter Banks to the Dilation Equation

This is the first in what I hope will be a series of posts about wavelets, particularly about the Fast Wavelet Transform (FWT). The FWT is extremely useful in practice and also very interesting from a theoretical point of view. Of course there...

## Use DPLL to Lock Digital Oscillator to 1PPS Signal

Introduction There are occasions where it is desirable to lock a digital oscillator to an external time reference such as the 1PPS (One Pulse Per Second) signal output from a GPS receiver. One approach would be to synchronize a fixed frequency...

## Signed serial-/parallel multiplication

Keywords: Binary signed multiplication implementation, RTL, Verilog, algorithm Summary A detailed discussion of bit-level trickstery in signed-signed multiplication Algorithm based on Wikipedia example Includes a Verilog implementation with...

## Goertzel Algorithm for a Non-integer Frequency Index

If you've read about the Goertzel algorithm, you know it's typically presented as an efficient way to compute an individual kth bin result of an N-point discrete Fourier transform (DFT). The integer-valued frequency index k is in the range of...

## Why Time-Domain Zero Stuffing Produces Multiple Frequency-Domain Spectral Images

●3 commentsThis blog explains why, in the process of time-domain interpolation (sample rate increase), zero stuffing a time sequence with zero-valued samples produces an increased-length time sequence whose spectrum contains replications of the original...

## Handy Online Simulation Tool Models Aliasing With Lowpass and Bandpass Sampling

Analog Devices Inc. has posted a neat software simulation tool on their corporate web site that graphically shows the aliasing effects of both lowpass and bandpass periodic sampling. This is a nice tutorial tool for beginners in DSP. The...

## Exponential Smoothing with a Wrinkle

Introduction This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by providing a set of preprocessing filters to improve the resolution of the DFT. Because of the exponential nature of...

## The Number 9, Not So Magic After All

This blog is not about signal processing. Rather, it discusses an interesting topic in number theory, the magic of the number 9. As such, this blog is for people who are charmed by the behavior and properties of numbers. For decades I've thought...