0% found this document useful (0 votes)
222 views

Lab 2

This document summarizes the results of simulations of discrete-time systems using MATLAB. It discusses: 1) Simulating a moving average filter on a sum of two input sinusoidal signals and observing that it suppresses the higher frequency signal. 2) Modifying the simulation to a different LTI system and observing that it acts as a high-pass filter. 3) Running the moving average filter simulation with different filter lengths and input frequencies and observing the effects on the output signals. 4) Further modifying the moving average filter simulation to use a swept frequency input signal and discussing the results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
222 views

Lab 2

This document summarizes the results of simulations of discrete-time systems using MATLAB. It discusses: 1) Simulating a moving average filter on a sum of two input sinusoidal signals and observing that it suppresses the higher frequency signal. 2) Modifying the simulation to a different LTI system and observing that it acts as a high-pass filter. 3) Running the moving average filter simulation with different filter lengths and input frequencies and observing the effects on the output signals. 4) Further modifying the moving average filter simulation to use a swept frequency input signal and discussing the results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 22

Name:

Section:

Laboratory Exercise 2
DISCRETE­TIME SYSTEMS: TIME­DOMAIN REPRESENTATION

2.1 SIMULATION OF DISCRETE-TIME SYSTEMS

Project 2.1 The Moving Average System

A copy of Program P2_1 is given below :

< Insert program code here. Copy from m-file(s) and paste. >

Answers:
% 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 = ones(1,M);
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);
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;

1
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 .  

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

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

The component of the input x[n] suppressed by the discrete-time system


simulated by this program is  – Bộ lọc hạ thông
 
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 :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

2
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

The effect of changing the LTI system on the input is  – bộ lọc thượng thông

Q2.3 Program P2_1 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  ­ 

< Insert MATLAB figure(s)s here. Copy from figure window(s)s and
paste. >

M=5

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

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 :
n=0­100

< Insert program code here. Copy from m-file(s) and paste. >
% Program P2_1
% Simulation of an M-point Moving Average Filter
% Generate the input signal
n = 0:100;
a=pi/200;
b=0;
arg=a*n.*n+b*n;
x = cos(arg);
% Implementation of the moving average filter
M = 2; %the m=2 luon
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);

4
plot(n, y);
axis([0, 100, -2, 2]);
xlabel('Time index n'); ylabel('Amplitude');
title('Signal #2');
axis;

The output signal generated by running this program is plotted below .

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

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 : do là bộ lọc hạ thông nên cho
tín hiệu tần số thấp đi qua, làm cho tín hiệu tần số cao suy giảm

Project 2.2 (Optional) A Simple Nonlinear Discrete-Time System

A copy of Program P2_2 is given below :

< Insert program code here. Copy from m-file(s) and paste. >

Answers:

5
Q2.5 The sinusoidal signals with the following frequencies as the input signals were
used to generate the output signals :

The output signals generated for each of the above input signals are displayed
below:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

The output signals depend on the frequencies of the input signal according to the
following rules:

This observation can be explained mathematically as follows :

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 ­  

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

The dependence of the output signal yt[n] on the DC value K can be explained
as ­

Project 2.3 Linear and Nonlinear Systems

A copy of Program P2_3 is given below :

< Insert program code here. Copy from m-file(s) and paste. >

Answers:

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 :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

The two sequences are ­

The system is ­

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 :

6
< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

Based on these plots we can conclude that the system with different weights is ­

Q2.9 Program 2_3 was run with the following non-zero initial conditions ­

The plots generated are shown below ­

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

Based on these plots we can conclude that the system with nonzero initial
conditions is ­

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 :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

Based on these plots we can conclude that the system with nonzero initial
conditions and different weights is ­

Q2.11 Program P2_3 was modified to simulate the system :

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 :  

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

Comparing  y[n] with yt[n] we conclude that the two sequences are  ­

   This system is ­ 

Project 2.4 Time-invariant and Time-varying Systems

A copy of Program P2_4 is given below :

< Insert program code here. Copy from m-file(s) and paste. >

7
Answers:

Q2.12 The output sequences y[n]  and  yd[n­10] generated by running Program P2_4
are shown below  ­ 

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

These two sequences are related as follows  ­ 

The system is ­

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 ­ 

are shown below  ­ 

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

In each case, these two sequences are related as follows  ­ 

