The basics of digital signal spectra
When designing with interconnects, we're often concerned about issues such as crosstalk and reflections. We frequently ask for models from the manufacturers so we can run simulations to determine the quality of these passive components. The outputs of these simulations are typically eye diagrams, which are a good qualitative indicator of signal integrity. The frequency spectra of the signals are, however, often overlooked, especially if they're complex data patterns.
Before jumping into complex data patterns, I'll start with a single square pulse, which is the fundamental building block of binary NRZ (non-return-to-zero) signals. Figure 1 shows a plot of a single square pulse of width T0 and the corresponding Fourier spectrum, where f0 is defined as 1/T0. We see that the magnitude spectrum is a rectified sinc function, i.e., sinc(x) = sin(x)/x. The spectrum is continuous, which means it requires an infinite number of frequency components to perfectly reproduce.
Next, consider a square wave, which is simply a chain of square pulses. Figure 2 shows the plot of a square wave and the corresponding spectra. A square wave consists of the fundamental frequency plus only the odd harmonics, which diminish in magnitude as 1/f. For consistency, the width of a square pulse is still T0. We see that the spectral lines are located at 0.5f0, 1.5f0, and 2.5f0. I also plot the sinc function from the square pulse as comparison. We see that the spectral lines of the square wave align with the peaks of the sinc function.
Now, let's make things interesting by building up a short data pattern. In this case, I use the k28.5 pattern. Figure 3 shows the waveform of this pattern. As before, the width of a single square pulse is T0.
This is where things get interesting. We see that the spectrum for k28.5 consists of many lines, all of which fall under the envelope of the sinc function. The lowest frequency spectral line is f0/20, which we define as fPAT and is indicative of the fact that k28.5 is 20 bits long. Interestingly, all other spectral lines are odd harmonics of fPAT. This is because k28.5 consists of two identical parts, only differing in disparity, which creates an odd symmetry.
The locations of the spectral lines would be the same for any 20-bit long pattern. What makes this spectrum unique to k28.5 is the magnitude of the lines along with their relative phases. Looking back at the square wave case, we see that a square wave is also a 2-bit long pattern of alternating 1s and 0s with odd symmetry. The pattern repeat frequency is f0/2, which is exactly why we only see the fundamental frequency of 0.5f0 and odd harmonics.
Now look at PRBS 27−1, which is a longer pattern. Following the concepts introduced in the previous cases, we expect to see a spectrum of dense lines starting with f0/127, all of which fall under the sinc envelope. Since PRBS has no symmetry, we expect to see all harmonics of f0/127. Figure 4 shows the waveform and spectrum of this signal with behavior matching our expectations.
For an infinitely long, non-repeating pattern, you would expect fPAT = f0/∞, which means that the spectrum is infinitely dense, i.e., continuous. Of course, the lines still have to fit under the sinc envelope.
Looking back to the case of a simple square pulse, we now see it for what it really is: an infinitely long chain of zeros interrupted by a single one, which explains why the spectrum is a continuous, single function. This is exactly the sort of elegance that I love in mathematics, and we easily see that it fits into our applications in signal integrity.
So far, we've discussed the spectra of binary signals. In capacitatively-coupled or inductively-coupled crosstalk, however we expect only the dV/dt or dI/dt of the aggressors to impact the victim. I'll discuss this on page 2.