Documente Academic
Documente Profesional
Documente Cultură
2.1
Project 2.1
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;
Answers:
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.
Signal #1 2 1 0 -1 -2 2 1 0 -1 -2 Signal #2
Amplitude
100
Amplitude
100
2 1 0 -1 -2
2 1 0 -1 -2
Amplitude
50 Time index n
100
Amplitude
50 Time index n
100
The component of the input x[n] suppressed by the discrete-time system simulated by this program is s2. The system is a lowpass filter. y(n) = 0.5[x(n) + x(n-1)],
Q2.2
Program P2_1 is modified to simulate the LTI system y[n] = 0.5(x[n] x[n1]) and process the input x[n] = s1[n]+s2[n] resulting in the output sequence shown below:
Signal #1 2 1 0 -1 -2 2 1 0 -1 -2
Signal #2
Amplitude
100
Amplitude
100
2 1 0 -1 -2
2 1 0 -1 -2
Amplitude
50 Time index n
100
Amplitude
50 Time index n
100
By
num=[1 -1];
The effect of changing the LTI system on the input is s1 is suppressed. The system is a highpass filter. 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 :
When change M (M = 8)
Signal #1 2 1 0 -1 -2 2 1 0 -1 -2
Signal #2
Amplitude
100
Amplitude
100
2 1 0 -1 -2
2 1 0 -1 -2
Amplitude
50 Time index n
100
Amplitude
50 Time index n
100
From these plots we make the following observations The system is a lowpass filter. s2 is still nearly eliminated in the output signal. s1 is still passed, but at an attenuated level. When change fequency ( s1: f=3 , s2 : f=0.47 )
Signal #1 2 1 0 -1 -2 2 1 0 -1 -2 Signal #2
Amplitude
100
Amplitude
100
2 1 0 -1 -2
2 1 0 -1 -2
Amplitude
50 Time index n
100
Amplitude
50 Time index n
100
Both s1 and s2 are high frequency in this case, and they are both substantially attenuated in the output. When change fequency ( s1: f=0.05 , s2 : f=0.1)
Signal #1 2 1 0 -1 -2 2 1 0 -1 -2
Signal #2
Amplitude
100
Amplitude
100
2 1 0 -1 -2
2 1 0 -1 -2
Amplitude
50 Time index n
100
Amplitude
50 Time index n
100
From these plots we make the following observations here s1 and s2 are both low pass and they are both visible in the filter output. Q2.4 The required modifications to Program P2_1 by changing the input sequence to a sweptfrequency sinusoidal signal (length 101, minimum frequency 0, and a maximum frequency 0.5) as the input signal (see Program P1_7) are listed below:
close all; n = 0:100; a=pi/2/100; b=0; arg = 2*a*n.*n x = cos(arg); % 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,1,1); plot(n, x); +b*n;
axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Input Signal '); subplot(2,1,2); plot(n, y); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Output Signal'); axis;
Amplitude
10
20
30
70
80
90
100
2 1 0 -1 -2
Amplitude
10
20
30
40 50 60 Time index n
70
80
90
100
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: The system seen here is a lowpass filter. Seeing that in the input signal, on the left handside, it is signal which has low frequency. On the right handside, it is high frequency signal. The lowpass filter attenuates at high frequency signal, so at the output, the amplitude on the right in small. Project 2.2 (Optional) A Simple Nonlinear Discrete-Time System
n = 0:200; x = cos(2*pi*0.05*n); % Compute the output signal x1 = [x 0 0]; x2 = [0 x 0]; x3 = [0 0 x]; 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'); % x1[n] = x[n+1] % x2[n] = x[n] % x3[n] = x[n-1]
Q2.5
The sinusoidal signals with the following frequencies as the input signals were used to generate the output signals: f = 0.05 The output signals generated for each of the above input signals are displayed below:
Input Signal 1 0.5 0 -0.5 -1
Amplitude
20
40
60
140
160
180
200
Amplitude
0.5
20
40
60
140
160
180
200
The output signals depend on the frequencies of the input signal according to the following rules: x(n)=cos(wn), x(n+1)=cos(wn+w), x(n-1)=cos(wn-w) x(n+1).x(n-1)=1/2cos(2wn) + 1/2cos(2w)=cos2(wn) - sin2(w) [x(n)]2 = cos2(wn) [x(n)]2 - x(n+1).x(n-1) = cos2(wn) [ 1/2cos(2wn) + 1/2cos(2w) ] = sin2(w) y= sin2(w)
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
o 2 * pi * 0.05
k 0.2
Input Signal 1.5 1 0.5 0 -0.5
Amplitude
20
40
60
140
160
180
200
Amplitude
20
40
60
140
160
180
200
The dependence of the output signal yt[n] on the DC value K can be explained x(n)=cos(wn) + k; x2(n)= cos2(wn) +2k.cos(wn) + k2. x(n+1).x(n-1)=cos2(wn) - sin2(wn) + k.[cos(wn + w) + cos(wn-w)] +k2 y(n)= x2(n) - x(n+1).x(n-1) = sin2(w) + 2K[1-cos(w)].cos(wn) when adding K to the input, the ouput has a ripple with the amplitude 2K[1-cos(w)] and the frequency w.
Project 2.3
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:
Output Due to Weighted Input: a x 1[n] + b x 2[n] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
0 x 10
-15
10
15
20
25
30
35
40
Difference Signal
Amplitude
0 -5
10
15
20 Time index n
25
30
35
40
The two sequences are nearly same. Because the differenct value is so tiny. 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;
10
Amplitude
10 0 -10 0 5 10 15 20 25 30 35 40
Amplitude
10 0 -10 0
-15
10
15
20
25
30
35
40
Amplitude
2 0 -2
x 10
Difference Signal
10
15
20 Time index n
25
30
35
40
Amplitude
Amplitude
100 0 -100 0
-14
10
15
20
25
30
35
40
Amplitude
2 0
x 10
Difference Signal
-2 0
10
15
20 Time index n
25
30
35
40
Amplitude
100 0 -100 0 5 10 15 20 25 30 35 40
Amplitude
100 0 -100 0
-14
10
15
20
25
30
35
40
Amplitude
2 0
x 10
Difference Signal
-2 0
10
15
20 Time index n
25
30
35
40
11
Based on these plots we can conclude that the system with different weights is also linear. Q2.9 Program 2_3 was run with the following non-zero initial conditions : ic = [2 1]
Amplitude
0 -20
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 5
Amplitude
0 -5
10
15
20 Time index n
25
30
35
40
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: With a = 2 , b = 2, f1 = 0.1 , f2 = 0.2
12
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 10
Amplitude
0 -10
10
15
20 Time index n
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 10
Amplitude
0 -10
10
15
20 Time index n
25
30
35
40
13
Amplitude
0 -10
10
15
20
25
30
35
40
Amplitude
0 -20
10
15
20
25
30
35
40
Difference Signal 10
Amplitude
0 -10
10
15
20 Time index n
25
30
35
40
Based on these plots we can conclude that the system with nonzero initial conditions and different weights is nonlinear. Q2.11 Program P2_3 was modified to simulate the system: y[n] = x[n]x[n1] The output sequences y1[n], y2[n],and y[n]of the above system generated by running the modified program are shown below: Code :
clf; clc; n = 0:40; a = 2;b = -3; x1 = cos(2*pi*0.1*n); x2 = cos(2*pi*0.4*n); x1t=[0 0 x1]; x1c=[0 x1 0]; x2t=[0 0 x2]; x2c=[0 x2 0]; x = a*x1 + b*x2; xt=[0 0 x];
14
xc=[0 x 0]; num = [2.2403 2.4908 2.2403]; den = [1 -0.4 0.75]; ic = [0 0]; % Set zero initial conditions y1 = x1c.*x1t; % Compute the output y1[n] y2 = x2c.*x2t; % Compute the output y2[n] y = xc.*xt; % 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(1:length(n))); 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(1:length(n))); ylabel('Amplitude'); title('Weighted Output: a \cdot y_{1}[n] + b \cdot y_{2}[n]'); subplot(3,1,3) stem(n,d(1:length(n))); xlabel('Time index n');ylabel('Amplitude'); title('Difference Signal');
Figure:
15
Amplitude
0 -5
10
15
20
25
30
35
40
Amplitude
0 -5
10
15
20
25
30
35
40
Difference Signal 10
Amplitude
0 -10
10
15
20 Time index n
25
30
35
40
Comparing y[n] with yt[n] we conclude that the two sequences are different. This system is nonlinear. Project 2.4 Time-invariant and Time-varying Systems
16
d = y - yd(1+D:41+D); % Plot the outputs subplot(3,1,1) 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'); 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] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 1
Amplitude
0 -1
10
15
20 Time index n
25
30
35
40
These two sequences are related as follows : yd(n) = y (n-10) The system is time-invariant.
17
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 =5, 15, 20 are shown below :
D=5
Output y[n] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 1
Amplitude
0 -1
10
15
20 Time index n
25
30
35
40
D=15
Output y[n] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 1
Amplitude
0 -1
10
15
20 Time index n
25
30
35
40
D=20
18
Output y[n] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 1
Amplitude
0 -1
10
15
20 Time index n
25
30
35
40
In each case, these two sequences are related as follows yd = y(n-k).The system is Time-invariant 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 :
f1 = 0.2, f2 = 0.5
Output y[n] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 1
Amplitude
0 -1
10
15
20 Time index n
25
30
35
40
The system is Time-invariant. 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 : ic = [1 2];
19
Output y[n] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 5
Amplitude
0 -5
10
15
20 Time index n
25
30
35
40
yd is different from y. The system is Time-varying. 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 0.2 and 0.5 . are shown below
Output y[n] 50
Amplitude
0 -50
10
15
20
25
30
35
40
Amplitude
0 -50
10
15
20
25
30
35
40
Difference Signal 5
Amplitude
0 -5
10
15
20 Time index n
25
30
35
40
Q2.17
20
is given below:
% 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) 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'); title('Difference Signal'); grid;
21
The output sequences y[n] and yd[n-10] generated by running modified Program P2_4 are shown below
Output y[n] 200
Amplitude
0 -200
10
15
20
25
30
35
40
Amplitude
0 -200
10
15
20
25
30
35
40
Amplitude
0 -100
10
15
20 Time index n
25
30
35
40
2.2
Project 2.5
Answers:
22
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:
Impulse Response 4
Amplitude
-1
-2
-3 0
10
15
20 Time index n
25
30
35
40
Q2.20
The required modifications to Program P2_5 to generate the impulse response of the following causal LTI system: 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:
23
The first 45 samples of the impulse response of this discrete-time system generated by running the modified is given below:
Impulse Response 2
1.5
Amplitude
0.5
-0.5
-1
-1.5 0
10
15
20 25 Time index n
30
35
40
45
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:
% Compute the impulse response y using the filter command clf; clc; n=40; x=[1 zeros(1,n-1)]; num = [0.9 -0.45 0.35 0.002]; den = [1 0.71 -0.46 -0.62]; 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:
24
Impulse Response 2
1.5
Amplitude
0.5
-0.5
-1
-1.5 0
10
15
20 Time index n
25
30
35
40
Comparing the above response with that obtained in Question Q2.20 we conclude that they are the same. Q2.22
clf; N = 40; n = 0:N-1; num = [2.2403 den = [1.0 2.4908 -0.4 2.2403]; 0.75];
The MATLAB program to generate and plot the step response of a causal LTI system is indicated below:
% 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:
25
Step Response 8 7 6 5
Amplitude
4 3 2 1 0
10
15
20 Time index n
25
30
35
40
Project 2.6
26
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;
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:
Amplitude
0 -1
10
15
20
25
30
35
40
Amplitude
0 -1
0 x 10
-14
10
15
20
25
30
35
40
Difference Signal
Amplitude
27
The relation between y[n] and y2[n] is : when connect 2 2nd order systems in cascade we have 4th order system. Q2.24 The sequences generated by running Program P2_6 with the input changed to a sinusoidal sequence are as follows: n = 0:40; x=sin(2*pi*0.1*n);
Amplitude
0 -0.5
10
15
20
25
30
35
40
Amplitude
0 -0.5
0 x 10
-15
10
15
20
25
30
35
40
Difference Signal
Amplitude
0 -2
10
15
20 Time index n
25
30
35
40
The relation between y[n] and y2[n] in this case is similar to above case.
Q2.25
The sequences generated by running Program P2_6 with non-zero initial condition vectors are now as given below:
Code :
% Cascade Realization clf; clc; 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];
28
ic=[1 1 0 1]; % Compute the output of 4th order system y = filter(num,den,x,ic); % Coefficients of the two 2nd order systems num1 = [0.3 -0.2 0.4];den1 = [1 0.9 0.8];ic1=[0.5 0.7]; num2 = [0.2 -0.5 0.3];den2 = [1 0.7 0.85];ic2=[1 0.2]; % Output y1[n] of the first stage in the cascade y1 = filter(num1,den1,x,ic1); % Output y2[n] of the second stage in the cascade y2 = filter(num2,den2,y1,ic2); % 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;
Figure :
29
Amplitude
0 -5
10
15
20
25
30
35
40
Amplitude
0 -2
10
15
20
25
30
35
40
Difference Signal 5
Amplitude
0 -5
10
15
20 Time index n
25
30
35
40
Q2.26
The modified Program P2_6 with the two 2nd-order systems in reverse order and with zero initial conditions is displayed below:
%2nd-order system in reverse % 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
30
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:
Output of 4th order Realization 1
Amplitude
0 -1
10
15
20
25
30
35
40
Amplitude
0 -1
0 x 10
-15
10
15
20
25
30
35
40
Difference Signal
Amplitude
0 -5
10
15
20 Time index n
25
30
35
40
31
The relation between y[n] and y2[n] in this case is the same. When we change the order of a cascade system, it does not change its properties. 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:
Output of 4th order Realization 2
Amplitude
0 -2
10
15
20
25
30
35
40
Amplitude
0 -1
10
15
20
25
30
35
40
Difference Signal 2
Amplitude
0 -2
10
15
20 Time index n
25
30
35
40
The relation between y[n] and y2[n] in this case is : they are not the same. Project 2.7 Convolution
32
Answers: Q2.28 The sequences y[n] and y1[n] generated by running Program P2_7 are shown below:
Output Obtained by Convolution 20 10 0 -10 -20
Amplitude
12
14
20 10 0 -10 -20
Amplitude
6 8 Time index n
10
12
14
The difference between y[n] and y1[n] is its input but the output are the same. The reason for using x1[n] as the input, obtained by zero-padding x[n], for generating y1[n] is : For 2 sequences of length N1 and N2, conv command returns a N1+N2-1 = 15 length sequence. But in filter command, the output has the same length as in the input. So, padding zero to x to make a comparision of y and y1. Q2.29
clf; clc; h = [4 1 1 -2 1 0 -4 0 3 2 4 1 3 2 1 ]; % impulse response x = [2 -2 3 -4 3 2 1 -1 -2 1]; y = conv(h,x); n = 0:23; subplot(2,1,1); % input sequence
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:
33
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'); title('Output Generated by Filtering'); grid;
The sequences y[n] and y1[n] generated by running modified Program P2_7 are shown below:
Output Obtained by Convolution 40
Amplitude
20
-20
20
25
40
Amplitude
20
-20
10 15 Time index n
20
25
Project 2.8
34
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)));
Answers: Q2.30 The purpose of the for command is repeating the statements a specific number of times. The purpose of the end command is to mark the end of a statement.
Q2.31
The purpose of the break command is to terminate execution of WHILE or FOR loop
Q2.32
The discrete-time system of Program P2_8 is : y(n) +1.5y(n-1) + 0.9y(n-2) = x(n) 0.8x(n-1).
35
Amplitude
-1
-2
-3
20
40
60
140
160
180
200
The value of |h(K)| here is |h(k)| = 1.6761e-005 From this value and the shape of the impulse response we can conclude that the system is stable. By running Program P2_8 with a larger value of N the new value of |h(K)| is |h(k)| = 9.1752e-007 From this value we can conclude that the system is stable.
Q2.33
The modified Program P2_8 to simulate the discrete-time system of Q2.33 is given below:
% Stability test based on the sum of the absolute % values of the impulse response samples clf; clc; num = [1 -2]; den = [1 -1 N =200; h = impz(num,den,N+1); parsum = 0; for k = 1:N+1; parsum = parsum + abs(h(k)); 3];
36
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:
x 10
47
Amplitude
-1
-2
-3
-4 0
20
40
60
140
160
180
200
The values of |h(K)| here is |h(k)| = 1.9620e+047. From this value and the shape of the impulse response we can conclude that the system is nonstable. Project 2.9 Illustration of the Filtering Concept
37
x1 = cos(2*pi*10*n/256); x2 = cos(2*pi*100*n/256); x = x1+x2; % Compute the output sequences num1 = [0.5 0.27 0.77]; y1 = filter(num1,1,x); % Output of System #1 den2 = [1 -0.53 0.46]; num2 = [0.45 0.5 0.45]; y2 = filter(num2,den2,x); % Output of System #2 % 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;
Answers: Q2.34 The output sequences generated by this program are shown below:
38
Output of System #1 2 1 0 -1 -2
Amplitude
50
100
200
250
300
2 1 0 -1 -2
Amplitude
50
100
200
250
300
The filter with better characteristics for the suppression of the high frequency component of the input signal x[n] is y2. 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:
clf; clc; n = 0:300; a=pi/2/100; b=0; arg = a*n.*n x = cos(arg); % Compute the output sequences num1 = [0.5 0.27 0.77]; y1 = filter(num1,1,x); % Output of System #1 den2 = [1 -0.53 0.46]; num2 = [0.45 0.5 0.45]; y2 = filter(num2,den2,x); % Output of System #2 % Plot the output sequences +b*n;
39
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;
The filter with better characteristics for the suppression of the high frequency component of the input signal x[n] is y1.
Output of System #1 2 1 0 -1 -2
Amplitude
50
100
200
250
300
2 1 0 -1 -2
Amplitude
50
100
200
250
300
40