Bài 2
Bài 2
Bài 2
Section:T3 1-3
Laboratory Exercise 2
DISCRETE-TIME SYSTEMS: TIME-DOMAIN REPRESENTATION
Q2.1 The output sequence generated by running the above program for M = 2 with
x[n] = s1[n]+s2[n] as the input is shown below.
1
Signal #1 Signal #2
2 2
Amplitude 1 1
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
Input Signal Output Signal
2 2
1 1
Amplitude
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
Q2.2 Program P2_1 is modified to simulate the LTI system y[n] = 0.5(x[n]–x[n–
1]) and process the input x[n] = s1[n]+s2[n] resulting in the output
sequence shown below:
% Program P2_1
% Simulation of an M-point Moving Average Filter
% 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 the moving average filter
M = input('Desired length of the filter = ');
num = [1 -1];
y = filter(num,1,x)/M;
% Display the input and output signals
clf;
subplot(2,2,1);
plot(n, s1);
axis([0, 100, -2, 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Signal #1');
subplot(2,2,2);
plot(n, s2);
2
axis([0, 100, -2, 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Signal #2');
subplot(2,2,3);
plot(n, x);
axis([0, 100, -2, 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Input Signal');
subplot(2,2,4);
plot(n, y);
axis([0, 100, -2, 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Signal');
axis;
%giữ lại bộ lọc có tần sốcao hơn
–
The effect of changing the LTI system on the input is
– The system is now a high pass filter. It passes the high-frequency
input component #2 instead of the low frequency inputcomponent #1.
Q2.3 Program P2_is run for the following values of filter length M and following values of
the frequencies of the sinusoidal signals s1[n] and s2[n]. The output
generated for these different values of M and the frequencies are shown below.
From these plots we make the following observations –
3
Signal #1 Signal #2
2 2
Amplitude 1 1
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
Input Signal Output Signal
2 2
1 1
Amplitude
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
1 1
Amplitude
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
Input Signal Output Signal
2 2
1 1
Amplitude
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
4
-Both s1 and s2 are high frequency in this case.Output singnal is the
same as input signal
f1=0.03; f2=0.09; M=5
Signal #1 Signal #2
2 2
1 1
Amplitude
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
Input Signal Output Signal
2 2
1 1
Amplitude
Amplitude
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Time index n Time index n
-Both s1 and s2 are low frequency in this case.Output singnal is the same
as input signal
Q2.4 The required modifications to Program P2_1 by changing the input sequence to a
swept-frequency sinusoidal signal (length 101, minimum frequency 0, and a
maximum frequency 0.5) as the input signal (see Program P1_7) are listed below :
%Q2.4
n = 0:100;
a = pi/2/100;
b = 0;
arg = a*n.*n + b*n;
x = cos(arg);
M = input('Desired length of the filter = ');
num = ones (1,M);
y = filter(num,1,x)/M;
% Display the input and output signals
clf;
subplot(2,1,1);
plot(n, x);
axis([0, 100, -2, 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Signal #1');
subplot(2,1,2);
plot(n, y);
axis([0, 100, -2, 2]);
5
xlabel('Time index n'); ylabel('Amplitude');
title('Signal #2');
Signal #1
2
1
Amplitude
-1
-2
0 10 20 30 40 50 60 70 80 90 100
Time index n
Signal #2
2
1
Amplitude
-1
-2
0 10 20 30 40 50 60 70 80 90 100
Time index n
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 :This is a low pass filter and is a
linearly increasing frequency sweep so the frequency increases
gradually. At the beginning of the filter output, the later it is, the
more it eliminates it
6
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('Input Signal')
subplot(2,1,2)
plot(n,y)
xlabel('Time index n');ylabel('Amplitude');
title('Output signal');
Q2.5 The sinusoidal signals with the following frequencies as the input signals were
used to generate the output signals : cosin
The output signals generated for each of the above input signals are displayed
below:
Input Signal
1
0.5
Amplitude
-0.5
-1
0 20 40 60 80 100 120 140 160 180 200
Time index n
Output signal
1
Amplitude
0.5
0
0 20 40 60 80 100 120 140 160 180 200
Time index n
The output signals depend on the frequencies of the input signal according to the
following rules:
y = x2.*x2-x1.*x3;
7
Q2.6 The output signal generated by using sinusoidal signals of the form x[n] =
sin(on) + K as the input signal is shown below for the following values of o
and K-
1.5
Amplitude
0.5
0
0 20 40 60 80 100 120 140 160 180 200
Time index n
Output Signal y[n]
1
Amplitude
0.5
0
0 20 40 60 80 100 120 140 160 180 200
Time index n
The dependence of the output signal yt[n] on the DC value K can be explained as –
Overall, the influence of the DC value KKK on the output signal y[n]y[n]y[n] is
significant, as it affects the average level, modifies the amplitude dynamics, and
introduces nonlinearities, resulting in a fundamentally different output shape compared
to a signal without a DC offset.
8
y1 = filter(num,den,x1,ic); % Compute the output y1[n]
y2 = filter(num,den,x2,ic); % Compute the output y2[n]
y = filter(num,den,x,ic); % Compute the output y[n]
yt = a*y1 + b*y2;
d = y - yt; % Compute the difference output d[n]
% Plot the outputs and the difference signal
subplot(3,1,1)
stem(n,y);
ylabel('Amplitude');
title('Output Due to Weighted Input: a \cdot x_{1}[n] + b \cdot x_{2}
[n]');
subplot(3,1,2)
stem(n,yt);
ylabel('Amplitude');
title('Weighted Output: a \cdot y_{1}[n] + b \cdot y_{2}[n]');
subplot(3,1,3)
stem(n,d);
xlabel('Time index n');ylabel('Amplitude');
title('Difference Signal');
Q2.7 The outputs y[n], obtained with weighted input, and yt[n], obtained by
combining the two outputs y1[n] and y2[n] with the same weights, are shown below
along with the difference between the two signals :
-20
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
-15 Difference Signal
10
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
9
The system is - Linear
Q2.8 Program P2_3 was run for the following three different sets of values of the
weighting constants, a and b, and the following three different sets of input
frequencies:
The plots generated for each of the above three cases are shown below :
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;
-10
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
10
Amplitude
-10
0 5 10 15 20 25 30 35 40
-16 Difference Signal
10
10
Amplitude
5
0
-5
0 5 10 15 20 25 30 35 40
Time index n
10
Output Due to Weighted Input: a x1[n] + b x2[n]
200
Amplitude
0
-200
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
-14 Difference Signal
10
2
Amplitude
-2
0 5 10 15 20 25 30 35 40
Time index n
-200
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
-14 Difference Signal
10
2
Amplitude
-2
0 5 10 15 20 25 30 35 40
Time index n
11
Based on these plots we can conclude that the system with different weights is -
Linear
Q2.9 Program 2_3 was run with the following non-zero initial conditions -
-200
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
Difference Signal
50
Amplitude
0
-50
-100
0 5 10 15 20 25 30 35 40
Time index n
Based on these plots we can conclude that the system with nonzero initial conditions is -
Nonlinear.
Q2.10 Program P2_3 was run with nonzero initial conditions and for the following three
different sets of values of the weighting constants, a and b, and the following
three different sets of input frequencies :
The plots generated for each of the above three cases are shown below :
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;
12
Output Due to Weighted Input: a x1[n] + b x2[n]
10
Amplitude 5
0
-5
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
10
Amplitude
-10
0 5 10 15 20 25 30 35 40
Difference Signal
10
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
-100
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
Difference Signal
50
Amplitude
0
-50
-100
0 5 10 15 20 25 30 35 40
Time index n
13
Output Due to Weighted Input: a x1[n] + b x2[n]
200
Amplitude
0
-200
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
Difference Signal
50
Amplitude
0
-50
-100
0 5 10 15 20 25 30 35 40
Time index n
Based on these plots we can conclude that the system with nonzero initial
conditions and different weights is - Nonlinear
y[n] = x[n]x[n–1]
The output sequences y1[n], y2[n],and y[n]of the above system generated
by running the modified program are shown below :
14
Output Due to Weighted Input: a x1[n] + b x2[n]
0
Amplitude
-2
-4
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
4
Amplitude
0
0 5 10 15 20 25 30 35 40
Difference Signal
0
Amplitude
-5
-10
0 5 10 15 20 25 30 35 40
Time index n
Comparing y[n] with yt[n] we conclude that the two sequences are -not the same
15
ylabel('Amplitude');
title('Output y[n]'); grid;
subplot(3,1,2)
stem(n,yd(1:41));
ylabel('Amplitude');
title(['Output due to Delayed Input x[n Ð', num2str(D),']']); grid;
subplot(3,1,3)
stem(n,d);
xlabel('Time index n'); ylabel('Amplitude');
title('Difference Signal'); grid;
Answers:
Q2.12 The output sequences y[n] and yd[n-10] generated by running Program P2_4
are shown below –
Output y[n]
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð10]
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
Difference Signal
1
Amplitude
-1
0 5 10 15 20 25 30 35 40
Time index n
These
two sequences are related as follows - y[n-10] = yd[n].
Q2.13 The output sequences y[n] and yd[n-D] generated by running Program P2_4 for
the following values of the delay variable D=2,3,5
16
are shown below -
Output y[n]
Amplitude 20
-20
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð2]
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
Difference Signal
1
Amplitude
-1
0 5 10 15 20 25 30 35 40
Time index n
17
Output y[n]
20
Amplitude
0
-20
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð3]
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
Difference Signal
1
Amplitude
-1
0 5 10 15 20 25 30 35 40
Time index n
Output y[n]
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð5]
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
Difference Signal
1
Amplitude
-1
0 5 10 15 20 25 30 35 40
Time index n
18
In each case, these two sequences are related as follows - y[n-D] = yd[n]
Q2.14 The output sequences y[n] and yd[n-10] generated by running Program P2_4
for the following values of the input frequencies -
In each case, these two sequences are related as follows – not the same
Q2.15 The output sequences y[n] and yd[n-10] generated by running Program P2_4
for non-zero initial conditions are shown below -
19
Output y[n]
100
Amplitude
0
-100
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð5]
100
Amplitude
-100
0 5 10 15 20 25 30 35 40
Difference Signal
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
These two sequences are related as follows – is NOT equal to the shift of y[n].
Q2.16 The output sequences y[n] and yd[n-10] generated by running Program P2_4
for non-zero initial conditions and following values of the input frequencies - are
shown below -
20
Output y[n]
50
Amplitude 0
-50
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð5]
50
Amplitude
-50
0 5 10 15 20 25 30 35 40
Difference Signal
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
Output y[n]
50
Amplitude
-50
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð5]
50
Amplitude
-50
0 5 10 15 20 25 30 35 40
Difference Signal
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
21
Output y[n]
100
Amplitude
0
-100
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n Ð5]
100
Amplitude
-100
0 5 10 15 20 25 30 35 40
Difference Signal
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
In each case, these two sequences are related as follows – not the same
is given below:
% Program Q2_17
% Modification of P2_4 to implement the system
% given by (2.16).
% Generate the input sequences
clf;
n = 0:40; D = 10;a = 3.0;b = -2;
x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);
xd = [zeros(1,D) x];
nd = 0:length(xd)-1;
% Compute the output y[n]
y = (n .* x) + [0 x(1:40)];
% Compute the output yd[n]
yd = (nd .* xd) + [0 xd(1:length(xd)-1)];
% Compute the difference output d[n]
d = y - yd(1+D:41+D);
% Plot the outputs
subplot(3,1,1)
22
stem(n,y);
ylabel('Amplitude');
title('Output y[n]'); grid;
subplot(3,1,2)
stem(n,yd(1:41));
ylabel('Amplitude');
title(['Output due to Delayed Input x[n -', num2str(D),']']); grid;
subplot(3,1,3)
stem(n,d);
xlabel('Time index n'); ylabel('Amplitude');
The output sequences y[n] and yd[n-10] generated by running modified Program P2_4
are shown below -
Output y[n]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
Output due to Delayed Input x[n -10]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
Difference Signal
50
Amplitude
-50
0 5 10 15 20 25 30 35 40
Time index n
These two sequences are related as follows - yd[n] is NOT the shifted
version of y[n].
Q2.18 (optional) The modified Program P2_3 to test the linearity of the system of Q2.18 is
shown below:
% Program Q2_18
% Modify P2_3 for Q2.18.
% Generate the input sequences
23
clf;
n = 0:40;
a = 2;b = -3;
x1 = cos(2*pi*0.1*n);
x2 = cos(2*pi*0.4*n);
x = a*x1 + b*x2;
y1 = (n .* x1) + [0 x1(1:40)]; % Compute the output y1[n]
y2 = (n .* x2) + [0 x2(1:40)]; % Compute the output y2[n]
y = (n .* x) + [0 x(1:40)]; % Compute the output y[n]
yt = a*y1 + b*y2;
d = y - yt; % Compute the difference output d[n]
% Plot the outputs and the difference signal
subplot(3,1,1)
stem(n,y);
ylabel('Amplitude');
title('Output Due to Weighted Input: a \cdot x_{1}[n] + b \cdotx_{2}
[n]');
subplot(3,1,2)
stem(n,yt);
ylabel('Amplitude');
title('Weighted Output: a \cdot y_{1}[n] + b \cdot y_{2}[n]');
subplot(3,1,3)
stem(n,d);
xlabel('Time index n');ylabel('Amplitude');
title('Difference Signal');
The outputs y[n]and yt[n] obtained by running the modified program P2_3 are
shown below:
24
Output Due to Weighted Input: a x1[n] + b x2[n]
200
Amplitude
0
-200
0 5 10 15 20 25 30 35 40
Weighted Output: a y1[n] + b y2[n]
200
Amplitude
-200
0 5 10 15 20 25 30 35 40
-14 Difference Signal
10
Amplitude
2
1
0
0 5 10 15 20 25 30 35 40
Time index n
Q2.19 The first 41 samples of the impulse response of the discrete-time system of
25
Impulse Response
4
2
Amplitude
-1
-2
-3
0 5 10 15 20 25 30 35 40
Time index n
Q2.20 The required modifications to Program P2_5 to generate the impulse response of
the following causal LTI system :
26
Impulse Response
2
1.5
1
Amplitude
0.5
-0.5
-1
-1.5
0 5 10 15 20 25 30 35 40
Time index n
Q2.21 The MATLAB program to generate the impulse response of a causal LTI system of
Q2.20 using the filter command is indicated below:
%Q2.20 y[n] + 0.71y[n-1] – 0.46y[n-2] – 0.62y[n-3]= 0.9x[n] – 0.45x[n-1]
+ 0.35x[n-2] + 0.002x[n-3]
clf;
n=0:40;
num = [0.9 -0.45 0.35 0.002];
den = [1 0.71 -0.46 -0.62];
x=[1 zeros(1,40)];
y = filter(num,den,x);
% Plot the impulse response
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:
27
Impulse Response
2
1.5
1
Amplitude
0.5
-0.5
-1
-1.5
0 5 10 15 20 25 30 35 40 45
Time index n
Comparing the above response with that obtained in Question Q2.20 we conclude
– They are the same
Q2.22 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:
28
Step Response
8
5
Amplitude
0
0 5 10 15 20 25 30 35 40
Time index n
29
% Plot output and difference signals
subplot(3,1,1);
stem(n,y);
ylabel('Amplitude');
title('Output of 4th order Realization'); grid;
subplot(3,1,2);
stem(n,y2)
ylabel('Amplitude');
title('Output of Cascade Realization'); grid;
subplot(3,1,3);
stem(n,d)
xlabel('Time index n');ylabel('Amplitude');
title('Difference Signal'); grid;
Answers:
Q2.23 The output sequences y[n], y2[n], and the difference signal d[n] generated
by running Program P2_6 are indicated below:
-1
0 5 10 15 20 25 30 35 40
Output of Cascade Realization
1
Amplitude
-1
0 5 10 15 20 25 30 35 40
-15 Difference Signal
10
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
The relation between y[n] and y2[n] is - They are the SAME up to
numerical
roundoff.
Q2.24 The sequences generated by running Program P2_6 with the input changed to a
sinusoidal sequence are as follows :
x = sin(0.1 * pi * n); % Generate the input
30
Output of 4th order Realization
0.1
Amplitude
-0.1
0 5 10 15 20 25 30 35 40
Output of Cascade Realization
0.1
Amplitude
-0.1
0 5 10 15 20 25 30 35 40
-16 Difference Signal
10
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
Q2.25 The sequences generated by running Program P2_6 with non-zero initial condition
vectors are now as given below:
31
Output of 4th order Realization
10
Amplitude
0
-10
0 5 10 15 20 25 30 35 40
Output of Cascade Realization
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Difference Signal
10
Amplitude
-10
0 5 10 15 20 25 30 35 40
Time index n
The relation between y[n] and y2[n] in this case is – They are not the same
Q2.26 The modified Program P2_6 with the two 2nd-order systems in reverse order and
with zero initial conditions is displayed below :
% Program Q2_26
% Cascade Realization
clf;
x = [1 zeros(1,40)]; % Generate the input
n = 0:40;
% Coefficients of 4th order system
den = [1 1.6 2.28 1.325 0.68];
num = [0.06 -0.19 0.27 -0.26 0.12];
% Compute the output of 4th order system
y = filter(num,den,x);
% Coefficients of the two 2nd order systems
num1 = [0.3 -0.2 0.4];den1 = [1 0.9 0.8];
num2 = [0.2 -0.5 0.3];den2 = [1 0.7 0.85];
% Output y1[n] of the first stage in the cascade
y1 = filter(num2,den2,x);
% Output y2[n] of the second stage in the cascade
y2 = filter(num1,den1,y1);
% Difference between y[n] and y2[n]
d = y - y2;
% Plot output and difference signals
subplot(3,1,1);
stem(n,y);
32
ylabel('Amplitude');
The sequences generated by running the modified program are sketched below :
-1
0 5 10 15 20 25 30 35 40
Output of Cascade Realization
1
Amplitude
-1
0 5 10 15 20 25 30 35 40
-15 Difference Signal
10
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Time index n
The relation between y[n] and y2[n] in this case is – they are not the same
Q2.27 The sequences generated by running the modified Program P2_6 with the two 2nd-
order systems in reverse order and with non-zero initial conditions are displayed
below:
33
Output of 4th order Realization
10
Amplitude
0
-10
0 5 10 15 20 25 30 35 40
Output of Cascade Realization
5
Amplitude
-5
0 5 10 15 20 25 30 35 40
Difference Signal
10
Amplitude
-10
0 5 10 15 20 25 30 35 40
Time index n
The relation between y[n] and y2[n] in this case is – they are not the same
Q2.28 The sequences y[n] and y1[n] generated by running Program P2_7 are shown
below:
34
Output Obtained by Convolution
20
Amplitude 10
-10
-20
0 2 4 6 8 10 12 14
Time index n
Output Generated by Filtering
20
10
Amplitude
-10
-20
0 2 4 6 8 10 12 14
Time index n
The difference between y[n] and y1[n] is - They are the SAME.
The reason for using x1[n] as the input, obtained by zero-padding x[n], for
generating y1[n] is - conv shows a more complete signal count and filter depends on x so is
limited by x
Q2.29 The modified Program P2_7 to develop the convolution of a length-15 sequence
h[n] with a length-10 sequence x[n]is indicated below:
% Program P2_7
clf;
h = [3 2 1 -2 1 0 -4 0 3 2 1 1 1 4 5]; % impulse response
x = [1 -2 3 -4 3 2 1 8 0 1]; % input sequence
y = conv(h,x);
n = 0:23;
subplot(2,1,1);
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Obtained by Convolution'); grid;
x1 = [x zeros(1,14)];
y1 = filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Time index n'); ylabel('Amplitude');
35
title('Output Generated by Filtering'); grid;
The sequences y[n] and y1[n] generated by running modified Program P2_7
are shown below:
20
-20
0 5 10 15 20 25
Time index n
Output Generated by Filtering
40
Amplitude
20
-20
0 5 10 15 20 25
Time index n
36
stem(n,h)
xlabel('Time index n'); ylabel('Amplitude');
% Print the value of abs(h(k))
disp('Value =');disp(abs(h(k)));
Q2.30 The purpose of the for command is - repeat statements a specific number of times.
The purpose of the end command is to mark the end of the block of
statements that is to be repeated.
Q2.31 The purpose of the break command is - Terminate execution of WHILE or FOR
loop.
1
Amplitude
-1
-2
-3
0 20 40 60 80 100 120 140 160 180 200
Time index n
From this value and the shape of the impulse response we can conclude that the system is
- stable
37
By running Program P2_8 with a larger value of N the new value of | h(K)| is -
N=20 new value of |h(K)| is 0.8214
Q2.33 The modified Program P2_8 to simulate the discrete-time system of Q2.33 is given
below:
%Q2.33 % Program P2_8 y[n] = x[n] − 4 x[n − 1] + 3x[n − 2] + 1.7 y[n −
1] − y[n − 2].
% Stability test based on the sum of the absolute
% values of the impulse response samples
clf;
num = [1 -4 3]; den = [1 -1.7 1];
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)));
The impulse response generated by running the modified Program P2_8 is shown
below:
38
2.5
1.5
0.5
Amplitude
-0.5
-1
-1.5
-2
-2.5
0 20 40 60 80 100 120 140 160 180 200
Time index n
From this value and the shape of the impulse response we can conclude that the system is
- stable
39
% Plot the output sequences
subplot(2,1,1);
plot(n,y1);axis([0 300 -2 2]);
ylabel('Amplitude');
title('Output of System #1'); grid;
subplot(2,1,2);
plot(n,y2);axis([0 300 -2 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Output of System #2'); grid;
Q2.34 The output sequences generated by this program are shown below :
Output of System #1
2
1
Amplitude
-1
-2
0 50 100 150 200 250 300
Output of System #2
2
1
Amplitude
-1
-2
0 50 100 150 200 250 300
Time index n
The filter with better characteristics for the of the high frequency component
of the input signal x[n] is - System#2
Q2.35 The required modifications to Program P2_9 by changing the input sequence to a
swept sinusoidal sequence (length 301, minimum frequency 0, and maximum
frequency 0.5) are listed below along with the output sequences generated by the
modified program:
%Q2.34
% Program P2_9
%y[n] = 0.5 x[n] + 0.27 x[n − 1] + 0.77 x[n − 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].
40
% Plot the output sequences
subplot(2,1,1);
plot(n,y1);axis([0 300 -2 2]);
ylabel('Amplitude');
title('Output of System #1'); grid;
subplot(2,1,2);
plot(n,y2);axis([0 300 -2 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Output of System #2'); grid;
Output of System #1
2
1
Amplitude
-1
-2
0 50 100 150 200 250 300
Output of System #2
2
1
Amplitude
-1
-2
0 50 100 150 200 250 300
Time index n
The filter with better characteristics for the suppression of the high frequency component of
the input signal x[n] is - System#2
Date: Signature:
41