The system is ­

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  ­ 

are shown below  ­ 

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

In each case, these two sequences are related as follows  ­ 

The system is ­

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  ­ 

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

These two sequences are related as follows ­ 

The system is ­

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  ­ 

8
are shown below ­ 

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

In each case, these two sequences are related as follows  ­ 

The system is ­

Q2.17 The modified Program 2_4 simulating the system

y[n] = n x[n] + x[n­1]        

is given below :

< Insert program code here. Copy from m-file(s) and paste. >

The output sequences y[n]  and  yd[n­10]  generated by running modified


Program P2_4 are shown below  ­ 

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

These two sequences are related as follows ­ 

The system is ­

Q2.18 (optional) The modified Program P2_3 to test the linearity of the system of Q2.18 is
shown below:

< Insert program code here. Copy from m-file(s) and paste. >

The outputsy[n]and yt[n] obtained by running the modified program P2_3 are
shown below:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

The two sequences are ­

   The system is ­ 

2.2 LINEAR TIME-INVARIANT DISCRETE-TIME SYSTEMS

Project 2.5 Computation of Impulse Responses of LTI Systems

9
A copy of Program P2_5 is shown below :

< Insert program code here. Copy from m-file(s) and paste. >

Answers:
% Program P2_5
% Compute the impulse response y
clf;
N = 40;
num = [2.2403 2.4908 2.2403];
den = [1 -0.4 0.75];
y = impz(num,den,N);
% Plot the impulse response
stem(y);
xlabel('Time index n'); ylabel('Amplitude');
title('Impulse Response'); grid;

Q2.19 The first 41 samples of the impulse response of the discrete-time system of Project
2.3 generated by running Program P2_5 is given below:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

Impulse Response
4

1
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 :

10
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]
are given below :
< Insert program code here. Copy from m-file(s) and paste. >
% Program P2_5
% Compute the impulse response y
clf;
N = 45;
num = [0.9 -0.45 0.35 0.002];
den = [1 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 :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >
Impulse Response
2

1.5

0.5
Amplitude

-0.5

-1

-1.5
0 5 10 15 20 25 30 35 40 45
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 :

11
< Insert program code here. Copy from m-file(s) and paste. >
% Program P2_5
% Compute the impulse response y
clf;
N = 40;
num = [0.9 -0.45 0.35 0.002];
den = [1 0.71 -0.46 -0.62];
x = [1 zeros(1, N-1)];
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:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >
Impulse Response
2

1.5

0.5
Amplitude

-0.5

-1

-1.5
0 5 10 15 20 25 30 35 40
Time index n

Comparing the above response with that obtained in Question Q2.20 we conclude  ­

Q2.22 The MATLAB program to generate and plot the step response of a causal LTI
system is indicated below :

12
< Insert program code here. Copy from m-file(s) and paste. >
% Program P2_5
% Compute the impulse response y
clf;
N = 40;
num = [0.9 -0.45 0.35 0.002];
den = [1 0.71 -0.46 -0.62];
x = [1 ones(1, N-1)];
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 step response of the LTI system of Project 2.3 are
shown below:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >
Impulse Response
1.4

1.2

0.8
Amplitude

0.6

0.4

0.2

-0.2
0 5 10 15 20 25 30 35 40
Time index n

Project 2.6 Cascade of LTI Systems

A copy of Program P2_6 is given below :

< Insert program code here. Copy from m-file(s) and paste. >

13
Answers:
% Program P2_6
% 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(num1,den1,x);
% Output y2[n] of the second stage in the cascade
y2 = filter(num2,den2,y1);
% Difference between y[n] and y2[n]
d = y - y2;
% 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;

Q2.23 The output sequences  y[n],  y2[n], and the difference signal   d[n]  generated
by running Program P2_6 are indicated below :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

14
Output of 4th order Realization
1
Amplitude
0

-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
-14
x 10 Difference Signal
Amplitude

0.5
0
-0.5

0 5 10 15 20 25 30 35 40
Time index n

   The relation between y[n] and  y2[n] is – hai đồ thị giống nhau với sai số rất nhỏ.

Q2.24 The sequences generated by running Program P2_6 with the input changed to a
sinusoidal sequence are as follows :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

   The relation between y[n] and  y2[n] in this case is ­ 

Q2.25 The sequences generated by running Program P2_6 with non-zero initial condition
vectors are now as given below :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

  The relation between y[n] and  y2[n] in this case is ­ 

Q2.26 The modified Program P2_6 with the two 2nd-order systems in reverse order and
with zero initial conditions is displayed below : 

< Insert program code here. Copy from m-file(s) and paste. >

% Program P2_6

15
% 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);
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;

