Glossary definition of 'Synchronous'

A system which shares a common timebase from which to time events. Musicians playing "in time" could be considered to be "in sync". In this analogy, the drummer, a metronome or the conductor could be providing a "clock" to which the musicians are "locked". In digital audio, a system is said to be synchronous when different parts of the system share, and are locked to, the same clock.

A synchronous system has particular significance in test and measurement. In this context we are interested in whether the signal generator and analyzer are synchronous. Particularly when it comes to FFT processing where we are processing buffer loads of audio data of 2n samples long.

From the generator point of view, we are interested in generating frequencies that can loop perfectly when the generator buffer is looped. We do this by making sure that we generate signals of frequencies chosen so that a whole number of cycles fit exactly in the length of the generator buffer. This is illustrated below

Asynchronous waveform not fitting in buffer

In the illustration above, the white line does not fit perfectly within the buffer - the ends are at different levels and would create a step function if it were looped. The green line fits correctly. We can generate thousands of frequencies all at the same time in this way and as long as they all have a full number of cycles within the buffer, the signal will loop perfectly. From the point of view of whether it will loop correctly the phase of each of the individual frequencies is not important, but the phase of the individual frequencies can be used as a means of controlling the crest factor when combining multiple waveforms. This is the principle of building up a multi-tone signal.

When it comes to analyzing this signal, we are interested in making sure that the exact same frequencies fit exactly within the analyzer buffer. This will only happen if the generator and analyzer are synchronous which keeps their buffer lengths identical. If they are not, the ends of the looped buffers of data will not tie up and there will be a discontinuity. This has implications for the FFT processing which will see this as a step function and will give a spectrum with a big spread of frequencies.

FFT window function

The usual way around this is to use an FFT window function (as shown above in the blue line) to weight the level of each sample in the buffer. This tapers the levels at the end of the buffer towards zero at each end in order to force the ends of the buffer to tie up at zero. This window function distorts the signal and effectively smears the energy of the signal in the frequency domain. This is shown below:

Result of using FFT window function

The above screenshot shows three curves - the orange curve shows the result of performing an FFT on a tone that doesn't fit within the buffer if no FFT window function is used. You can see that it doesn't tell us much about the signal. The purple line shows the spectrum of exactly the same signal when an FFT Window function is applied. You can see now that there is a distinct tone at 1kHz, but that it is quite wide - this spreading is caused by the window function. To its right distortion harmonics are visible. The red line shows a slightly different frequency which fits perfectly within the buffer of a synchronous system. The main tone is now a single point on the FFT, as are the harmonics. Since they are multiples of the fundamental, they also fit perfectly within the buffer. If the generator and analyzer were not synchronous, this would not be possible.

Now that the tone is present in only one FFT bin, if we make sure that the bin is an even numbered bin, then all the distortion harmonics will also be in even numbered bins (any number times an even number is an even number). If we generate many frequencies, all at even bins, all their harmonic distortion components will be in even bins. The odd bins will contain only noise, so we can easily separate noise and distortion for a multi-tone signal.