封面动图来自于: SHUTTERSTOCK网站
作业要求链接: 信号与系统2022春季学期第四次作业
§01 参考答案
1.1 求解卷积运算
1.1.1 求解两个信号卷积
Ⅰ.第一小题
求解: 根据 u ( t ) u\left( t \right) u(t)卷积特性: u ( t ) ∗ f ( t ) = ∫ − ∞ t f ( τ ) d τ u\left( t \right) * f\left( t \right) = \int_{ - \infty }^t {f\left( \tau \right)d\tau } u(t)∗f(t)=∫−∞tf(τ)dτ。所以:
f ( t ) = u ( t ) ∗ e − 3 t ⋅ u ( t ) = ∫ 0 t e − 3 τ d τ = − 1 3 e − 3 t ∣ 0 t = 1 3 ( 1 − e − 3 t ) f\left( t \right) = u\left( t \right) * e^{ - 3t} \cdot u\left( t \right) = \int_0^t {e^{ - 3\tau } d\tau } = \left. { { { - 1} \over 3}e^{ - 3t} } \right|_0^t = {1 \over 3}\left( {1 - e^{ - 3t} } \right) f(t)=u(t)∗e−3t⋅u(t)=∫0te−3τdτ=3−1e−3t∣∣∣∣0t=31(1−e−3t)
信号的波形:
▲ 信号f(t)的波形
Ⅱ.第四小题
求解: 根据 δ ( t ) \delta \left( t \right) δ(t)以下两个性质:
- 偶对称: δ ( t ) = δ ( − t ) \delta \left( t \right) = \delta \left( { - t} \right) δ(t)=δ(−t)
- 卷积特性: f ( t ) ∗ δ ( t − t 0 ) = f ( t − t 0 ) f\left( t \right) * \delta \left( {t - t_0 } \right) = f\left( {t - t_0 } \right) f(t)∗δ(t−t0)=f(t−t0)
可以进行如下化简:
f ( t ) = t [ u ( t ) − u ( t − 2 ) ] ∗ δ ( 2 − t ) f\left( t \right) = t\left[ {u\left( t \right) - u\left( {t - 2} \right)} \right] * \delta \left( {2 - t} \right) f(t)=t[u(t)−u(t−2)]∗δ(2−t) = t [ u ( t ) − u ( t − 2 ) ] ∗ δ ( t − 2 ) = t\left[ {u\left( t \right) - u\left( {t - 2} \right)} \right] * \delta \left( {t - 2} \right) =t[u(t)−u(t−2)]∗δ(t−2) = ( t − 2 ) ⋅ [ u ( t − 2 ) − u ( t − 4 ) ] = \left( {t - 2} \right) \cdot \left[ {u\left( {t - 2} \right) - u\left( {t - 4} \right)} \right] =(t−2)⋅[u(t−2)−u(t−4)]
信号的波形:
▲ 信号f(t)的波形
Ⅲ.第七小题
求解: 原来信号可以看成两个信号的卷积: f ( t ) = f 1 ( t ) ∗ f 2 ( t ) f\left( t \right) = f_1 \left( t \right) * f_2 \left( t \right) f(t)=f1(t)∗f2(t):
- f 1 ( t ) = [ ( t + 2 ) u ( t + 2 ) − 2 t ⋅ u ( t ) + ( t − 2 ) ⋅ u ( t − 2 ) ] f_1 \left( t \right) = \left[ {\left( {t + 2} \right)u\left( {t + 2} \right) - 2t \cdot u\left( t \right) + \left( {t - 2} \right) \cdot u\left( {t - 2} \right)} \right] f1(t)=[(t+2)u(t+2)−2t⋅u(t)+(t−2)⋅u(t−2)]
- f 2 ( t ) = [ δ ′ ( t + 2 ) − δ ′ ( t − 2 ) ] f_2 \left( t \right) = \left[ {\delta '\left( {t + 2} \right) - \delta '\left( {t - 2} \right)} \right] f2(t)=[δ′(t+2)−δ′(t−2)]
f 1 ( t ) f_1 \left( t \right) f1(t)可以分解成两端组成:
f 1 ( t ) = ( t + 2 ) ⋅ u ( t + 2 ) − [ ( t + 2 ) + ( t − 2 ) ] ⋅ u ( t ) + ( t − 2 ) ⋅ u ( t − 2 ) f_1 \left( t \right) = \left( {t + 2} \right) \cdot u\left( {t + 2} \right) - \left[ {\left( {t + 2} \right) + \left( {t - 2} \right)} \right] \cdot u\left( t \right) + \left( {t - 2} \right) \cdot u\left( {t - 2} \right) f1(t)=(t+2)⋅u(t+2)−[(t+2)+(t−2)]⋅u(t)+(t−2)⋅u(t−2) = ( t + 2 ) ⋅ [ u ( t + 2 ) − u ( t ) ] − ( t − 2 ) ⋅ [ u ( t ) − u ( t − 2 ) ] = \left( {t + 2} \right) \cdot \left[ {u\left( {t + 2} \right) - u\left( t \right)} \right] - \left( {t - 2} \right) \cdot \left[ {u\left( t \right) - u\left( {t - 2} \right)} \right] =(t+2)⋅[u(t+2)−u(t)]−(t−2)⋅[u(t)−u(t−2)]
它实际上是一个中心位于0点的对称等腰三角形:
▲ f1(t)的波形
它的导数为:
f 1 ′ ( t ) = [ u ( t + 2 ) − u ( t ) ] − [ u ( t ) − u ( t − 2 ) ] f_1 '\left( t \right) = \left[ {u\left( {t + 2} \right) - u\left( t \right)} \right] - \left[ {u\left( t \right) - u\left( {t - 2} \right)} \right] f1′(t)=[u(t+2)−u(t)]−[u(t)−u(t−2)] = u ( t + 2 ) − 2 u ( t ) + u ( t − 2 ) = u\left( {t + 2} \right) - 2u\left( t \right) + u\left( {t - 2} \right) =u(t+2)−2u(t)+u(t−2)
▲ f1'(t)的波形
根据
- δ ′ ( t ) \delta '\left( t \right) δ′(t)的卷积特性: f ( t ) ∗ δ ′ ( t ) = f ′ ( t ) f\left( t \right) * \delta '\left( t \right) = f'\left( t \right) f(t)∗δ′(t)=f′(t),
- 卷积延迟特性: f ( t ) ∗ δ ′ ( t − t 0 ) = f ′ ( t − t 0 ) f\left( t \right) * \delta '\left( {t - t_0 } \right) = f'\left( {t - t_0 } \right) f(t)∗δ′(t−t0)=f′(t−t0)
所以计算 f 1 ( t ) ∗ f 2 ( t ) f_1 \left( t \right) * f_2 \left( t \right) f1(t)∗f2(t)的结果就等于:
f ( t ) = f 1 ′ ( t + 2 ) − f 1 ′ ( t − 2 ) f\left( t \right) = f_1 '\left( {t + 2} \right) - f_1 '\left( {t - 2} \right) f(t)=f1′(t+2)−f1′(t−2) = u ( t + 4 ) − 2 u ( t + 2 ) + 2 u ( t ) − 2 u ( t − 2 ) + u ( t − 4 ) = u\left( {t + 4} \right) - 2u\left( {t + 2} \right) + 2u\left( t \right) - 2u\left( {t - 2} \right) + u\left( {t - 4} \right) =u(t+4)−2u(t+2)+2u(t)−2u(t−2)+u(t−4)
▲ f(t)的波形
1.1.2 图解法求解卷积
求解:
f 1 ( t ) , f 2 ( t ) f_1 \left( t \right),f_2 \left( t \right) f1(t),f2(t)的波形如下图所示:
令 f 1 u ( t ) = f 1 ( t ) ∗ u ( t ) f_{1u} \left( t \right) = f_1 \left( t \right) * u\left( t \right) f1u(t)=f1(t)∗u(t),那么 f 1 u ( t − 2 ) = f 1 ( t ) ∗ u ( t − 2 ) f_{1u} \left( {t - 2} \right) = f_1 \left( t \right) * u\left( {t - 2} \right) f1u(t−2)=f1(t)∗u(t−2)。所以:
f 1 ( t ) ∗ f 2 ( t ) = f 1 ( t ) ∗ [ u ( t ) − u ( t − 2 ) ] = f 1 u ( t ) − f 1 u ( t − 2 ) f_1 \left( t \right) * f_2 \left( t \right) = f_1 \left( t \right) * \left[ {u\left( t \right) - u\left( {t - 2} \right)} \right] = f_{1u} \left( t \right) - f_{1u} \left( {t - 2} \right) f1(t)∗f2(t)=f1(t)∗[u(t)−u(t−2)]=f1u(t)−f1u(t−2)
下面首先计算 f 1 u ( t ) f_{1u} \left( t \right) f1u(t):
f 1 u ( t ) = e − 1 2 t ∗ u ( t ) = ∫ − ∞ t e − τ 2 d τ = − 2 e − t 2 ∣ 0 t = 2 ( 1 − e − t 2 ) f_{1u} \left( t \right) = e^{ - {1 \over 2}t} * u\left( t \right) = \int_{ - \infty }^t {e^{ - {\tau \over 2}} d\tau } = \left. { - 2e^{ - {t \over 2}} } \right|_0^t = 2\left( {1 - e^{ - {t \over 2}} } \right) f1u(t)=e−21t∗u(t)=∫−∞te−2τdτ=−2e−2t∣∣∣0t=2(1−e−2t)
那么: f 1 ( t ) ∗ [ u ( t ) − u ( t − 2 ) ] = 2 ( 1 − e − t 2 ) ⋅ u ( t ) − 2 ( 1 − e − t − 2 2 ) ⋅ u ( t − 2 ) f_1 \left( t \right) * \left[ {u\left( t \right) - u\left( {t - 2} \right)} \right] = 2\left( {1 - e^{ - {t \over 2}} } \right) \cdot u\left( t \right) - 2\left( {1 - e^{ - {
{t - 2} \over 2}} } \right) \cdot u\left( {t - 2} \right) f1(t)∗[u(t)−u(t−2)]=2(1−e−2t)⋅u(t)−2(1−e−2t−2)⋅u(t−2)
1.1.3 使用Python绘制
下面使用Python绘制的 f 1 ( t ) , f 2 ( t ) f_1 \left( t \right),f_2 \left( t \right) f1(t),f2(t)波形:
▲ f1(t),f2(t) 波形
1.1.4 利用卷积求解系统响应
(1)必做题
题中参与卷积的序列都是短的信号,可以使用竖式方法进行手工计算。下面给出使用python进行数值计算的结果,以供大家对照检查。
y [ n ] = [ 0 , 0 , 1 , 4 , 6 n = 0 , 4 , 1 , 0 , 0 ] y\left[ n \right] = \left[ {0,0,1,4,6_{n = 0} ,4,1,0,0} \right] y[n]=[0,0,1,4,6n=0,4,1,0,0]
(2)选做题
y [ n ] = [ 0 , 0 , 1 , 3 , 1 , 1 , 3 n = 0 , 3 , 1 , 1 , 2 , 0 , 0 ] y\left[ n \right] = \left[ {0,0,1,3,1,1,3_{n = 0} ,3,1,1,2,0,0} \right] y[n]=[0,0,1,3,1,1,3n=0,3,1,1,2,0,0]
- 确定n=0点位置:
使用MATLAB的CONV命令进行求解的时候需要注意到对应的序列的原点对应的位置。
计算绘制离散数据卷积python程序核心代码段:
x = [0, 1, 2, 1, 0]
h = [0, 1, 2, 1, 0]
xch = convolve(x, h)
xtime = linspace(-2, len(xch) - 2, \
len(xch), endpoint=False)
printf(xch)
printf(xtime)
plt.stem(xtime, xch, basefmt='C1-')
plt.xlabel('n')
plt.ylabel('x[n]*h[n]')
plt.grid(axis='y')
plt.show()
1.1.5 求解卷积数值
求解: 使用图解方法帮助确定积分上下限,选择 f 1 ( t ) f_1 \left( t \right) f1(t)进行反褶:
(1) 求 f ( 1 ) f\left( 1 \right) f(1)
下面是对应的函数平移和重叠的情况,
f ( 1 ) = ∫ − ∞ ∞ f 1 ( 1 − τ ) ⋅ f 2 ( τ ) d τ f\left( 1 \right) = \int_{ - \infty }^\infty {f_1 \left( {1 - \tau } \right) \cdot f_2 \left( \tau \right)d\tau } f(1)=∫−∞∞f1(1−τ)⋅f2(τ)dτ
卷积结果为:
f ( 1 ) = 2 × 2 2 × 2 = 4 f\left( 1 \right) = {
{2 \times 2} \over 2} \times 2 = 4 f(1)=22×2×2=4
(2) 求 f ( 3 ) f\left( 3 \right) f(3)
下面是对应的函数平移和重叠的情况:
f ( 3 ) = ∫ − ∞ ∞ f 1 ( 3 − τ ) ⋅ f 2 ( τ ) d τ f\left( 3 \right) = \int_{ - \infty }^\infty {f_1 \left( {3 - \tau } \right) \cdot f_2 \left( \tau \right)d\tau } f(3)=∫−∞∞f1(3−τ)⋅f2(τ)dτ
卷积结果为:
f ( 3 ) = 1 + 2 2 × 1 × 2 − 1 × 1 2 = 2 1 2 f\left( 3 \right) = {
{1 + 2} \over 2} \times 1 \times 2 - {
{1 \times 1} \over 2} = 2{1 \over 2} f(3)=21+2×1×2−21×1=221
(5) 求 f ( 5 ) f\left( 5 \right) f(5)
下面是对应的函数平移和重叠的情况:
f ( 5 ) = ∫ − ∞ ∞ f 1 ( 5 − τ ) ⋅ f 2 ( τ ) d τ f\left( 5 \right) = \int_{ - \infty }^\infty {f_1 \left( {5 - \tau } \right) \cdot f_2 \left( \tau \right)d\tau } f(5)=∫−∞∞f1(5−τ)⋅f2(τ)dτ
卷积结果为:
f ( 5 ) = 1 + 2 2 × 1 × ( − 1 ) = − 3 2 f\left( 5 \right) = {
{1 + 2} \over 2} \times 1 \times \left( { - 1} \right) = - {3 \over 2} f(5)=21+2×1×(−1)=−23
1.1.6 ⊙ 绘制卷积信号波形
▲ f1(t)*f2(t)波形
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# DRAW2.PY -- by Dr. ZhuoQing 2020-03-29
#
# Note:
#============================================================
from headm import *
f1 = linspace(0, 2, 200, endpoint=False)
f2 = concatenate((linspace(2, 2, 400, endpoint=False),\
linspace(-1, -1, 200)), axis=0)
fconv = convolve(f1, f2) * 0.01
tdata = linspace(-2, 6, len(fconv))
plt.plot(tdata, fconv)
plt.grid(True)
plt.xlabel('t')
plt.ylabel('f1*f2')
plt.show()
#------------------------------------------------------------
# END OF FILE : DRAW2.PY
#============================================================
1.1.7 求解卷积信号
求解:
使用图解方法辅助求解 x ( t ) , h ( t ) x\left( t \right),h\left( t \right) x(t),h(t)的卷积。
(1) t ≤ 3 t \le 3 t≤3
x ( t ) ∗ h ( t ) = 0 x\left( t \right) * h\left( t \right) = 0 x(t)∗h(t)=0
(2) 当 3 < t < 5 3 < t < 5 3<t<5
x ( t ) ∗ h ( t ) = ∫ 0 t − 3 e − 3 τ d τ = − 1 3 e − 3 τ ∣ 0 t − 3 = 1 3 ( 1 − e − 3 ( t − 3 ) ) x\left( t \right) * h\left( t \right) = \int_0^{t - 3} {e^{ - 3\tau } d\tau } = { { - 1} \over 3}\left. {e^{ - 3\tau } } \right|_0^{t - 3} \, = {1 \over 3}\left( {1 - e^{ - 3\left( {t - 3} \right)} } \right) x(t)∗h(t)=∫0t−3e−3τdτ=3−1e−3τ∣∣0t−3=31(1−e−3(t−3))
(3) 当 t > 5 t > 5 t>5
x ( t ) ∗ h ( t ) = ∫ t − 5 t − 3 e − 3 τ d τ = − 1 3 e − 3 τ ∣ t − 5 t − 3 x\left( t \right) * h\left( t \right) = \int_{t - 5}^{t - 3} {e^{ - 3\tau } d\tau } = {
{ - 1} \over 3}\left. {e^{ - 3\tau } } \right|_{t - 5}^{t - 3} x(t)∗h(t)=∫t−5t−3e−3τdτ=3−1e−3τ∣∣t−5t−3 = 1 3 ( e − 3 ( t − 5 ) − e − 3 ( t − 3 ) ) = e 15 − e 9 3 e − 3 t = {1 \over 3}\left( {e^{ - 3\left( {t - 5} \right)} - e^{ - 3\left( {t - 3} \right)} } \right)\,\, = {
{e^{15} - e^9 } \over 3}e^{ - 3t} =31(e−3(t−5)−e−3(t−3))=3e15−e9e−3t
根据卷积微分性质:
y ′ ( t ) = x ( t ) ∗ h ′ ( t ) = x ( t ) ∗ [ δ ( t − 3 ) − δ ( t − 5 ) ] y'\left( t \right) = x\left( t \right) * h'\left( t \right)\, = x\left( t \right) * \left[ {\delta \left( {t - 3} \right) - \delta \left( {t - 5} \right)} \right] y′(t)=x(t)∗h′(t)=x(t)∗[δ(t−3)−δ(t−5)] = x ( t − 3 ) − x ( t − 5 ) = e − 3 ( t − 3 ) ⋅ u ( t − 3 ) − e − 3 ( t − 5 ) ⋅ u ( t − 5 ) = x\left( {t - 3} \right) - x\left( {t - 5} \right)\, = e^{ - 3\left( {t - 3} \right)} \cdot u\left( {t - 3} \right) - e^{ - 3\left( {t - 5} \right)} \cdot u\left( {t - 5} \right) =x(t−3)−x(t−5)=e−3(t−3)⋅u(t−3)−e−3(t−5)⋅u(t−5)