Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SIGNAL PROCESSING]
Polytechnic University of the Philippines
College of Engineering
ELECTRONICS AND COMMUNICATIONS ENGINEERING
3rd floor, CEA bldg., NDC Campus, Anonas St., Sta. Mesa, Manila
LABORATORY ACTIVITY # 2
In
Signature: _____________________________________________
To:
Instructor: ____________________________________________
Rating: ______________
Date: _________________
Instructor Comments:
x1 [ n]
and
y1 [ n ]
and
y2 [ n ]
Eq. (2.1)
y [ n ] = y 1 [ n ] + y 2 [ n ]
The preceding equation is known as the superposition property of a linear system. If
this a system does not satisfy this equation for at least one set of nonzero values of
and , or one set of nonzero input sequences
x1 [ n]
and
x 2 [ n ] , then the
system is nonlinear.
D2.2 Time Invariance
For a time-invariant or shift-invariant discrete-time system, if
response to an input
y1 [ n ]
is the
is simply
y [ n ] = y 1 [ nn0 ]
where
is any positive or negative integer. If the above relation does not hold
for at least one input sequence and its corresponding output sequence, the system
is time-varying.
D2.3 Linear Time-Invariant Discrete-Time System
A linear time-invariant (LTI) discrete-time system satisfies both the linearity and the
time-invariance properties.
D2.4 Causality
If
y1 [ n ]
inputs
y2 [ n ]
and
u1 [ n ]
u2 [ n ] , respectively, then
and
u1 [ n ] =u2 [ n ]
for
n< N
y1 [ n ]= y2 [ n ]
for
n< N .
y [n ]
is also a
|x [ n ]|< B x
Then the corresponding output
y [n ]
| y [ n ]|<B y
where
Bx
and
By
n ,
n ,
{ [n ]}
{h [ n ] }
{ [ n] }
, denoted as
{ s [ n] }
h [ n]
response
y [n ]
to an input signal
x[n]
is given by
Eq. (2.3)
y [ n ] = h [ k ] x [ nk ] ,
k=
which can be alternatively written as
Eq. (2.4)
y [ n ] = h [ nk ] x [ k ]
k=
by a simple change of variables. This sum is called the convolution sum of the
sequences
x[n]
and
Eq. (2.5)
y [ n ] =h [ n ] x [ n ]
where the symbol
h [ n]
h2 [ n ] , respectively, is given by
Eq. (2.6)
h [ n ] =h1 [ n ] h2 [ n ]
If the two LTI systems in the cascade connection are such that
Eq. (2.7)
h1 [ n ] h2 [ n ] = [ n ]
then the LTI system
h2 [ n ]
h1 [ n ]
and vice-versa.
Cascade Connection
Polytechnic University of the Philippines | College of Engineering
h1 [ n ]
{h [ n ] }
|h [ n ]|<
n=
{h [ n ] }
h [ k ] =0
for
k <0
k=0
k=0
d k y [ nk ] = pk x [ nk ]
where
and
x[n]
{d k }
and
and
y [n ]
{ pk }
(N, M), which is the order of the difference equation characterizing the system.
If the system is causal, we can rewrite the preceding equation as follows:
Eq. (2.11)
N
M
dk
p
y [ n ] =
y [ nk ] + k x [ nk ]
k=1 d 0
k=0 d 0
provided
x[n]
d 0 0 . The output
y [n ]
n n0
knowing
y [ n01 ] , y [ n 02 ] , , y [ n0N ] .
h [ n]
system. The causal system of the preceding equation represents an FIR system if
d k =0 for
1
y [ n ] = ( x [ n ] + x [ n1 ] + x [ n2 ] )
3
y [n ]=
1
M
M 1
x [ nk ]
k=0
which defines a causal M-point smoothing FIR filter. This system is also known as a
moving average filter. We illustrate its use in filtering high-frequency components
from a signal composed of a sum of several sinusoidal signals.
% Program P2_1
% Simulation of an M-point Moving Average Filter
% Generate the input signal
clf;
n = 0: 100;
Polytechnic University of the Philippines | College of Engineering
1
0
-1
-2
0
-1
0
50
Time index n
0
-1
0
50
Time index n
Output Signal
100
50
Time index n
100
-2
-2
100
Amplitude
Amplitude
50
Time index n
Input Signal
Signal # 2
2
Amplitude
Amplitude
100
1
0
-1
-2
The
component of the input x[n]suppressed by the discrete-time system simulated by this program is
Signal #2, the high frequency one (it is a low pass filter).
TQ2.2 If the LTI system is changed from y[n] = 0.5 (x[n] + x[n-1]) to y[n] = 0.5
(x[n] x[n-1]), what would be its effect on the input x[n] = s1[n] + s2[n]?
Here is the new code:
% Program Q2_2
% Modification of P1_1 with LTI system changed
% Generate the input signal
n = 0:100;
s1 = cos(2*pi*0.05*n); % A low-frequency sinusoid
s2 = cos(2*pi*0.47*n); % A high frequency sinusoid
x = s1+s2;
% Implementation of high pass filter
M = input('Desired length of the filter = ');
% By comparing eq. (2.13) to (2.3), you can see that "num"
% actually contains the impulse response (times the constant
% M). What we are actually doing in Q2.2 is multiplying the
% impulse response of the low pass filter in P2_1 by the
% sequency (-1)^n. This shifts the low pass frequency
% response up to be centered at f=0.25, making it a high
% pass filter.
output signals
ylabel('Amplitude');
ylabel('Amplitude');
ylabel(Amplitude');
ylabel('Amplitude');
10
f1=0.05;f2=0.47;M=15
an
f1=0.30;f2=0.47;M=4
11
f1=0.05;f2=0.10;M=3
12
The results of Questions Q2.1 and Q2.2 from the response of this system to the swept frequency signal
can be explained as follows: we see again that this system is a low pass filter. At the left of the
graphs, the input signal is a low frequency sinusoid that is passed to the output without
attenuation. As nincreases, the frequency of the input rises, and increasing attenuation is seen at
the output. In Q2.1, the input was a sum of two sinusoids s1and s2with f1=0.05and
f2=0.47. The swept frequency input of Q2.4 reaches a frequency of 0.05 at n=10, where there
is virtually no attenuation in the output shown above. This explains why s1was passed by the
system in Q2.1. The swept frequency input of Q2.4 reaches a frequency of 0.47 at approximately
n=94, where the attenuation of the system is substantial. This explains why s2was almost
completely suppressed in the output in Q2.1.
There is no direct relationship between the result shown above for Q2.4 and the result obtained
in Q2.2. However, using frequency domain concepts (Chapter 3) we can reason that, if the swept
frequency signal was input to the system y[n]= 0.5(x[n]x[n1]), we would see a
result opposite to what is shown above.
Polytechnic University of the Philippines | College of Engineering
13
y [n ]
a signal
x[n] :
Eq. (2.14)
y [ n ] =x [n]2x [ n1 ] x [ n+1 ]
In this activity you will generate the output
types of the input
x[n]
y [n ]
x[n]
composed of a sum of two sinusoidal sequences and simulate the LTI system of EQ.
(2.14) to generate y [ n ] .
% Program P2_2
% Generate a sinusoidal input signal
clf;
n = 0: 200;
x = cos (2*pi*0.05*n);
% Compute the output signal
x1 = [x 0 0]; % x1[n] = x[n+1]
x2 = [0 x 0]; % x2[n] = x[n]
x3 = [0 0 x]; % x3[n] = x[n-1]
y = x2.*x2 x1.*x3;
y = y(2: 202);
% Plot the input and output signals
subplot (2, 1, 1); plot (n,x);
xlabel (Time index n); ylabel (Amplitude)
title (Output signal);
Tasks & Questions:
TQ2.5 Use sinusoidal signals with different frequencies as the input signals and
compute the output signal for each input. How do the output signals depend on the
frequencies of the input signal? Can you verify your observation mathematically?
Polytechnic University of the Philippines | College of Engineering
14
15
the
output
x [ n ]=sin ( n ) + K
y [n ]
How
depend
on the DC value K?
16
x 2 [ n ] , and
x [ n ]=a x 1 [ n ] +b x 2 [ n ] , and to
y1 [ n ] ,
y 2 [ n ] , and
.
% Program P2_3
% Generate the input sequences
clf;
n = 0: 40;
a = 2; b = -3;
x1 = cos (2*pi*0.1*n);
x2 = cos (2*pi*0.4*n);
Polytechnic University of the Philippines | College of Engineering
17
y [n ]
18
TQ2.8 Repeat TQ2.7 for three different sets of values of the weighting constants, a
and b, and three different sets of input frequencies.
Program P2_3 was run for the following three different sets of values of the weighting constants,
b, and the following three different sets of input frequencies:
aand
1. a=1;b=1;f1=0.05;f2=0.4;
2. a=10;b=2;f1=0.10;f2=0.25;
Polytechnic University of the Philippines | College of Engineering
19
20
Based
on
these
Linear.
ic=[510];
Nonlinear.
21
1. a=1;b=1;f1=0.05;f2=0.4;
2. a=10;b=2;f1=0.10;f2=0.25;
3. a=2;b=10;f1=0.15;f2=0.20;
The plots generated for each of the above three cases are shown below :
22
23
24
25
Tasks &Questions:
TQ2.12 Run Program P2_4 and compare the output sequences y[n] and yd[n - 10].
What is the relation between these two sequences? Is this system time-invariant?
The output sequences y[n]and yd[n]generated by running Program P2_4 are shown
below -
26
y[n10]=yd[n].
TQ2.13 Repeat TQ2.12 for three different values of the delay variable D.
The output sequences y[n]and yd[n]generated by running Program P2_4 for the following values
of the delay variable D 2; 6; 8. are shown below -
27
28
y[nD]=yd[n].
TQ2.14 Repeat TQ2.12 for three different sets of values of the input frequencies.
Polytechnic University of the Philippines | College of Engineering
29
The output sequences y[n]and yd[n]generated by running Program P2_4 for the following values
of the input frequencies
1. f1=0.05;f2=0.40;
2. f1=0.10;f2=0.25;
3. f1=0.15;f2=0.20;
30
y[n10]=yd[n].
The system is Time Invariant.
TQ2.15 Repeat TQ2.12 for nonzero initial conditions. Is this system time-invariant?
The output sequences y[n]and yd[n]generated by running Program P2_4 for non-zero initial
conditions are shown below
TQ2.16 Repeat TQ2.14 for nonzero initial conditions. Is this system time-invariant?
Polytechnic University of the Philippines | College of Engineering
31
The output sequences y[n]and yd[n]generated by running Program P2_4 for non-zero initial
conditions and following values of the input frequencies
1. f1=0.05;f2=0.40;
2. f1=0.10;f2=0.25;
3. f1=0.15;f2=0.20;
are shown below -
32
33
version of y[n].
The system is Time Varying.
34
35
36
TQ2.20 Modify Program P2_5 to generate the first 45 samples of the impulse
response of the following causal LTI system:
Eq. (2.17)
y[n] + 0.71 y[n 1] 0.46 y[n 2] 0.62 y[n 3]
= 0.9 x[n] 0.45 x[n 1] + 0.35 x[n 2] + 0.002 x[n 3].
The required modifications to Program P2_5 to generate the impulse response of the following causal LTI
system:
y[n]+0.71y[n1]0.46y[n2]0.62y[n3]
=0.9x[n]0.45x[n1]+0.35x[n2]+0.002x[n3]
are given below:
% Program Q2_20
% Compute the impulse response y
clf;
N = 45;
num = [0.9 -0.45 0.35 0.002];
den = [1.0 0.71 -0.46 -0.62];
y = impz(num,den,N);
% Plot the impulse response
stem(y);
xlabel('Time index n'); ylabel('Amplitude');
title('Impulse Response'); grid;
The first 45 samples of the impulse response of this discrete-time system generated by running the
modified is given below:
37
TQ2.21 Write a MATLAB program to generate the impulse response of a causal LTI
system of Eq. (2.17) using the filter command; compute and plot the first 40
samples. Compare your result with that obtained in TQ2.20.
The MATLAB program to generate the impulse response of a causal LTI system of Q2.20 using the
filtercommand is indicated below:
% Program Q2_21
% Compute the impulse response y
clf;
N = 40;
num = [0.9 -0.45 0.35 0.002];
den = [1.0 0.71 -0.46 -0.62];
% input: unit pulse
x = [1 zeros(1,N-1)];
% output
y = filter(num,den,x);
% Plot the impulse response
% NOTE: the time axis will be WRONG; h[0] will
% be plotted at n=1; but this will agree with
% the INCORRECT plotting that was also done
% by program P2_5.
stem(y);
xlabel('Time index n'); ylabel('Amplitude');
title('Impulse Response'); grid;
The first 40 samples of the impulse response generated by this program are shown below :
38
TQ2.22 Write a
MATLAB program to generate and plot the step response of a causal LTI system of
Eq. (2.11). Using this program compute and plot the first 40 samples of the step
response of the LTI system of Eq. (2.15).
The MATLAB program to generate and plot the step response of a causal LTI system is indicated below :
% Program Q2_22
% Compute the step response s
clf;
N = 40;
n = 0:N-1;
num = [2.2403 2.4908 2.2403];
den = [1.0 -0.4 0.75];
% input: unit step
x = [ones(1,N)];
% output
y = filter(num,den,x);
% Plot the step response
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Step Response'); grid;
The first 40 samples of the step response of the LTI system of Project 2.3 are shown below :
39
40
41
42
roundoff.
TQ2.25 Repeat TQ2.23 with arbitrary nonzero initial condition vectors ic, ic1, and
ic2.
The sequences generated by running Program P2_6 with non-zero initial condition vectors are now as
given below:
43
TQ2.26 Modify Program P2_6 to repeat the same procedure with the two secondorder systems in reverse order and with zero initial conditions. Is there any
difference between the two outputs?
% Program Q2_26
% Cascade Realization
44
TQ2.27
Repeat
TQ2.26
with
arbitrary nonzero initial condition
vectors ic, ic1, and ic2.
45
46
47
h[n]with a length-10
% Program Q2_29
clf;
h = [3 1 4 1 5 9 2 6 5 4 -3 -1 -4 -1 -5]; % impulse response
x = [0 1 2 1 0 -1 -2 -1 0 1]; % input sequence
y = conv(h,x);
n = 0:length(h)+length(x)-2;
subplot(2,1,1);
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Obtained by Convolution'); grid;
x1 = [x zeros(1,length(h)-1)];
y1 = filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Generated by Filtering'); grid;
The sequences y[n]and y1[n]generated by running modified Program P2_7 are shown below :
48
S ( K )= |h [ n ]|
n=0
for increasing values of K, and checks the value of |h[K]| at each iteration step. If
the value of |h[K]| is smaller than 106, then it is assumed that the sum S(K) of Eq.
(2.21) has converged and is very close to S().
% Program P2_8
% Stability test based on the sum of the absolute values of the impulse response
samples
clf;
num = [1 -0.8]; den = [1 1.5 0.9];
N = 200;
h impz(num, den, N+1);
parsum = 0;
for k = 1: N+1;
parsum = parsum + abs(h(k));
if abs(h(k)) < 10^(-6), break, end
end
% Plot the impulse response
n = 0: N; stem (n, h) xlabel (Time index n); ylabel (Amplitude);
% Print the value of abs (h(k))
disp (Value =); disp (abs(h(k)));
Tasks & Questions:
TQ2.30 What are the purposes of the commands for and end?
The purpose of the forcommand is
repeated.
Q2.31 What is the purpose of the command break?
Polytechnic University of the Philippines | College of Engineering
49
y[n]+1.5y[n1]+0.9y[n2]=x[n]0.8x[n1]
The impulse response generated by running Program P2_8 is shown below:
very
LIKELY to be stable.
If |h[K]| is not smaller than 106 but the plot shows a decaying impulse response,
run Program P2_8 again with a larger value of N.
By running Program P2_8 with a larger value of N the new value of | h(K)|is -
9.1752e-
007
From this value we can conclude that the system is
50
51
Activity 2.9
Illustration of the Filtering Concept
Consider the following two discrete-time systems characterized by the difference
equations:
System No. 1
y[n] = 0.5 x[n] + 0.27 x[n 1] + 0.77 x[n 2],
System No. 2
y[n] = 0.45 x[n] + 0.5 x[n 1] + 0.45 x[n 2] + 0.53 y[n 1] 0.46 y[n 2].
MATLAB Program P2_9 is used to compute the outputs of the above two systems for
an input
x [ n ]=cos
% Program P2_9
% Generate the input sequence
clf;
n = 0:299;
x1 = cos(2*pi*10*n/256);
x2 = cos(2*pi*100*n/256);
x = x1+x2;
Polytechnic University of the Philippines | College of Engineering
52
53
The filter with better characteristics for the suppression of the high frequency component of the
input signal x[n]is System #2.
TQ2.35 Modify Program P2_9 by changing the input sequence to a swept sinusoidal
sequence (length 301, minimum frequency 0, and maximum frequency 0.5). Which
filter has better characteristics for suppression of the high-frequency component?
54
System #2.
55