LABEX1
LABEX1
Section: 23161312
Laboratory Exercise 1
DISCRETE-TIME SIGNALS: TIME-DOMAIN REPRESENTATION
% Program P1_1
clf;
n = -10:20;
u = [zeros(1,10) 1 zeros(1,20)];
stem(n,u);
axis([-10 20 0 1.2]);
Answers:
Q1.1 The unit sample sequence u[n] generated by running Program P1_1 is shown
below:
1
Unit Sample Sequence
1.2
0.8
Amplitude
0.6
0.4
0.2
0
-10 -5 0 5 10 15 20
Time index n
Q1.3 The modified Program P1_1 to generate a delayed unit sample sequence ud[n]
with a delay of 11 samples is given below along with the sequence generated by
running this program.
clf;
n = -10:20;
u = [zeros(1,21) 1 zeros(1,9)];
stem(n,u);
axis([-10 20 0 1.2]);
2
Unit Sample Sequence
1.2
0.8
Amplitude
0.6
0.4
0.2
0
-10 -5 0 5 10 15 20
Time index n
Q1.4 The modified Program P1_1 to generate a unit step sequence s[n] is given below
along with the sequence generated by running this program .
clf;
n=-10:20;
u=[zeros(1,10) ones(1,21)];
stem(n,u);
axis([-10 20 0 1.5])
3
Unit Sample Sequence
1.5
1
Amptitude
0.5
0
-10 -5 0 5 10 15 20
Time index n
Q1.5 The modified Program P1_1 to generate a unit step sequence sd[n] with an ad-
vance of 7 samples is given below along with the sequence generated by running
this program.
clf;
n=-10:20;
u=[zeros(1,17) ones(1,14)];
stem(n,u);
axis([-10 20 0 1.5])
4
Unit Sample Sequence
1.5
1
Amptitude
0.5
0
-10 -5 0 5 10 15 20
Time index n
P1_2
% Program P1_2
clf;
c = -(1/12)+(pi/6)*i;
K = 2;
n = 0:40;
x = K*exp(c*n);
subplot(2,1,1);
stem(n,real(x));
title('Real part');
subplot(2,1,2);
5
stem(n,imag(x));
title('Imaginary part');
P1_3
clf;
x = K*a.^n;
stem(n,x);
Answers:
Real part
2
1
Amplitude
-1
-2
0 5 10 15 20 25 30 35 40
Time index n
Imaginary part
2
Amplitude
-1
0 5 10 15 20 25 30 35 40
Time index n
Q1.7 The parameter controlling the rate of growth or decay of this sequence is -c
6
Q1.8 The result of changing the parameter c to (1/12)+(pi/6)*i is –
Real part
40
20
Amplitude
-20
0 5 10 15 20 25 30 35 40
Time index n
Imaginary part
50
Amplitude
-50
0 5 10 15 20 25 30 35 40
Time index n
Q1.10 The purpose of the command subplot is - Create axes in tiled positions
7
120
100
80
Amplitude
60
40
20
0
0 5 10 15 20 25 30 35
Time index n
Q1.12 The parameter controlling the rate of growth or decay of this sequence is -a
Q1.14 The sequence generated by running Program P1_3 with the parameter a
changed to 0.9 and the parameter K changed to 20 is shown below:
20
18
16
14
12
Amplitude
10
0
0 5 10 15 20 25 30 35
Time index n
8
It is controlled by the following MATLAB command line : n = 0:35
% Program P1_4
n = 0:40;
f = 0.1;
phase = 0;
A = 1.5;
x = A*cos(arg);
axis([0 40 -2 2]);
grid;
title('Sinusoidal Sequence');
ylabel('Amplitude');
axis;
Answers:
Q1.17 The sinusoidal sequence generated by running Program P1_4 is displayed below .
9
Sinusoidal Sequence
2
1.5
0.5
Amplitude
-0.5
-1
-1.5
-2
0 5 10 15 20 25 30 35 40
Time index n
A sequence with new frequency _____ can be generated by the following command
line:
f = 0.5 Hz
A sequence with new length _____ can be generated by the following command
line: n=0:99
10
Q1.21 The purpose of axis command is - Control axis scaling and appearance
Q1.22 The modified Program P1_4 to generate a sinusoidal sequence of frequency 0.9 is
given below along with the sequence generated by running it .
n = 0:40;
f = 0.9;
phase = 0;
A = 1.5;
x = A*cos(arg);
clf;
stem(n,x);
axis([0 40 -2 2]);
grid;
title('Sinusoidal Sequence');
axis;
11
A comparison of this new sequence with the one generated in Question Q1.17
shows - The X function in Q1.17 and Q1.22 has the same graph
12
A comparison of this new sequence with the one generated in Question Q1.17
shows - The X function in Q1.17 and Q1.22 with frequency 1.1Hz has the same graph
Q1.23 The sinusoidal sequence of length 50, frequency 0.08, amplitude 2.5, and phase
shift of 90 degrees generated by modifying Program P1_4 is displayed below .
13
The period of this sequence is - T = 1/f = 12.5s
Q1.24 By replacing the stem command in Program P1_4 with the plot command, the
plot obtained is as shown below:
14
The difference between the new plot and the one generated in Question Q1.17 is -
That Q1.24 is a continuous graph, Q1.17 is a discrete graph
Q1.25 By replacing the stem command in Program P1_4 with the stairs command the
plot obtained is as shown below:
15
The difference between the new plot and those generated in Questions Q1.17 and
Q1.24 is - That Q1.24 is a stairs graph, Q1.17 is a discrete graph
Answers:
16
Q1.26 The MATLAB program to generate and display a random signal of length 100 with
elements uniformly distributed in the interval [–2, 2] is given below along with the
plot of the random sequence generated by running the program :
n = 0:99;
A = 2;
>> rand('state',sum(100*clock));
>> x = 2*A*(rand(1,length(n))-0.5);
>> clf;
stem(n,x);
grid;
ylabel('Amplitude');
axis;
1.5
0.5
Amplitude
-0.5
-1
-1.5
-2
-2.5
0 10 20 30 40 50 60 70 80 90 100
Time index n
17
Q1.27 The MATLAB program to generate and display a Gaussian random signal of length
75 with elements normally distributed with zero mean and a variance of 3 is given
below along with the plot of the random sequence generated by running the
program: % Program Q1_27
n = 0:74;
xmean = 0;
xstd = sqrt(3);
randn('state',sum(100*clock));
x = xstd*randn(1,length(n)) + xmean;
clf;
stem(n,x);
xmax = max(abs(x));
Ylim = round(2*(xmax+0.5))/2;
grid;
ylabel('Amplitude');
axis;
18
Gaussian Random Sequence
5
1
Amplitude
-1
-2
-3
-4
-5
0 10 20 30 40 50 60 70
Time index n
Q1.28 The MATLAB program to generate and display five sample sequences of a random
sinusoidal signal of length 31
where the amplitude A and the phase are statistically independent random
variables with uniform probability distribution in the range 0 A 4 for the
amplitude and in the range 0 for the phase is given below. Also shown
are five sample sequences generated by running this program five different times .
n = 0:30;
f = 0.1;
Amax = 4;
phimax = 2*pi;
A = Amax*rand;
19
phi = phimax*rand;
x = A*cos(arg);
clf;
stem(n,x);
Ylim = round(2*(Amax+0.5))/2;
grid;
ylabel('Amplitude');
axis;
1
Amplitude
-1
-2
-3
-4
0 5 10 15 20 25 30
Time index n
20
A copy of Program P1_5 is given below.
clf;
R = 51;
m = 0:R-1;
subplot(2,1,1);
plot(m,d','r-',m,s,'g--',m,x,'b-.');
y = (x1 + x2 + x3)/3;
subplot(2,1,2);
plot(m,y(2:R+1),'r-',m,s,'g--');
Answers:
21
Q1.29 The signals generated by running Program P1_5 are displayed below :
d[n]
6
s[n]
x[n]
Amplitude
4
0
0 5 10 15 20 25 30 35 40 45 50
Time index n
8
y[n]
Amplitude 6 s[n]
0
0 5 10 15 20 25 30 35 40 45 50
Time index n
.>
Q1.30 The uncorrupted signal s[n]is - the product of a linear growth with a slowly
decaying real exponential.
The additive noise d[n]is - a random sequence uniformly distributed between -0.4
and +0.4.
Q1.32 The relations between the signals x1, x2, and x3, and the signal x are - all three
signals x1, x2, and x3 are extended versions of x, with one additional sample
appended at the left and one additional sample appended to the right. The signal x1 is
a delayed version of x, shifted one sample to the right with zero padding on the left.
The signal x2 is equal to x, with equal zero padding on both the left and right to
account for the extended length. Finally, x3 is a time advanced version of x, shifted
one sample to the left with zero padding on the right.
22
A copy of Program P1_6 is given below.
% Program P1_6
clf;
n = 0:100;
xH = sin(2*pi*fH*n);
xL = sin(2*pi*fL*n);
y = (1+m*xL).*xH;
stem(n,y);grid;
Answers:
Q1.34 The amplitude modulated signals y[n] generated by running Program P1_6 for
various values of the frequencies of the carrier signal xH[n] and the modulating
signal xL[n], and various values of the modulation index m are shown below:
1.5
0.5
Amplitude
-0.5
-1
-1.5
0 10 20 30 40 50 60 70 80 90 100
Time index n
23
Q1.35 The difference between the arithmetic operators * and .* is - “*” multiplies two
conformable matrices or vectors using matrix multiplication. “.*” takes the pointwise
products of the elements of two matrices or vectors that have the same dimensions.
% Program P1_7
n = 0:100;
a = pi/2/100;
b = 0;
x = cos(arg);
clf;
stem(n, x);
axis([0,100,-1.5,1.5]);
ylabel('Amplitude');
grid; axis;
Answers:
24
Swept-Frequency Sinusoidal Signal
1.5
0.5
Amplitude
-0.5
-1
-1.5
0 10 20 30 40 50 60 70 80 90 100
Time index n
Q1.37 - The minimum occurs
The minimum and maximum frequencies of this signal are
at n=0, where we have 2an+b = 0 rad/sample = 0 Hz/sample. The maximum
occurs at n=100, where we have 2an+b = 200a = 200(0.5)(0.01) =
rad/sample = 0.5 Hz/sample.
Q1.38 The Program 1_7 modified to generate a swept sinusoidal signal with a minimum
frequency of 0.1 and a maximum frequency of 0.3 is given below :
n = 0:100;
a = pi/500;
b = pi/5;
arg = a*n.*n + b*n;
x = cos(arg);
clf;
stem(n, x);
axis([0,100,-1.5,1.5]);
title('Swept-Frequency Sinusoidal Signal');
xlabel('Time index n');
ylabel('Amplitude');
grid; axis;
25
1.3 WORKSPACE INFORMATION
Q1.39 The information displayed in the command window as a result of the who
command is - a listing of the names of the variables defined in the current workspace.
Q1.40 The information displayed in the command window as a result of the whos
command is - a long form listing of the variables defined in the current workspace,
including the variable names, their dimensions (size), the number of bytes of storage
required for each variable, and the datatype of each variable. The total number of bytes
of storage for the entire workspace is also displayed.
Answer:
Q1.41 MATLAB programs to generate the square-wave and the sawtooth wave sequences
of the type shown in Figures 1.1 and 1.2 are given below along with the sequences
generated by running these programs :
n = 0:30;
f = 0.1;
phase = 0;
duty=60;
A = 2.5;
x = A*square(arg,duty);
clf;
stem(n,x);
axis([0 30 -3 3]);
grid;
ylabel('Amplitude');
axis;
26
Square Wave Sequence of Fig. 1.1(a)
3
1
Amplitude
-1
-2
-3
0 5 10 15 20 25 30
Time index n
n = 0:50;
f = 0.05;
phase = 0;
peak = 1;
A = 2.0;
x = A*sawtooth(arg,peak);
clf;
stem(n,x);
axis([0 50 -2 2]);
27
grid;
ylabel('Amplitude');
axis;
1.5
0.5
Amplitude
-0.5
-1
-1.5
-2
0 5 10 15 20 25 30 35 40 45 50
Time index n
Date: Signature:
28