Specifications such as gain error, offset error, and differential nonlinearity help define an analog-to-digital converter’s performance. In part 1 of this series, we discussed an ideal analog-to-digital converter (ADC), noting that it would have infinite resolution and bandwidth. Then we looked at the real world of practical inverters and how their resolution, expressed in a […]
Understanding ADC specs and architectures: part 1
Analog-to-digital converters are the heart of most test equipment, setting the stage for the digital processing of analog signals. Several posts over the past year or so have involved digital signal processing. For example, we have covered the fast Fourier transform (FFT), the inverse FFT, and discrete convolution. To perform these operations on real-world signals, […]
How to use convolution to implement filters: part 4
A windowed sinc function can implement a low-pass filter, and a two-dimensional convolutional filter can blur or sharpen images. In part 3 of this series, we introduced a low-pass filter based on the Sinc function and described the need for windowing to compensate for sampling and truncation. Q: How can we apply this filter? A: […]
How to use convolution to implement filters: part 3
A windowed sinc filter outperforms a moving-average filter in the frequency domain. In part 2 of this series, we described a type of convolution filter called the moving-average filter, and we demonstrated that it is effective at removing Gaussian white noise in the time domain but performs poorly in the frequency domain. Q: Do all […]
How to use convolution to implement filters: part 2
A moving-average filter can address white noise in the time domain but performs poorly in the frequency domain. In part 1 of this series, we defined convolution, denoted by the * symbol, and looked at a simple geometrical example of how it operates to produce a new function y(t) from two given functions, f(t) and […]
How to use convolution to implement filters: part 1
Convolution is used in a variety of signal-processing applications, including time-domain-waveform filtering. In a recent series on the inverse fast Fourier transform (FFT), we concluded with a mention of convolution and its application to filtering. Convolution Q: What is convolution? A: Convolution, denoted by * symbol, combines two functions to form a third function in […]
How to calculate and apply the inverse discrete Fourier transform: part 4
In part 3 of this series, we used the inverse fast Fourier transform (IFFT) to create 100-Hz time-domain waveforms of various amplitudes and phases. We can also use the IFFT to create waveforms containing multiple frequencies. If you look closely at Figure 1 in part 1 of this series, you’ll notice that the time-domain waveform […]
How to calculate and apply the inverse discrete Fourier transform: part 3
The inverse transform can create a time-domain waveform where no waveform has been before. In part 2 of this series, we used the discrete Fourier transform to convert a waveform from the time domain to the frequency domain, operated on the frequency-domain data, and used the inverse transform to reconstruct the altered time-domain waveform. That’s […]
How to calculate and apply an inverse FFT: part 2
In part 1 of this series, we looked at the formula for the inverse discrete Fourier transform and manually calculated the inverse transform for a four-point dataset. Then, we used Excel’s implementation of the inverse fast Fourier transform (IFFT) to verify our work. Could we try something more realistic? Sure. We can take a signal […]
How to calculate and apply an inverse FFT: part 1
The inverse Fourier transform (inverse FFT or iFFT) reverses the operation of the Fourier transform and derives a time-domain representation from a frequency-domain dataset. In early 2024, EE World published a series on the Fourier transform, which can convert a time-domain signal to the frequency domain (Figure 1, red arrow). The process is reversible (Figure […]