You are here: Home » Content » DISCRETE - TIME SYSTEMS

DISCRETE - TIME SYSTEMS

Module by: Nguyen Huu Phuong

Previous sections were about discrete-time signals. The rest of this chapter reserves for discrete-time (or digital) systems. A system acts upon the input signal x(n) to produce the output signal y(n) ( Figure 1). Let’s denote S[.] the action (or reaction) of the system, we write
Figure 1: General model of systems
x(n)sy(n)x(n)sy(n) size 12{x \( n \) widevec { size 8{S} } y \( n \) } {}(1)
or
y(n)=Sxny(n)=Sxn size 12{y \( n \) =S left [x left (n right ) right ]} {}(2)
For example, if the system is a multiplier by 2, then
S = 2x S = 2x size 12{ matrix { {} # {} # {} # {} } S=2x} {}
or
y ( n ) = 2 x x ( n ) y ( n ) = 2 x x ( n ) size 12{ matrix { {} # {} # {} # {} } y \( n \) =2 ital "xx" \( n \) } {}

Input-output signal difference equation

Usually we pay attention only to the action of the system on the input signal and do not care about the structure (hardware and software) of the system. One way to characterize the system is to specify its input-output signal difference equation (just like the differential equations in analog systems). An example is the previous equation y(n) = 2x(n), but in most cases the equation is not so simple.
Example 1 
The system is described by its input-output equation
(a) y(n)=x(n1) y(n)=x(n1) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpcaWG4bGaaiikaiaad6gacqGHsislcaaIXaGaaiykaaaa@3F45@
(b) y(n)=x(n+1) y(n)=x(n+1) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpcaWG4bGaaiikaiaad6gacqGHRaWkcaaIXaGaaiykaaaa@3F3A@
(c) y(n)= 1 3 [x(n1)+x(n)+x(n+1)] y(n)= 1 3 [x(n1)+x(n)+x(n+1)] MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpdaWcaaqaaiaaigdaaeaacaaIZaaaaiaacUfacaWG4bGaaiikaiaad6gacqGHsislcaaIXaGaaiykaiabgUcaRiaadIhacaGGOaGaamOBaiaacMcacqGHRaWkcaWG4bGaaiikaiaad6gacqGHRaWkcaaIXaGaaiykaiaac2faaaa@4C80@
(d) y(n)=max[x(n1),x(n),x(n+1)] y(n)=max[x(n1),x(n),x(n+1)] MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpciGGTbGaaiyyaiaacIhacaGGBbGaamiEaiaacIcacaWGUbGaeyOeI0IaaGymaiaacMcacaGGSaGaaGjbVlaadIhacaGGOaGaamOBaiaacMcacaGGSaGaaGjbVlaadIhacaGGOaGaamOBaiabgUcaRiaaigdacaGGPaGaaiyxaaaa@5082@
The common input signal is
x(n)=|n|,3n3 0,otherwise x(n)=|n|,3n3 0,otherwise MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOabaeqabaGaamiEaiaacIcacaWGUbGaaiykaiabg2da9iaacYhacaWGUbGaaiiFaiaaysW7caGGSaGaaGzbVlaaywW7cqGHsislcaaIZaGaeyizImQaamOBaiabgsMiJkaaiodaaeaacaaMf8UaaGzbVlaaywW7caaIWaGaaGjbVlaacYcacaaMf8UaaGzbVlaaywW7caWGVbGaamiDaiaadIgacaWGLbGaamOCaiaadEhacaWGPbGaam4Caiaadwgaaaaa@5E3C@
Find the output signal in each case.
Solution
The common input signal is the sequence (Figure 2)
x ( n ) = [ 0,3,2,1,0,1,2,3,0 ] x ( n ) = [ 0,3,2,1,0,1,2,3,0 ] size 12{ matrix { {} # {} # {} # {} } x \( n \) = \[ 0,3,2,1,0,1,2,3,0 \] } {}
Figure 2
The rude way to find the output signal is to compute it from the equation for n = 0, 1, 2, … until the output remains zero, then compute the output at n = -1, -2, … until it remains zero. A better and much quicker way is to observe the signal equation to understand its action then deduce the output straightaway.
(a) y(n)=x(n1) y(n)=x(n1) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpcaWG4bGaaiikaiaad6gacqGHsislcaaIXaGaaiykaaaa@3F45@
y ( 0 ) = x ( 1 ) = 1 y ( 0 ) = x ( 1 ) = 1 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( 0 \) matrix { {} # {} # {} } =x \( - 1 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 1} {}
y ( 1 ) = x ( 0 ) = 0 y ( 1 ) = x ( 0 ) = 0 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( 1 \) matrix { {} # {} # {} } =x \( 0 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 0} {}
y ( 2 ) = x ( 1 ) = 1 y ( 2 ) = x ( 1 ) = 1 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( 2 \) matrix { {} # {} # {} } =x \( 1 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 1} {}
y ( 3 ) = x ( 2 ) = 2 y ( 3 ) = x ( 2 ) = 2 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( 3 \) matrix { {} # {} # {} } =x \( 2 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 2} {}
y ( 4 ) = x ( 3 ) = 3 y ( 4 ) = x ( 3 ) = 3 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( 4 \) matrix { {} # {} # {} } =x \( 3 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 3} {}
y ( 5 ) = x ( 4 ) = 4 y ( 5 ) = x ( 4 ) = 4 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( 5 \) matrix { {} # {} # {} } =x \( 4 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 4} {}
y ( 1 ) = x ( 2 ) = 2 y ( 1 ) = x ( 2 ) = 2 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( - 1 \) matrix { {} # {} # {} } =x \( - 2 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 2} {}
y ( 2 ) = x ( 3 ) = 3 y ( 2 ) = x ( 3 ) = 3 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( - 2 \) matrix { {} # {} # {} } =x \( - 3 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 3} {}
y ( 3 ) = x ( 4 ) = 0 y ( 3 ) = x ( 4 ) = 0 size 12{ matrix { {} # {} # {} # {} } matrix { {} # {} # {} } y \( - 3 \) matrix { {} # {} # {} } =x \( - 4 \) matrix { {} # {} # {} } = matrix { {} # {} # {} } 0} {}
Thus output is
y ( n ) = [ 0,3,2,1,0,1,2,3,0 ] y ( n ) = [ 0,3,2,1,0,1,2,3,0 ] size 12{ matrix { {} # {} # {} # {} } y \( n \) = \[ 0,3,2,1,0,1,2,3,0 \] } {}
The output is just the input delay by one index (sample), e.g. the output y(0) at n = 0 is the simple x(-1) at n = -1. So the system is an unit delay.
(b) y(n)=x(n+1) y(n)=x(n+1) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpcaWG4bGaaiikaiaad6gacqGHRaWkcaaIXaGaaiykaaaa@3F3A@
We observe the equation and see that the output y(0) at n = 0 is the input x(1) at n = 1, so the system is an unit advance. The output is the input shifted to the left (into the past) an index.
(c) y(n)= 1 3 [x(n1)+x(n)+x(n+1)] y(n)= 1 3 [x(n1)+x(n)+x(n+1)] MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpdaWcaaqaaiaaigdaaeaacaaIZaaaaiaacUfacaWG4bGaaiikaiaad6gacqGHsislcaaIXaGaaiykaiabgUcaRiaadIhacaGGOaGaamOBaiaacMcacqGHRaWkcaWG4bGaaiikaiaad6gacqGHRaWkcaaIXaGaaiykaiaac2faaaa@4C80@
The output signal at index n is the average sum of the last (past) input x(n – 1), the present input x(n) and the next (future) input x(n + 1). The output is computed as follows.
y ( 0 ) = 1 3 [ x ( 1 ) + x ( 0 ) + x ( 1 ) ] = 1 3 [ 1 + 0 + 1 ] = 2 3 y ( 0 ) = 1 3 [ x ( 1 ) + x ( 0 ) + x ( 1 ) ] = 1 3 [ 1 + 0 + 1 ] = 2 3 size 12{ matrix { {} # {} # {} # {} } y \( 0 \) = { {1} over {3} } \[ x \( - 1 \) +x \( 0 \) +x \( 1 \) \] = { {1} over {3} } \[ 1+0+1 \] = { {2} over {3} } } {}
y ( 1 ) = 1 3 [ x ( 0 ) + x ( 1 ) + x ( 2 ) ] = 1 3 [ 0 + 1 + 2 ] = 1 y ( 1 ) = 1 3 [ x ( 0 ) + x ( 1 ) + x ( 2 ) ] = 1 3 [ 0 + 1 + 2 ] = 1 size 12{ matrix { {} # {} # {} # {} } y \( 1 \) = { {1} over {3} } \[ x \( 0 \) +x \( 1 \) +x \( 2 \) \] = { {1} over {3} } \[ 0+1+2 \] =1} {}
y ( 2 ) = 1 3 [ x ( 1 ) + x ( 2 ) + x ( 3 ) ] = 1 3 [ 1 + 2 + 3 ] = 2 y ( 2 ) = 1 3 [ x ( 1 ) + x ( 2 ) + x ( 3 ) ] = 1 3 [ 1 + 2 + 3 ] = 2 size 12{ matrix { {} # {} # {} # {} } y \( 2 \) = { {1} over {3} } \[ x \( 1 \) +x \( 2 \) +x \( 3 \) \] = { {1} over {3} } \[ 1+2+3 \] =2} {}
... ... MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaac6cacaGGUaGaaiOlaaaa@381A@
Continuing will lead to the complete output sequence
y ( n ) = [ 0,1, 5 3 , 2,1, 2 3 , 1,2, 5 3 , 1,0 ] y ( n ) = [ 0,1, 5 3 , 2,1, 2 3 , 1,2, 5 3 , 1,0 ] size 12{ matrix { {} # {} # {} # {} } y \( n \) = \[ 0,1, { {5} over {3} } ,2,1, { {2} over {3} } ,1,2, { {5} over {3} } ,1,0 \] } {}
(d) y(n)=max[x(n1),x(n),x(n+1)] y(n)=max[x(n1),x(n),x(n+1)] MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpciGGTbGaaiyyaiaacIhacaGGBbGaamiEaiaacIcacaWGUbGaeyOeI0IaaGymaiaacMcacaGGSaGaaGjbVlaadIhacaGGOaGaamOBaiaacMcacaGGSaGaaGjbVlaadIhacaGGOaGaamOBaiabgUcaRiaaigdacaGGPaGaaiyxaaaa@5082@
The present output is the maximum of the three inputs: last, present, and next. Computation is as follows.
y ( 0 ) = max [ x ( 1 ) , x ( 0 ) , x ( 1 ) ] = max ( 1,0,1 ) = 1 y ( 0 ) = max [ x ( 1 ) , x ( 0 ) , x ( 1 ) ] = max ( 1,0,1 ) = 1 size 12{ matrix { {} # {} # {} # {} } y \( 0 \) ="max" \[ x \( - 1 \) ,x \( 0 \) ,x \( 1 \) \] ="max" \( 1,0,1 \) =1} {}
y ( 1 ) = max [ x ( 0 ) , x ( 1 ) , x ( 2 ) ] = max ( 0,1,2 ) = 2 y ( 1 ) = max [ x ( 0 ) , x ( 1 ) , x ( 2 ) ] = max ( 0,1,2 ) = 2 size 12{ matrix { {} # {} # {} # {} } y \( 1 \) ="max" \[ x \( 0 \) ,x \( 1 \) ,x \( 2 \) \] ="max" \( 0,1,2 \) =2} {}
y ( 2 ) = max [ x ( 1 ) , x ( 2 ) , x ( 3 ) ] = max ( 1,2,3 ) = 3 y ( 2 ) = max [ x ( 1 ) , x ( 2 ) , x ( 3 ) ] = max ( 1,2,3 ) = 3 size 12{ matrix { {} # {} # {} # {} } y \( 2 \) ="max" \[ x \( 1 \) ,x \( 2 \) ,x \( 3 \) \] ="max" \( 1,2,3 \) =3} {}
Continuing will lead to the complete output sequence
y ( n ) = [ 0,3,3,3,2,1,2,3,3,3,0 ] y ( n ) = [ 0,3,3,3,2,1,2,3,3,3,0 ] size 12{y \( n \) = \[ 0,3,3,3,2,1,2,3,3,3,0 \] } {}
Example 2 
For the input sequence
x ( n ) = [ 0,1,2,3,4,5,6,5,4,3,2,1,0 ] x ( n ) = [ 0,1,2,3,4,5,6,5,4,3,2,1,0 ] size 12{x \( n \) = \[ 0,1,2,3,4,5,6,5,4,3,2,1,0} {}
find the output sequence of the system
(a) y(n)=x(2n) y(n)=x(2n) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadMhacaGGOaGaamOBaiaacMcacqGH9aqpcaWG4bGaaiikaiaaikdacaWGUbGaaiykaaaa@3E59@
(b) y(n)=x( n 2 <