Site Feedback

Discrete Time Processing of Continuous Time Signals

By Justin Romberg, Stephen Kruzick


Digital computers can process discrete time signals using extremely flexible and powerful algorithms. However, most signals of interest are continuous time signals, which is how data almost always appears in nature. Now that the theory supporting methods for generating a discrete time signal from a continuous time signal through sampling and then perfectly reconstructing the original signal from its samples without error has been discussed, it will be shown how this can be applied to implement continuous time, linear time invariant systems using discrete time, linear time invariant systems. This is of key importance to many modern technologies as it allows the power of digital computing to be leveraged for processing of analog signals.

Discrete Time Processing of Continuous Time Signals

Process Structure

With the aim of processing continuous time signals using a discrete time system, we will now examine one of the most common structures of digital signal processing technologies. As an overview of the approach taken, the original continuous time signal xx is sampled to a discrete time signal xsxs in such a way that the periods of the samples spectrum XsXs is as close as possible in shape to the spectrum of XX. Then a discrete time, linear time invariant filter H2H2 is applied, which modifies the shape of the samples spectrum XsXs but cannot increase the bandlimit of XsXs, to produce another signal ysys. This is reconstructed with a suitable reconstruction filter to produce a continuous time output signal yy, thus effectively implementing some continuous time system H1H1. This process is illustrated in Figure 1, and the spectra are shown for a specific case in Figure 2.

Figure 1: A block diagram for processing of continuous time signals using discrete time systems is shown.

Further discussion about each of these steps is necessary, and we will begin by discussing the analog to digital converter, often denoted by ADC or A/D. It is clear that in order to process a continuous time signal using discrete time techniques, we must sample the signal as an initial step. This is essentially the purpose of the ADC, although there are practical issues that which will be discussed later. An ADC takes a continuous time analog signal as input and produces a discrete time digital signal as output, with the ideal infinite precision case corresponding to sampling. As stated by the Nyquist-Shannon Sampling theorem, in order to retain all information about the original signal, we usually wish sample above the Nyquist frequency ωs2Bωs2B where the original signal is bandlimited to (-B,B)(-B,B). When it is not possible to guarantee this condition, an anti-aliasing filter should be used.

The discrete time filter is where the intentional modifications to the signal information occur. This is commonly done in digital computer software after the signal has been sampled by a hardware ADC and before it is used by a hardware DAC to construct the output. This allows the above setup to be quite flexible in the filter that it implements. If sampling above the Nyquist frequency the. Any modifications that the discrete filter makes to this shape can be passed on to a continuous time signal assuming perfect reconstruction. Consequently, the process described will implement a continuous time, linear time invariant filter. This will be explained in more mathematical detail in the subsequent section. As usual, there are, of course, practical limitations that will be discussed later.

Finally, we will discuss the digital to analog converter, often denoted by DAC or D/A. Since continuous time filters have continuous time inputs and continuous time outputs, we must construct a continuous time signal from our filtered discrete time signal. Assuming that we have sampled a bandlimited at a sufficiently high rate, in the ideal case this would be done using perfect reconstruction through the Whittaker-Shannon interpolation formula. However, there are, once again, practical issues that prevent this from happening that will be discussed later.

Figure 2: Spectra are shown in black for each step in implementing a continuous time filter using a discrete time filter for a specific signal. The filter frequency responses are shown in blue, and both are meant to have maximum value 1 in spite of the vertical scale that is meant only for the signal spectra. Ideal ADCs and DACs are assumed.

Discrete Time Filter

With some initial discussion of the process illustrated in Figure 1 complete, the relationship between the continuous time, linear time invariant filter H1H1 and the discrete time, linear time invariant filter H2H2 can be explored. We will assume the use of ideal, infinite precision ADCs and DACs that perform sampling and perfect reconstruction, respectively, using a sampling rate ωs=2π/Ts2Bωs=2π/Ts2B where the input signal xx is bandlimited to (-B,B)(-B,B). Note that these arguments fail if this condition is not met and aliasing occurs. In that case, preapplication of an anti-aliasing filter is necessary for these arguments to hold.

Recall that we have already calculated the spectrum XsXs of the samples xsxs given an input xx with spectrum XX as

X s ( ω ) = 1 T s k = - X ω - 2 π k T s . X s ( ω ) = 1 T s k = - X ω - 2 π k T s .

Likewise, the spectrum YsYs of the samples ysys given an output yy with spectrum YY is

Y s ( ω ) = 1 T s k = - Y ω - 2 π k T s . Y s ( ω ) = 1 T s k = - Y ω - 2 π k T s .

From the knowledge that ys=(H1x)s=H2(xs)ys=(H1x)s=H2(xs), it follows that

k = - H 1 ω - 2 π k T s X ω - 2 π k T s = H 2 ( ω ) k = - X ω - 2 π k T s . k = - H 1 ω - 2 π k T s X ω - 2 π k T s = H 2 ( ω ) k = - X ω - 2 π k T s .

Because XX is bandlimited to (-π/Ts,π/Ts)(-π/Ts,π/Ts), we may conclude that

H 2 ( ω ) = k = - H 1 ω - 2 π k T s u ω - ( 2 k - 1 ) π - u ω - ( 2 k + 1 ) π . H 2 ( ω ) = k = - H 1 ω - 2 π k T s u ω - ( 2 k - 1 ) π - u ω - ( 2 k + 1 ) π .

More simply stated, H2H2 is 2π2π periodic and H2(ω)=H1(ω/Ts)H2(ω)=H1(ω/Ts) for ω[-π,π)ω[-π,π).

