Assignment 2b Solutions
Assignment 2b Solutions
2B 3.22 For each function x given below, find a single expression for x (i.e., an expression that does not involve multiple
cases). Group
similar unit-step function terms together in the expression for x.
−t − 3 −3 ≤ t < −2
−2 ≤ t < −1
−1
t 3
−1 ≤ t < 1
(a) x(t) =
1
1≤t <2
−t + 3 2 ≤t <3
0 otherwise;
−1 t < −1
(b) x(t) = t −1 ≤ t < 1
1 t ≥ 1; and
4t + 4 −1 ≤ t < − 21
4t 2 − 21 ≤ t < 21
(c) x(t) =
−4t + 4 12 ≤ t < 1
0 otherwise.
2B Answer (c).
We have
2B Answer (d).
We have
Z ∞
Hx(t) = x(τ)dτ.
t
Consider Hx(t0 ). This quantity depends on x(t) for t0 ≤ t < ∞. Therefore, the system is not memoryless.
2B Answer (g).
We have
Z ∞
Hx(t) = x(τ)δ (t − τ)dτ
−∞
Z ∞
= x(τ)δ (τ − t)dτ
−∞
= x(t).
Consider Hx(t0 ). The quantity Hx(t0 ) depends on x(t) only for t = t0 . Therefore, the system is memoryless.
2B Answer (b).
We are given the system H characterized by the equation
Hx(t) = Even(x)(t).
Now, consider Hx(t0 ) for arbitrary real t0 . This quantity depends on x(t) for t = ±t0 . Since −t0 > t0 for negative
t0 , the system is not causal.
2B Answer (f).
We are given the system H characterized by the equation
Z ∞
Hx(t) = x(τ)u(t − τ)dτ.
−∞
From this equation, we can see that Hx(t0 ) depends on x(t) only for t ≤ t0 . Therefore, the system is causal.
2B 3.26 For each system H given below, determine if H is invertible, and if it is, specify its inverse.
(a) Hx(t) = x(at − b) where a and b are real constants and a 6= 0;
(b) Hx(t) = ex(t) , where x is a real function;
(c) Hx(t) = Even(x)(t) − Odd(x)(t);
(d) Hx(t) = Dx(t), where D denotes the derivative operator; and
(e) Hx(t) = x2 (t).
2B Answer (b).
Let y = Hx. We have
y(t) = ex(t) .
Therefore, y(t) > 0. Taking the natural logarithm of both sides of the above equation, we obtain
ln y(t) = x(t),
or alternatively,
x(t) = ln y(t).
Thus, we have found the inverse system. Therefore, the system is invertible.
2B Answer (e).
Consider the inputs
Therefore, the distinct inputs x1 and x2 both yield the same output. Since distinct inputs yield the same output,
the system is not invertible.
2B Answer (d).
Let y = Hx. Suppose that x is bounded as
|x(t)| ≤ A < ∞.
We have
= e−|t| |x(t)| .
Thus, |y(t)| < ∞. Therefore, a bounded input always yields a bounded output, and the system is BIBO stable.
2B Answer (e).
Consider the bounded input
x(t) = 1.
We have
1 1
Hx(t) = (1) = .
t −1 t −1
As t → 1, |Hx(t)| → ∞. Consequently, Hx is unbounded. Since x is bounded but Hx is unbounded, the system
is not BIBO stable.
2B Answer (b).
The system is time invariant if, for every function x and every real number t0 , the following condition holds:
We have
Since Hx(t − t0 ) = Hx0 (t) does not hold for all x and t0 , the system is not time invariant.
2B Answer (d).
The system is time invariant if, for every function x and every real number t0 , the following condition holds:
By substitution, we have
Z ∞
Hx(t − t0 ) = x(τ)h(t − t0 − τ)dτ.
−∞
Now, we use a change of variable. Let λ = τ − t0 so that τ = λ + t0 and dτ = dλ . Applying the change of
variable yields
Z ∞
Hx0 (t) = x(λ )h(t − [λ + t0 ])dλ
−∞
Z ∞
= x(λ )h(t − λ − t0 )dλ
−∞
Z ∞
= x(λ )h(t − t0 − λ )dλ
−∞
= Hx(t − t0 ).
Since Hx(t − t0 ) = Hx0 (t) holds for all x and t0 , the system is time invariant.
2B Answer (b).
The system is linear if, for all functions x1 and x2 and all complex constants a1 and a2 , the following condition
holds:
Since H(a1 x1 + a2 x2 ) = a1 Hx1 + a2 Hx2 does not hold for all x1 , x2 , a1 , and a2 , the system is not linear.
2B Answer (e).
The system is linear if, for all functions x1 and x2 and all complex constants a1 and a2 , the following condition
holds:
and
Z ∞
H [a1 x1 + a2 x2 ] (t) = [a1 x1 (τ) + a2 x2 (τ)] h(t − τ)dτ
−∞
Z ∞ Z ∞
= a1 x1 (τ)h(t − τ)dτ + a2 x2 (τ)h(t − τ)dτ
−∞ −∞
Z ∞ Z ∞
= a1 x1 (τ)h(t − τ)dτ + a2 x2 (τ)h(t − τ)dτ.
−∞ −∞
Comparing the preceding two equations, we conclude that H(a1 x1 + a2 x2 ) = a1 Hx1 + a2 Hx2 . Thus, the system
is linear.
2B 3.33 For each system H and the functions {xk } given below, determine if each of the xk is an eigenfunction of H,
and if it is, also state the corresponding eigenvalue.
(a) Hx(t) = x2 (t), x1 (t) = a, x2 (t) = e−at , and x3 (t) = cost, where a is a complex constant;
2
(b) Hx(t) = Dx(t), x1 (t) = eat , x2 (t) = eat , and x3 (t) = 42, where D denotes the derivative operator and a is a
real constant;R
t
(c) Hx(t) = t−1 x(τ)dτ, x1 (t) = eat , x2 (t) = t, and x3 (t) = sint, where a is a nonzero complex constant; and
(d) Hx(t) = |x(t)|, x1 (t) = a, x2 (t) = t, x3 (t) = t 2 , where a is a strictly positive real constant.
2B Answer (b).
We are given
2
Hx(t) = Dx(t), x1 (t) = eat , x2 (t) = eat , and x3 (t) = 42,
2B D.3 Let TC , TF , and TK denote the temperature measured in units of Celsius, Fahrenheit, and Kelvin, respectively.
Then, these quantities are related by
TF = 95 TC + 32 and
TK = TC + 273.15.
Write a program that generates a temperature conversion table. The first column of the table should contain the
temperature in Celsius. The second and third columns should contain the corresponding temperatures in units
of Fahrenheit and Kelvin, respectively. The table should have entries for temperatures in Celsius from −50 to
50 in steps of 10.
2B Answer.
The temperature conversion table can be produced with the following code:
2B D.4 (a) Write a function called unitstep that takes a single real argument t and returns u(t), where
(
1 t ≥0
u(t) =
0 otherwise.
(b) Modify the function from part (a) so that it takes a single vector argument t = [ t1 t2 ... tn ]T (where n ≥ 1 and
t1 ,t2 , . . . ,tn are real) and returns the vector [ u(t1 ) u(t2 ) ... u(tn ) ]T . Your solution must employ a looping construct
(e.g., a for loop).
(c) With some ingenuity, part (b) of this exercise can be solved using only two lines of code, without the need
for any looping construct. Find such a solution. [Hint: In MATLAB, to what value does an expression like
“[-2 -1 0 1 2] >= 0” evaluate?]
2B Answer (a).
This exercise can be solved with code such as that shown below.
if t >= 0
x = 1;
else
x = 0;
end
end
2B Answer (b).
This exercise can be solved with code such as that shown below.
% Create a vector of zeros with the same size as the input vector.
x = zeros ( size (t ));
% Correctly set the elements in the result vector that should be one.
m = length (x );
for i = 1 : m
if t(i) >= 0
x(i) = 1;
end
end
end
2B Answer (c).
This exercise can be solved with code such as that shown below.
x = (t >= 0);
end