6.003: Signals and Systems
6.003: Signals and Systems
Discrete-Time Systems
February 4, 2010
Discrete-Time Systems
We start with discrete-time (DT) systems because they are conceptually simpler than continuous-time systems illustrate same important modes of thinking as continuous-time
are increasingly important (digital electronics and computation)
Systems can be represented in dierent ways to more easily address dierent types of issues. Verbal description: To reduce the number of bits needed to store a sequence of large numbers that are nearly equal, record the rst number, and then record successive dierences. Dierence equation: y[n] = x[n] x[n 1] Block diagram: x[n]
+ 1
Delay
y[n]
Dierence Equations
Dierence equations are mathematically precise and compact. Example: y[n] = x[n] x[n 1]
Dierence Equations
Dierence equations are mathematically precise and compact. Example: y[n] = x[n] x[n 1] Let x[n] equal the unit sample signal [n], [n] = 1, 0, if n = 0; otherwise.
x[n] = [n]
1 0 1 2 3 4
Dierence Equations
Dierence equations are mathematically precise and compact. Example: y[n] = x[n] x[n 1] Let x[n] equal the unit sample signal [n], [n] = 1, 0, if n = 0; otherwise.
x[n] = [n]
1 0 1 2 3 4
We will use the unit sample as a primitive (building-block signal) to construct more complex signals.
Step-By-Step Solutions
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
y[n] = x[n] x[n 1] y[1] = x[1] x[2] y[0] = x[0] x[1] y[1] = x[1] x[0] y[2] = x[2] x[1] y[3] = x[3] x[2] ... =00=0 =10=1 = 0 1 = 1 =00=0 =00=0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
y[n] = x[n] x[n 1] y[1] = x[1] x[2] y[0] = x[0] x[1] y[1] = x[1] x[0] y[2] = x[2] x[1] y[3] = x[3] x[2] ... =00=0 =10=1 = 0 1 = 1 =00=0 =00=0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
y[n] = x[n] x[n 1] y[1] = x[1] x[2] y[0] = x[0] x[1] y[1] = x[1] x[0] y[2] = x[2] x[1] y[3] = x[3] x[2] ... =00=0 =10=1 = 0 1 = 1 =00=0 =00=0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
y[n] = x[n] x[n 1] y[1] = x[1] x[2] y[0] = x[0] x[1] y[1] = x[1] x[0] y[2] = x[2] x[1] y[3] = x[3] x[2] ... =00=0 =10=1 = 0 1 = 1 =00=0 =00=0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
y[n] = x[n] x[n 1] y[1] = x[1] x[2] y[0] = x[0] x[1] y[1] = x[1] x[0] y[2] = x[2] x[1] y[3] = x[3] x[2] ... =00=0 =10=1 = 0 1 = 1 =00=0 =00=0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
y[n] = x[n] x[n 1] y[1] = x[1] x[2] y[0] = x[0] x[1] y[1] = x[1] x[0] y[2] = x[2] x[1] y[3] = x[3] x[2] ... =00=0 =10=1 = 0 1 = 1 =00=0 =00=0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
Block diagrams are also useful for step-by-step analysis. Represent y[n] = x[n] x[n 1] with a block diagram:
x[n] 1
Delay
y[n]
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
x[n] 1
Delay
+ 0
y[n]
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
1 1 1
Delay
+ 0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
10 1 1
Delay
+ 0 1
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
10 1 0
Delay
1 0 1
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
0 1 0
Delay
+ 1
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
0 1 0
Delay
1 1 0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
0 1 0
Delay
0 1 0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
0 1 0
Delay
+ 0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
0 1 0
Delay
+ 0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Step-By-Step Solutions
0 1 0
Delay
+ 0
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Check Yourself
DT systems can be described by dierence equations and/or block diagrams. Dierence equation: y[n] = x[n] x[n 1] Block diagram: x[n]
+ 1
Delay
y[n]
Check Yourself
+ 1
Delay
y[n]
Block diagrams are imperative. They tell you what to do. Block diagrams contain more information than the corresponding dierence equation (e.g., what is the input? what is the output?)
Lumping all of the (possibly innite) samples into a single object the signal simplies its manipulation. This lumping is an abstraction that is analogous to representing coordinates in three-space as points representing lists of numbers as vectors in linear algebra creating an object in Python
x[n] 1
Delay
y[n]
Nodes represent whole signals (e.g., X and Y ). The boxes operate on those signals: Delay = shift whole signal to right 1 time step
Add = sum two signals 1: multiply by 1
Operator Notation
Symbols can now compactly represent diagrams. Let R represent the right-shift operator: Y = R{X} RX where X represents the whole input signal (x[n] for all n) and Y represents the whole output signal (y[n] for all n) Representing the dierence machine
x[n] 1
Delay
y[n]
Let Y = RX. Which of the following is/are true: 1. 2. 3. 4. 5. y[n] = x[n] for all n y[n + 1] = x[n] for all n y[n] = x[n + 1] for all n y[n 1] = x[n] for all n none of the above
Check Yourself
X n
1 0 1 2 3 4
Then
Y = RX n
1 0 1 2 3 4
Clearly y[1] = x[0]. Equivalently, if n = 0, then y[n + 1] = x[n]. The same sort of argument works for all other n.
Let Y = RX. Which of the following is/are true: 1. 2. 3. 4. 5. y[n] = x[n] for all n y[n + 1] = x[n] for all n y[n] = x[n + 1] for all n y[n 1] = x[n] for all n none of the above
System operations have simple operator representations. Cascade systems multiply operator expressions.
X 1
Delay
Y1 1
Delay
Y2
Operator Algebra
X 1
Delay
Y1 1
Delay
Y2
Using dierence equations: y2 [n] = y1 [n] y1 [n 1] = (x[n] x[n 1]) (x[n 1] x[n 2]) = x[n] 2x[n 1] + x[n 2] Using operator notation: Y2 = (1 R) Y1 = (1 R)(1 R) X
= (1 R)2 X
= (1 2R + R2 ) X
Operator Approach
Applies your existing expertise with polynomials to understand block diagrams, and thereby understand systems.
Operator Algebra
Delay
1 +
Delay
X
Delay
2
Delay Equivalent operator expressions:
(1 R)(1 R) = 1 2R + R2 The operator equivalence is much easier to see.
Check Yourself
Operator expressions for these equivalent systems (if started at rest) obey what mathematical property?
X 1 X 1
Delay Delay Delay
Delay
+
Delay
Check Yourself
X 1
Delay Y = R(1 R)X
Delay
X 1
Y = (R R2 )X
Check Yourself
Operator expressions for these equivalent systems (if started at rest) obey what mathematical property? 3
X 1 X 1
Delay Delay Delay
Delay
+
Delay
Check Yourself
Delay
Delay
Delay
Delay
Delay
Delay
Check Yourself
X
Delay 2
Delay
Y = (2R + 1)(2R + 1) X
Delay
Delay
Y = (4R2 + 4R + 1) X
Delay
Delay
Check Yourself
Delay
Delay
Delay
Delay
Delay
Delay
Recipe: subtract a right-shifted version of the input signal from a copy of the input signal.
X 1
Delay
Y
Y = (1 R) X
+
Delay
Y = RY + X
(1 R) Y = X
Example: Accumulator
Try step-by-step analysis: it always works. Start at rest. x[n] + y[n] Delay Find y[n] given x[n] = [n]:
x[n] = [n]
1 0 1 2 3 4
1 0 1 2 3 4
Example: Accumulator
Try step-by-step analysis: it always works. Start at rest. x[n] + y[n] Delay Find y[n] given x[n] = [n]:
y[n] = x[n] + y[n 1] y[0] = x[0] + y[1] = 1 + 0 = 1 y[1] = x[1] + y[0] =0+1=1 =0+1=1 y[2] = x[2] + y[1] ... y[n]
x[n] = [n]
1 0 1 2 3 4
1 0 1 2 3 4
Example: Accumulator
Try step-by-step analysis: it always works. Start at rest. x[n] + y[n] Delay Find y[n] given x[n] = [n]:
y[n] = x[n] + y[n 1] y[0] = x[0] + y[1] = 1 + 0 = 1 y[1] = x[1] + y[0] =0+1=1 =0+1=1 y[2] = x[2] + y[1] ... y[n]
x[n] = [n]
1 0 1 2 3 4
1 0 1 2 3 4
Example: Accumulator
Try step-by-step analysis: it always works. Start at rest. x[n] + y[n] Delay Find y[n] given x[n] = [n]:
y[n] = x[n] + y[n 1] y[0] = x[0] + y[1] = 1 + 0 = 1 y[1] = x[1] + y[0] =0+1=1 =0+1=1 y[2] = x[2] + y[1] ... y[n]
x[n] = [n]
1 0 1 2 3 4
1 0 1 2 3 4
Example: Accumulator
Try step-by-step analysis: it always works. Start at rest. x[n] + y[n] Delay Find y[n] given x[n] = [n]:
y[n] = x[n] + y[n 1] y[0] = x[0] + y[1] = 1 + 0 = 1 y[1] = x[1] + y[0] =0+1=1 =0+1=1 y[2] = x[2] + y[1] ... y[n]
x[n] = [n]
1 0 1 2 3 4
1 0 1 2 3 4
Example: Accumulator
Try step-by-step analysis: it always works. Start at rest. x[n] + y[n] Delay Find y[n] given x[n] = [n]:
y[n] = x[n] + y[n 1] y[0] = x[0] + y[1] = 1 + 0 = 1 y[1] = x[1] + y[0] =0+1=1 =0+1=1 y[2] = x[2] + y[1] ... y[n]
x[n] = [n]
1 0 1 2 3 4
1 0 1 2 3 4
Example: Accumulator
The response of the accumulator system could also be generated by a system with innitely many paths from input to output, each with one unit of delay more than the previous.
X
Delay Delay Delay Delay Delay Delay
...
Y = (1 + R + R2 + R3 + ) X
...
Example: Accumulator
These systems are equivalent in the sense that if each is initially at rest, they will produce identical outputs from the same input. (1 R) Y1 = X1 ? Y2 = (1 + R + R2 + R3 + ) X2
Proof: Assume X2 = X1 : Y2 = (1 + R + R2 + R3 + ) X2
= (1 + R + R2 + R3 + ) X1
= (1 + R + R2 + R3 + ) (1 R) Y1
= ((1 + R + R2 + R3 + ) (R + R2 + R3 + )) Y1
= Y1
It follows that Y2 = Y1 .
Example: Accumulator
These systems are equivalent in the sense that if each is initially at rest, they will produce identical outputs from the same input. (1 R) Y1 = X1 ? Y2 = (1 + R + R2 + R3 + ) X2
Proof: Assume X2 = X1 : Y2 = (1 + R + R2 + R3 + ) X2
= (1 + R + R2 + R3 + ) X1
= (1 + R + R2 + R3 + ) (1 R) Y1
= ((1 + R + R2 + R3 + ) (R + R2 + R3 + )) Y1
= Y1
It follows that Y2 = Y1 . It also follows that (1 R) and (1 + R + R2 + R3 + ) are reciprocals.
Example: Accumulator
1 +R +R2 +R3 + 1R 1 1 R R R R2 R2 R2 R3 R3 R3 R4
Therefore 1 = 1 + R + R2 + R3 + R4 + 1R
Feedback
Systems with signals that depend on previous values of the same signal are said to have feedback.
+
Delay
x[n] 1
Delay
y[n]
X R 2 R
Y X +
Delay
acyclic
cyclic
Acyclic: all paths through system go from input to output with no cycles. Cyclic: at least one cycle.
The eect of feedback can be visualized by tracing each cycle through the cyclic signal paths.
+ p0
Delay
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
The eect of feedback can be visualized by tracing each cycle through the cyclic signal paths.
+ p0
Delay
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
The eect of feedback can be visualized by tracing each cycle through the cyclic signal paths.
+ p0
Delay
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
The eect of feedback can be visualized by tracing each cycle through the cyclic signal paths.
+ p0
Delay
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
The eect of feedback can be visualized by tracing each cycle through the cyclic signal paths.
+ p0
Delay
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
The eect of feedback can be visualized by tracing each cycle through the cyclic signal paths.
+ p0
Delay
x[n] = [n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
Check Yourself
X R X
X R
+ R +
+ R
+ R
Y R
Check Yourself
X R X
X R
+ R +
+ R
+ R
Y R
The impulse response of an acyclic system has nite duration, while that of a cyclic system can have innite duration.
X 1
Delay
+
Delay
1 0 1 2 3 4
1 0 1 2 3 4
Check Yourself
+ 0.5
Delay
+ 1.2
Delay
Delay
1.2
Delay
0.5
Check Yourself
X + 0.5
Delay
y[n]
1 0 1 2 3 4
X + 1.2
Delay
y[n]
1 0 1 2 3 4 y[n] X +
Delay
1.2
Delay
Y n
0.5
1 0 1 2 3 4
Check Yourself
X + 0.5
Delay
y[n]
1 0 1 2 3 4 X + 1.2
Delay
y[n]
1 0 1 2 3 4 y[n] X +
Delay
1.2
Delay
Y
X
0.5
1 0 1 2 3 4
Check Yourself
+ 0.5
Delay
Y
X
+ 1.2
Delay
Delay
1.2
Delay
Y
X
0.5
+ 0.5
Delay
+ 1.2
Delay
y[n]
y[n]
1 0 1 2 3 4
1 0 1 2 3 4
These are geometric sequences: y[n] = (0.5)n and (1.2)n for n 0. These geometric sequences are called fundamental modes.
Now you know four representations of discrete-time systems. Verbal descriptions: preserve the rationale. To reduce the number of bits needed to store a sequence of large numbers that are nearly equal, record the rst number, and then record successive dierences. Dierence equations: mathematically compact. y[n] = x[n] x[n 1] Block diagrams: illustrate signal ow paths. x[n] +
y[n]
Delay
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.