The sequences generated by running the modified program are sketched below :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

16
Output of 4th order Realization
1

Amplitude
0

-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
x 10 Difference Signal
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  – 2 đồ thị giống nhau, tín
hiệu không đổi khi đổi vị trí.

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:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

  The relation between y[n] and  y2[n] in this case is ­ 

Project 2.7 Convolution

A copy of Program P2_7 is reproduced below :

< Insert program code here. Copy from m-file(s) and paste. >

Answers:
% Program P2_7
clf;
h = [3 2 1 -2 1 0 -4 0 3]; % impulse response, length=9
x = [1 -2 3 -4 3 2 1]; % input sequence, length=7

17
y = conv(h,x);
n = 0:14; %s? 14 ???c nh?p t? length c?a h+x-1=15 nên ch?y t? 0-14
subplot(2,1,1);
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Obtained by Convolution'); grid;
x1 = [x zeros(1,8)]; %?êm thêm 8 con s? 0 là do ?? b?ng v?i chi?u dài
c?a y1
y1 = filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Generated by Filtering'); grid;

Q2.28 The sequences y[n] and y1[n] generated by running Program P2_7 are shown


below:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

Output Obtained by Convolution


20

10
Amplitude

-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 ­ giống nhau.

The reason for using x1[n] as the input, obtained by zero-padding   x[n], for
generating y1[n] is – để hàm conv và hàm filtter trả về tín hiệu có cùng chiều dài.

18
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 :

< Insert program code here. Copy from m-file(s) and paste. >
% Program P2_7
clf;
h = [3 2 1 -2 1 0 -4 0 3 3 2 5 7 8 -1]; % impulse response, length=15
x = [1 -2 3 -4 3 2 1 3 5 -1]; % input sequence, length=10
y = conv(h,x);
n = 0:23; %s? 14 ???c nh?p t? length c?a h+x-1=15 nên ch?y t? 0-14
subplot(2,1,1);
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Obtained by Convolution'); grid;
x1 = [x zeros(1,14)]; %?êm thêm 8 con s? 0 là do ?? b?ng v?i chi?u dài
c?a y1
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 :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

19
Output Obtained by Convolution
100

Amplitude 50

-50
0 5 10 15 20 25
Time index n
Output Generated by Filtering
100
Amplitude

50

-50
0 5 10 15 20 25
Time index n

The difference between y[n] and y1[n] is ­   giống nhau

Project 2.8 Stability of LTI Systems

A copy of Program P2_8 is given below :

< Insert program code here. Copy from m-file(s) and paste. >

Answers:

Q2.30 The purpose of the for command is ­ 

The purpose of the end command is ­

Q2.31 The purpose of the break command is ­

Q2.32 The discrete-time system of Program P2_8 is  ­  

The impulse response generated by running Program P2_8 is shown below :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

20
The value of |h(K)| here is ­  

From this value and the shape of the impulse response we can conclude that the
system is ­ 

By running Program P2_8 with a larger value of N the new value of | h(K)| is ­  

From this value we can conclude that the system is ­  

Q2.33 The modified Program P2_8 to simulate the discrete-time system of Q2.33 is given
below:

< Insert program code here. Copy from m-file(s) and paste. >

The impulse response generated by running the modified Program P2_8 is shown
below:

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

The values of |h(K)| here are ­  

From this value and the shape of the impulse response we can conclude that the
system is ­ 

Project 2.9 Illustration of the Filtering Concept

A copy of Program P2_9 is given below :

< Insert program code here. Copy from m-file(s) and paste. >

Answers:

Q2.34 The output sequences generated by this program are shown below :

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

The filter with better characteristics for the suppression of the high frequency
component of the input signal x[n] is ­ 

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 :

21
< Insert program code here. Copy from m-file(s) and paste. >

< Insert MATLAB figure(s) here. Copy from figure window(s) and
paste. >

The filter with better characteristics for the suppression of the high frequency
component of the input signal x [n] is ­ 

Date: Signature:

22

You might also like