Lecture 11 - Discrete Time Systems (Notes)
Lecture 11 - Discrete Time Systems (Notes)
different forms:
1. As block diagrams – this is similar to a circuit schematic. It shows how signals
flows in the system and the operations being performed on the signals.
2. As difference equation – this relates input sample sequence to output sample
sequence.
3. As transfer function in z-domain – this is similar to the transfer function for
Laplace transform. However I will be introduce the z-transform, which is
essential to represent discrete systems.
Let us first consider a linear discrete time system shown here as T{.}. The system
takes in the input sequence x[n] and produce the output sequence y[n].
A linear system means it obeys the principle of superposition. Remember from last
year, you have learned this principle in depth. There are two separate property of a
linear system:
1. Response for input (A+B) = Response for input A + Response for input B.
2. If you scale input by a factor K, the output is scaled by the same factor K. For
example, if you double the input (K=2), the output will also double.
The system is also shfit invariant. This means if input is delayed by k samples, i.e.
x[n] à x[n-k] , then the output is the same but also delayed by k samples, i.e.
yn] à y[n-k]. (See next slide.)
A shift-invariant system means that if you shift an input signal by k samples, the
system response to x[n-k] is simply y[n-k]. It essentially means that the signal can
start any time, the output remains the same but with the same delay as the input.
For this course, we will always assume that the discrete time system is linear, shift-
invariant.
When building a linear discrete time system, we use only THREE operators:
1. Scaling signal by a constant. This is the same as amplifying or attenuating the
signal.
2. Adding – this is obvious.
3. Delay – this is simply delaying the input sample by k sampling clock cycles (i.e. k
clock period, equivalent to t = k Ts, where Ts is the sampling interval (i.e. time
between two samples).
It is amazing that with only these three operators, we can construct fairly complex
discrete time systems implemented on a microcontroller such as the PyBench board
as used in the Lab.
Consider a simple discrete time system which takes the current and three previous
three input samples, and calculate the average value:
*
1
𝑦 𝑛 = & 𝑥[𝑛 − 𝑘]
4
'()
This is known as a moving average filter. Since averaging reduces the effect of fast
changes, this is essentially a lowpass filter.
The slide here shows two different representation of the system.
1. Signal flow diagram – this is similar to a circuit schematic showing how signals
are transferred to various modules. Its graphical nature allows a reader to relate
to the actual physical system easier than using mathematical equations.
2. Difference equation – this is expressed in terms of a formulae defining the
relationship between input samples and output samples.
Note that the input signal x[n] is passed to three unit sample delay, to obtain x[n-1],
x[n-2], x[n-3]. These are called ”taps” of the filter. In this case, there are four taps
to this filter.
Such a sample delay can be realised in an electronic system by:
1. Using an array on a microprocessor or computer to store different x values;
2. Using D-flipflops (D-FFs) in digital hardware in a shift register configuration. In
this case, assuming that all signals are 10-bit wide (from the ADC), then we need
three sets of 10 D-FFs.
Here is a contemporary example of the use of moving average filter. Instead of
averaging over four input values, this shows a 7 day average of COVID cases in the
UK. You can clearly see the averaging effect of this lowpass filter!
The third method of representing a discrete time system is to use z-transform to
represent the delay operators. Again, I will discuss the mathematical basis of z-
transform in a later lecture. For now all you need to know (and trust) is that delay a
signal x[n] by k sampling periods to give x[n-k] is the same as multiplying the z-
transform of the signal X[z] by the factor z-k.
1
𝑥 𝑛 → 𝑋[𝑧]
1
𝑥 𝑛 − 𝑘 → 𝑋[𝑧] 𝑧 4'
Using this fact, we can derive the relationship between Y[z] and X[z] directly from
the difference equation:
𝑦 𝑛 = 0.25 (x[n] + x[n-1]+x[n-2]+x[n-3])
𝑌 𝑧 = 0.25 𝑋 𝑧 + 𝑋 𝑧 𝑧4B 𝑧 + 𝑋 𝑧 𝑧4C 𝑧 + 𝑋 𝑧 𝑧4*
Moving average filter is a lowpass filter. It has a DC gain of 1 (check this for yourself
and make sure you understand why), and it reduces the amplitude of fast changing
signals – i.e. at higher frequencies.
Take a sequence x[n] = {1.0, 1.0, 1.0, 1.0, 1.1, 0.8, 1.2, 0.9, 1.0, 1.2, 0.9, …}, which is
a discrete signal at 1v, but with random noise added. The noise amplitude (i.e.
deviation from 1.0) is ±0.2v.
Assuming that all x[n] = 0 for n<0,
y[n] = (0.25, 0.5, 0.75, 1.0, 1.025, 0.975, 1.025, 1.0, 1.0, 1.075, 1.0, …..}
It is clear that y[n] is still centred around 1v, but the fluctuation is reduce to 0.025v!
We can computer the frequency response of this simple 4-tap FIR or moving
average filter with the following transfer function:
I deliberately skip the mathematic derivation of the frequency response for such a
filter for now. This will be covered in a later lecture. What is important to note is
that the frequency response demonstrates that averaging four samples is effectively
lowpass filtering the signal. The roll off (rate of attenuation as frequency increases)
is very gentle.
The x-axis is the digital frequency expressed in angle increment per sample,
normalized to Fs/2 (Nyquist frequency). For example, if the sampling frequency is
8kHz, the normalized frequency of 1 is at 4kHz.
There is a notch (null response) at 2kHz, when the response of the filter is zero!
Same for frequency of 4kHz. Why? Test it for yourself.
The moving average filter we used previously only consider 4 input sample values
(we call this a “4-tap” filter, taping into only 4 signal values). Instead of 4-tap, one
can choose to perform the moving average over K-taps.
What do you expect the effect of using a higher value of K? You will be averaging
over a wider time (sample) window, and therefore this will have a “stronger”
lowpass filtering effect. In other words, the attenuation at high frequency will be
stronger. If you measure the frequency response of the moving filter, you will find
that the drop in gain as frequency increases goes up with K. Exactly how we can
derive the frequency response of a K-tap moving average filter will be considered at
a later lecture.
Instead of using equal coefficients on the taps in this filter, we could choose to use
different coefficients. In which case, the filter you implement will have the
difference equation and the transfer function as shown in the slide.
This generalised form of filter is known as FIR or finite impulse response filter. The
name is due to the fact that if you apply an impulse at the input x[n] = d[n] to a filter
with N taps, the output response y[n] will have exactly N samples that is non-zero.
This output y[n] for x[n] = unit impulse is known as impulse response of the system.
It can be shown that for an arbitrary signal x[n], its response y[n] will always be
finite – meaning that if x[n] dies down to zero, y[n] will become zero in finite time.
By choosing different values for the coefficients bi, one can implement any type of
filters: lowpass, highpass, bandpass, bandstop etc.
Let us now consider a completely new class of filter. Here we have a filter that
derives the output from both inputs and past output samples. The simplest form is
the one shown here – known as a first-order recursive filter.
The output contains two components: 1) input x[n] multiplied by a coefficient (1-a);
2) output y[n-1] multiplied by a coefficient a.
𝑦 𝑛 = 𝛼𝑦 𝑛 − 1 + (1 − 𝛼)𝑥 𝑛
𝑌 𝑧 = 𝛼 𝑌 𝑧 𝑧4B + (1 − 𝛼)𝑋 𝑧
𝑌[𝑧] (1 − 𝛼)
𝐻𝑧 = =
𝑋[𝑧] (1 − 𝛼 𝑧4B )
Now let us consider what output we get if we apply a unit step function at the input.
The output is known as the step response of this filter.
Shown above are the outputs y in respond to the input going from 0 to 1.
The result is an exponential rise toward 1, the time constant of the rise if effective
a. (Similar to what we have done before on 1st order lowpass filter and RC
network.)
The frequency response of this filter is shown here. Again it is a simple lowpass
filter.
Let us now compare this response to that of the previous 4-tap moving average
filter shown in red. It is clear that the recursive filter is much more effect in
removing high frequency component than the moving average filter.