Given a specific continuous time, linear time invariant filter H1H1, the above equation solves the system design problem provided we know how to implement H2H2. The filter H2H2 must be chosen such that it has a frequency response where each period has the same shape as the frequency response of H1H1 on (-π/Ts,π/Ts)(-π/Ts,π/Ts). This is illustrated in the frequency responses shown in Figure 2.

We might also want to consider the system analysis problem in which a specific discrete time, linear time invariant filter H2H2 is given, and we wish to describe the filter H1H1. There are many such filters, but we can describe their frequency responses on (-π/Ts,π/Ts)(-π/Ts,π/Ts) using the above equation. Isolating one period of H2(ω)H2(ω) yields the conclusion that H1(ω)=H2(ωTs)H1(ω)=H2(ωTs) for ω(-π/Ts,π/Ts)ω(-π/Ts,π/Ts). Because xx was assumed to be bandlimited to (-π/T,π/T)(-π/T,π/T), the value of the frequency response elsewhere is irrelevant.

Practical Considerations

As mentioned before, there are several practical considerations that need to be addressed at each stage of the process shown in Figure 1. Some of these will be briefly addressed here, and a more complete model of how discrete time processing of continuous time signals appears in Figure 3.

Figure 3: A more complete model of how discrete time processing of continuous time signals is implemented in practice. Notice the addition of anti-aliasing and anti-imaging filters to promote input and output bandlimitedness. The ADC is shown to perform sampling with quantization. The digital filter is further specified to be causal. The DAC is shown to perform imperfect reconstruction, a zero order hold in this case.

Anti-Aliasing Filter

In reality, we cannot typically guarantee that the input signal will have a specific bandlimit, and sufficiently high sampling rates cannot necessarily be produced. Since it is imperative that the higher frequency components not be allowed to masquerade as lower frequency components through aliasing, anti-aliasing filters with cutoff frequency less than or equal to ωs/2ωs/2 must be used before the signal is fed into the ADC. The block diagram in Figure 3 reflects this addition.

As described in the previous section, an ideal lowpass filter removing all energy at frequencies above ωs/2ωs/2 would be optimal. Of course, this is not achievable, so approximations of the ideal lowpass filter with low gain above ωs/2ωs/2 must be accepted. This means that some aliasing is inevitable, but it can be reduced to a mostly insignificant level.

Signal Quantization

In our preceding discussion of discrete time processing of continuous time signals, we had assumed an ideal case in which the ADC performs sampling exactly. However, while an ADC does convert a continuous time signal to a discrete time signal, it also must convert analog values to digital values for use in a digital logic device, a phenomenon called quantization. The ADC subsystem of the block diagram in Figure 3 reflects this addition.

The data obtained by the ADC must be stored in finitely many bits inside a digital logic device. Thus, there are only finitely many values that a digital sample can take, specifically 2N2N where NN is the number of bits, while there are uncountably many values an analog sample can take. Hence something must be lost in the quantization process. The result is that quantization limits both the range and precision of the output of the ADC. Both are finite, and improving one at constant number of bits requires sacrificing quality in the other.

Filter Implementability

In real world circumstances, if the input signal is a function of time, the future values of the signal cannot be used to calculate the output. Thus, the digital filter H2H2 and the overall system H1H1 must be causal. The filter annotation in Figure 3 reflects this addition. If the desired system is not causal but has impulse response equal to zero before some time t0t0, a delay can be introduced to make it causal. However, if this delay is excessive or the impulse response has infinite length, a windowing scheme becomes necessary in order to practically solve the problem. Multiplying by a window to decrease the length of the impulse response can reduce the necessary delay and decrease computational requirements.

Take, for instance the case of the ideal lowpass filter. It is acausal and infinite in length in both directions. Thus, we must satisfy ourselves with an approximation. One might suggest that these approximations could be achieved by truncating the sinc impulse response of the lowpass filter at one of its zeros, effectively windowing it with a rectangular pulse. However, doing so would produce poor results in the frequency domain as the resulting convolution would significantly spread the signal energy. Other windowing functions, of which there are many, spread the signal less in the frequency domain and are thus much more useful for producing these approximations.

Anti-Imaging Filter

In our preceding discussion of discrete time processing of continuous time signals, we had assumed an ideal case in which the DAC performs perfect reconstruction. However, when considering practical matters, it is important to remember that the sinc function, which is used for Whittaker-Shannon interpolation, is infinite in length and acausal. Hence, it would be impossible for an DAC to implement perfect reconstruction.

Instead, the DAC implements a causal zero order hold or other simple reconstruction scheme with respect to the sampling rate ωsωs used by the ADC. However, doing so will result in a function that is not bandlimited to (-ωs/2,ωs/2)(-ωs/2,ωs/2). Therefore, an additional lowpass filter, called an anti-imaging filter, must be applied to the output. The process illustrated in Figure 3 reflects these additions. The anti-imaging filter attempts to bandlimit the signal to (-ωs/2,ωs/2)(-ωs/2,ωs/2), so an ideal lowpass filter would be optimal. However, as has already been stated, this is not possible. Therefore, approximations of the ideal lowpass filter with low gain above ωs/2ωs/2 must be accepted. The anti-imaging filter typically has the same characteristics as the anti-aliasing filter.

Discrete Time Processing of Continuous Time Signals Summary

As has been show, the sampling and reconstruction can be used to implement continuous time systems using discrete time systems, which is very powerful due to the versatility, flexibility, and speed of digital computers. However, there are a large number of practical considerations that must be taken into account when attempting to accomplish this, including quantization noise and anti-aliasing in the analog to digital converter, filter implementability in the discrete time filter, and reconstruction windowing and associated issues in the digital to analog converter. Many modern technologies address these issues and make use of this process.