zl程序教程

您现在的位置是:首页 >  系统

当前栏目

信号与系统 2023(春季) 作业参考答案 - 第四次作业

系统 2023 信号 作业 春季 参考答案 第四次
2023-09-11 14:15:19 时间

 

01 础练习


一、卷积运算

1、根据公式求解卷积

(1)必做题

◎ 求解:

  (1)

  (2)

from headm import *
from sympy                  import symbols,simplify,expand,print_latex
from sympy                  import *
s,t = symbols('s,t')
f = exp(-t)

f1 = laplace_transform(exp(-t), t, s, noconds=True)
f2 = laplace_transform(exp(-3*t), t, s, noconds=True)
f = inverse_laplace_transform(f1*f2, s, t)

( e 2 t − 1 ) e − 3 t θ ( t ) 2 {{\left( {e^{2t} - 1} \right)e^{ - 3t} \theta \left( t \right)} \over 2} 2(e2t1)e3tθ(t)

  (3)

  根据卷积公式,将 f 1 ( t ) , f 2 ( t ) f_1 \left( t \right),f_2 \left( t \right) f1(t),f2(t) 代入卷积公式,将其展开,形成四项积分表达式:


  第一项积分结果为:


  第二项积分结果为:


  第三项积分结果为:

  第四项积分结果为:

  根据不同的时间段,合并上面各项多项式,得到卷积的解:

  卷积结果信号波形图:

▲ 图1.1.1 函数卷积结果

▲ 图1.1.1 函数卷积结果

from headm import *

def G(t, startn, endn):
    return heaviside(t-startn,0)-heaviside(t-endn,0)
def Gt(t, center, width):
    startn = center-width/2
    endn = startn + width
    return heaviside(t-startn,0.5)-heaviside(t-endn,0.5)

t = linspace(0, 6, 100000)
ratio = (max(t)-min(t))/len(t)
f1 = (t-1)*G(t,1,3)
f2 = G(t, 0, 1)
f = (1/2*t**2-t+1/2) * G(t,1,2) + \
    (t-3/2) * G(t,2,3) + \
    (-1/2*t**2+2*t) * G(t,3,4)

plt.plot(t, f1, lw=1, label='f1(t)')
plt.plot(t, f2, lw=1, label='f2(t)')
plt.plot(t, f,  lw=3, label='f1*f2(t)')

plt.axis([min(t)-0.5,max(t)+0.5, -0.5, 2.5])

plt.xlabel("t")
plt.ylabel("f(t)")
plt.legend(loc="upper right")
plt.tight_layout()
plt.show()

  (4)


  (5)

(2)选做题

◎ 求解:

  (1)


  上面表达式中四个积分值分别为:

  根据四个不同的时间阶段, 合并上面四个积分表达式,得到卷积的结果:

  (2)

  (3)

  根据 f 2 ( t ) = δ ′ ( t + 2 ) − δ ′ ( t − 2 ) f_2 \left( t \right) = \delta '\left( {t + 2} \right) - \delta '\left( {t - 2} \right) f2(t)=δ(t+2)δ(t2) ,可以知道:

  再根据 f 1 ( t ) f_1 \left( t \right) f1(t) 的表达式,求导后可得:


  所以卷积结果为:

▲ 图1.1.2 卷积结果信号波形

▲ 图1.1.2 卷积结果信号波形

2、图解方法求解卷积

(1)必做题

◎ 求解:

  取 f 2 ( t ) f_2 \left( t \right) f2(t) 进行反褶, 下面分成几个时间段分别求解卷积结果。

  当 t < 0 t < 0 t<0 时, f 1 ( τ ) , f 2 ( t − τ ) f_1 \left( \tau \right),f_2 \left( {t - \tau } \right) f1(τ),f2(tτ) 没有重叠,卷积结果 f 1 ( t ) ∗ f 2 ( t ) = 0 f_1 \left( t \right) * f_2 \left( t \right) = 0 f1(t)f2(t)=0

  当 0 ≤ t < 1 0 \le t < 1 0t<1 时, f 1 ( τ ) , f 2 ( t − τ ) f_1 \left( \tau \right),f_2 \left( {t - \tau } \right) f1(τ),f2(tτ) 部分重合,

  当 t ≥ 1 t \ge 1 t1 时, f 1 ( τ ) , f 2 ( t − τ ) f_1 \left( \tau \right),f_2 \left( {t - \tau } \right) f1(τ),f2(tτ) 完全重合,卷积结果为:

  所以,卷积结果为:

  卷积结果信号波形:

▲ 图1.1.3 卷积结果信号波形

▲ 图1.1.3 卷积结果信号波形

def G(t, startn, endn):
    return heaviside(t-startn,0)-heaviside(t-endn,0)
def Gt(t, center, width):
    startn = center-width/2
    endn = startn + width
    return heaviside(t-startn,0.5)-heaviside(t-endn,0.5)

t = linspace(0, 4, 10000)
ratio = (max(t)-min(t))/len(t)
f1 = exp(-2*t) * heaviside(t,0.5)
f2 = G(t,0,1)
#f = convolve(f1,f2)[:len(t)]*ratio
f = (exp(-2*(t-1))-exp(-2*t))/2*heaviside(t-1,0.5)+(1-exp(-2*t))*G(t,0,1)/2

plt.plot(t, f1, lw=1, label='f1(t)')
plt.plot(t, f2, lw=1, label="f2(t)")
plt.plot(t, f, lw=3, label="f(t)")

plt.axis([min(t)-0.5,max(t)+0.5, -.5, 2])

(2)选做题

◎ 求解:

  下面分别绘制出系统的单位冲激响应信号 h ( t ) h\left( t \right) h(t) 与输入信号的波形。通过求解 h ( t ) ∗ x ( t ) h\left( t \right) * x\left( t \right) h(t)x(t) 来获得系统零状态响应。

  根据题目要求,将 h ( t ) h\left( t \right) h(t) 进行反褶,准备进行卷积。

▲ 图1.6.12

  根据 h ( t ) , x ( t ) h\left( t \right),x\left( t \right) h(t),x(t) 波形的特点,把卷积过程分成以下五个阶段。使用图解方法来确定每个阶段的积分上下限。

  • 阶段1: t < 0 t < 0 t<0

▲ 图1.6.13
  在此阶段, h ( t − τ ) , x ( τ ) h\left( {t - \tau } \right),x\left( \tau \right) h(tτ),x(τ) 之间没有重叠,所以 h ( t ) ∗ x ( t ) = 0 h\left( t \right) * x\left( t \right) = 0 h(t)x(t)=0

  • 阶段2: 0 ≤ t < 1 0 \le t < 1 0t<1

▲ 图1.6.14
  在此阶段, h ( t ) , x ( t ) h\left( t \right),x\left( t \right) h(t),x(t) 之间有重叠,重叠区域为 τ ∈ ( 0 , t ) \tau \in \left( {0,t} \right) τ(0,t) 。所以

h ( t ) ∗ x ( t ) = ∫ 0 t e − ( t − τ ) ⋅ τ ⋅ d τ = e − t ∫ 0 t τ ⋅ d e τ h\left( t \right) * x\left( t \right) = \int_0^t {e^{ - \left( {t - \tau } \right)} \cdot \tau \cdot d\tau } = e^{ - t} \int_0^t {\tau \cdot de^\tau } h(t)x(t)=0te(tτ)τdτ=et0tτdeτ = e − t ⋅ ( τ ⋅ e τ ) ∣ 0 t − e − t ∫ 0 t e τ d τ = e^{ - t} \cdot \left. {\left( {\tau \cdot e^\tau } \right)} \right|_0^t - e^{ - t} \int_0^t {e^\tau d\tau } =et(τeτ)0tet0teτdτ = e − t ( t ⋅ e t − 0 ) − e − t ⋅ ( e τ ) ∣ 0 t = e^{ - t} \left( {t \cdot e^t - 0} \right) - e^{ - t} \cdot \left. {\left( {e^\tau } \right)} \right|_0^t =et(tet0)et(eτ)0t = t − e − t ⋅ ( e t − 1 ) = t − 1 + e − t = t - e^{ - t} \cdot \left( {e^t - 1} \right) = t - 1 + e^{ - t} =tet(et1)=t1+et

  • 阶段3: 1 ≤ t < 2 1 \le t < 2 1t<2

▲ 图A1.6.15
  在这个阶段, h ( t ) , x ( t ) h\left( t \right),x\left( t \right) h(t),x(t) 之间的重合区域为 τ ∈ ( t − 1 , t ) \tau \in \left( {t - 1,t} \right) τ(t1,t) 。这个区域计算卷积积分需要分成两个区间: ( t − 1 , 1 ) \left( {t - 1,1} \right) (t1,1) ( 1 , t ) \left( {1,t} \right) (1,t)

  在区间 ( t − 1 , 1 ) \left( {t - 1,1} \right) (t1,1) 上的积分为

∫ t − 1 1 e − ( t − τ ) ⋅ τ ⋅ d τ = e − t ⋅ ∫ t − 1 1 τ d e τ = e − t ⋅ τ e τ ∣ t − 1 1 − e − t ⋅ e τ ∣ t − 1 1 \int_{t - 1}^1 {e^{ - \left( {t - \tau } \right)} \cdot \tau \cdot d\tau } = e^{ - t} \cdot \int_{t - 1}^1 {\tau de^\tau } = e^{ - t} \cdot \left. {\tau e^\tau } \right|_{t - 1}^1 - e^{ - t} \cdot \left. {e^\tau } \right|_{t - 1}^1 t11e(tτ)τdτ=ett11τdeτ=etτeτt11eteτt11 = e − t [ e 1 − ( t − 1 ) e t − 1 ] − e − t ( e 1 − e t − 1 ) = e^{ - t} \left[ {e^1 - \left( {t - 1} \right)^{e^{t - 1} } } \right] - e^{ - t} \left( {e^1 - e^{t - 1} } \right) =et[e1(t1)et1]et(e1et1) = e 1 − t − t ⋅ e − 1 + e − 1 − e 1 − t + e − 1 = 2 e − 1 − t ⋅ e − 1 = e^{1 - t} - t \cdot e^{ - 1} + e^{ - 1} - e^{1 - t} + e^{ - 1} = 2e^{ - 1} - t \cdot e^{ - 1} =e1tte1+e1e1t+e1=2e1te1

  在区间 ( 1 , t ) \left( {1,t} \right) (1,t) 上的积分为

∫ 1 t e − ( t − τ ) d τ = e − t ⋅ e τ ∣ 1 t = e − t ( e t − e 1 ) = 1 − e 1 − t \int_1^t {e^{ - \left( {t - \tau } \right)} d\tau } = e^{ - t} \cdot \left. {e^\tau } \right|_1^t = e^{ - t} \left( {e^t - e^1 } \right) = 1 - e^{1 - t} 1te(tτ)dτ=eteτ1t=et(ete1)=1e1t

  将上面两部分合并在一起,卷积结果为

h ( t ) ∗ x ( t ) = 1 + 2 e − 1 − t ⋅ e − 1 − e 1 − t h\left( t \right) * x\left( t \right) = 1 + 2e^{ - 1} - t \cdot e^{ - 1} - e^{1 - t} h(t)x(t)=1+2e1te1e1t

  • 阶段4: 2 ≤ t < 3 2 \le t < 3 2t<3

▲ 图1.6.16
  在这个阶段, h ( t ) , x ( t ) h\left( t \right),x\left( t \right) h(t),x(t) 之间的重叠区域为 τ ∈ ( t − 1 , 2 ) \tau \in \left( {t - 1,2} \right) τ(t1,2) 。卷积积分为

∫ t − 1 2 e − ( t − τ ) d τ = e − t ⋅ e τ ∣ t − 1 2 = e − t ⋅ ( e 2 − e t − 1 ) = e 2 − t − e − 1 \int_{t - 1}^2 {e^{ - \left( {t - \tau } \right)} d\tau } = e^{ - t} \cdot \left. {e^\tau } \right|_{t - 1}^2 = e^{ - t} \cdot \left( {e^2 - e^{t - 1} } \right) = e^{2 - t} - e^{ - 1} t12e(tτ)dτ=eteτt12=et(e2et1)=e2te1

  • 阶段5: t > 3 t > 3 t>3

▲ 图1.6.17

  在此阶段, h ( t ) , x ( t ) h\left( t \right),x\left( t \right) h(t),x(t) 之间没有重合,卷积结果等于0。

  综合上面五个阶段的卷积结果,可以的得到:

h ( t ) ∗ x ( t ) = { 0 ,                                        t < 0 t − 1 + e − t ,                             0 ≤ t < 1 1 + 2 e − 1 − t ⋅ e − 1 − e 1 − t ,      1 ≤ t < 2 e 2 − t − e − 1 ,                              2 ≤ t < 3 0 ,                                       t ≥ 3 a h\left( t \right) * x\left( t \right) = \left\{ \begin{matrix} {0,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,t < 0}\\{t - 1 + e^{ - t} ,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,0 \le t < 1}\\{1 + 2e^{ - 1} - t \cdot e^{ - 1} - e^{1 - t} ,\,\,\,\,1 \le t < 2}\\{e^{2 - t} - e^{ - 1} ,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,2 \le t < 3}\\{0,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,t \ge 3}\\\end{matrix} \right.a h(t)x(t)= 0,t<0t1+et,0t<11+2e1te1e1t,1t<2e2te1,2t<30,t3a

下面利用Python程序绘制上述两个信号的卷积结果。

t = linspace(-0.5, 3.5, 500)

value = ((t-1+exp(-t))*(heaviside(t,0.5)-heaviside(t-1,0.5)) +
         (1+2*exp(-1)-t*exp(-1)-exp(1-t))*(heaviside(t-1,0.5)-heaviside(t-2,0.5)) +
         (exp(2-t)-exp(-1))*(heaviside(t-2,0.5)-heaviside(t-3,0.5)))

plt.plot(t, value)

plt.xlabel("t")
plt.ylabel("h(t)*x(t)")
plt.grid(True)
plt.tight_layout()
plt.show()

绘制的卷积结果为:

▲ 图1.6.15 h(t)*x(t)的波形

为了验证求取的函数表达式是否正确,下面使用数值积分来求解 x ( t ) ∗ h ( t ) x\left( t \right) * h\left( t \right) x(t)h(t)

x = list([1]*500*linspace(0,1,500,endpoint=True)) + [1]*500
h = exp(-linspace(0,1,500,endpoint=True))
xh = convolve(x,h)/500
plt.plot(linspace(0,3,1499,endpoint=True), xh)

plt.xlabel("n")
plt.ylabel("Value")
plt.grid(True)
plt.tight_layout()
plt.show()

最后一道题,如果需要降低难度,可以把 h ( t ) h\left( t \right) h(t) 修改成方波: h ( t ) = u ( t ) − u ( t − 1 ) h\left( t \right) = u\left( t \right) - u\left( {t - 1} \right) h(t)=u(t)u(t1) ,整个求解过程就会降低很大的难度。

3、求解序列的卷积和

◎ 解答:

(1)必做题

  (1)

  卷积结果为: y [ n ] = { 0.5 , 3 , 6 , 6.25 , 3 , 0.5 } y\left[ n \right] = \left\{ {0.5,3,6,6.25,3,0.5} \right\} y[n]={0.5,3,6,6.25,3,0.5}

  其中第一项对应 n = − 1 n = - 1 n=1

▲ 图1.1.11 卷积结果序列波形

▲ 图1.1.11 卷积结果序列波形

(2)选做题

  (1)

  卷积结果为: y [ n ] = { 1 , 2.5 , 1 , 1 , 3 , 2.5 , 1 , 1 , 2 } y\left[ n \right] = \left\{ {1,2.5,1,1,3,2.5,1,1,2} \right\} y[n]={1,2.5,1,1,3,2.5,1,1,2}

  其中第一项对应 n = − 3 n = - 3 n=3

▲ 图1.1.12 卷积结果序列波形

▲ 图1.1.12 卷积结果序列波形

from headm import *

xdim = [1, 2.5,1,1,2]
hdim = [1,0,0,0,1]

hxdim = convolve(xdim, hdim)
printf(hxdim)

dim = [0,0]+ list(hxdim) + [0,0]
n = list(range(len(dim)))

markerline,_,_ = plt.stem(n, dim)
plt.setp(markerline, markersize=10)

plt.xlabel("n")
plt.ylabel("dim")
plt.axis([min(n)-0.5, max(n)+0.5, -1.5, 5])
plt.grid(True)
plt.grid(False)
plt.tight_layout()
plt.show()

4、求解卷积数值

◎ 解答:

(1)必做题

▲ 图1.1.13 卷积结果信号波形

▲ 图1.1.13 卷积结果信号波形

from headm import *

def G(t, startn, endn):
    return heaviside(t-startn,0)-heaviside(t-endn,0)
def Gt(t, center, width):
    startn = center-width/2
    endn = startn + width
    return heaviside(t-startn,0.5)-heaviside(t-endn,0.5)

t = linspace(-3.5, 5, 10000)
ratio = (max(t)-min(t))/len(t)

f1 = -t*G(t,-1,0) + t*G(t,0,1)
f2 = 2*G(t,-2,0) + G(t, 0,1) - G(t, 1, 3)

sn = int(3.5/(max(t)-min(t))*len(t))
f = convolve(f1,f2)[sn:sn+len(t)]*ratio

plt.plot(t, f1, lw=1, label='f1(t)')
plt.plot(t, f2, lw=1, label="f2(t)")
plt.plot(t, f, lw=3, label="f(t)")

plt.axis([min(t)-0.5,max(t)+0.5, -1.5, 3])

plt.xlabel("t")
plt.ylabel("f(t)")
plt.legend(loc="upper right")
plt.tight_layout()
plt.show()

(2)选做题

  根据卷积微分性质,可以知道

▲ 图1.1.14 卷积结果导数的信号波形

▲ 图1.1.14 卷积结果导数的信号波形

5、使用卷积分解信号

◎ 求解:

  由于 f ( t ) f\left( t \right) f(t) 是梯形, 可以使用一宽一窄两个矩形信号的卷积来获得 f ( t ) f\left( t \right) f(t) 。 根据梯形的线性上升沿的宽度为 1, 所以其中窄矩形信号的宽度为 1, 宽矩形信号的宽度为 3。

  题目中要求两个矩形信号的高度相同, 这里假设它们高度都为 D D D 。 卷积结果梯形的高度为: D 2 = 2 D^2 = 2 D2=2 。所以 D = 2 D = \sqrt 2 D=2

  下图显示了参与卷积的两个矩形信号以及它们卷积结果信号波形。

▲ 图1.1.15 信号的波形图

▲ 图1.1.15 信号的波形图

二、解卷积

1、必做题

◎ 求解:

  (1) 求解 h [ n ] h\left[ n \right] h[n]

  利用离散序列的反卷积算法, 一次求出 h [ n ] h\left[ n \right] h[n] 前面若干项数值,然后通过归纳方法求出 h [ n ] h\left[ n \right] h[n] 的一般表达式。

  对于两个因果离散序列 x [ n ] , h [ n ] x\left[ n \right],h\left[ n \right] x[n],h[n] ,它们的卷积为 y [ n ] = x [ n ] ∗ h [ n ] = ∑ m = 0 n h [ m ] x [ n − m ] = ∑ m = 0 n − 1 h [ m ] x [ n − m ] + h [ n ] x [ 0 ] y\left[ n \right] = x\left[ n \right] * h\left[ n \right] = \sum\limits_{m = 0}^n {h\left[ m \right]x\left[ {n - m} \right]} = \sum\limits_{m = 0}^{n - 1} {h\left[ m \right]x\left[ {n - m} \right]} + h\left[ n \right]x\left[ 0 \right] y[n]=x[n]h[n]=m=0nh[m]x[nm]=m=0n1h[m]x[nm]+h[n]x[0] 因此,计算 h [ n ] h\left[ n \right] h[n] 的递归方程为 h [ n ] = 1 x [ 0 ] { y [ n ] − ∑ m = 0 n − 1 h [ m ] x [ n − m ] } h\left[ n \right] = {1 \over {x\left[ 0 \right]}}\left\{ {y\left[ n \right] - \sum\limits_{m = 0}^{n - 1} {h\left[ m \right]x\left[ {n - m} \right]} } \right\} h[n]=x[0]1{y[n]m=0n1h[m]x[nm]} 根据题目中给定的 x [ n ] , y [ n ] x\left[ n \right],y\left[ n \right] x[n],y[n] 的表达式 h [ n ] = ( − 1 2 ) n − ∑ m = 0 n − 1 h [ m ] x [ n − m ] = ( − 1 2 ) n − h [ n − 1 ] ( − 1 2 ) h\left[ n \right] = \left( { - {1 \over 2}} \right)^n - \sum\limits_{m = 0}^{n - 1} {h\left[ m \right]x\left[ {n - m} \right]} = \left( { - {1 \over 2}} \right)^n - h\left[ {n - 1} \right]\left( { - {1 \over 2}} \right) h[n]=(21)nm=0n1h[m]x[nm]=(21)nh[n1](21) 所以 h [ n ] h\left[ n \right] h[n] 满足的差分方程为 h [ n ] − 1 2 h [ n − 1 ] = ( − 1 2 ) n ⋅ u [ n ] h\left[ n \right] - {1 \over 2}h\left[ {n - 1} \right] = \left( { - {1 \over 2}} \right)^n \cdot u\left[ n \right] h[n]21h[n1]=(21)nu[n] 根据 h [ n ] h\left[ n \right] h[n] 满足的差分方程,可以迭代出它的前若干项的取值

hn = 0

for i in range(10):
    hn = 0.5*hn+(-0.5)**i
    printf(hn)
1.0
0.0
0.25
0.0
0.0625
0.0
0.015625
0.0
0.00390625
0.0

  从前10像 h [ n ] h\left[ n \right] h[n] 的取值,很容易归纳出 h [ n ] = { 1 / 2 n ,     n ∈ e v e n 0 ,           n ∈ o d d h\begin{bmatrix} n \end{bmatrix} = \left\{ \begin{matrix} {1/2^n ,\,\,\,n \in even}\\{0,\,\,\,\,\,\,\,\,\,n \in odd}\\\end{matrix} \right. h[n]={1/2n,neven0,nodd

  (2) 通过前面给出的 h [ n ] h\left[ n \right] h[n] 的迭代公式 h [ n ] − 1 2 h [ n − 1 ] = ( − 1 2 ) n ⋅ u [ n ] h\left[ n \right] - {1 \over 2}h\left[ {n - 1} \right] = \left( { - {1 \over 2}} \right)^n \cdot u\left[ n \right] h[n]21h[n1]=(21)nu[n] − 1 2 h [ n − 1 ] + 1 4 h [ n − 2 ] = ( − 1 2 ) n u [ n − 1 ] - {1 \over 2}h\left[ {n - 1} \right] + {1 \over 4}h\left[ {n - 2} \right] = \left( { - {1 \over 2}} \right)^n u\left[ {n - 1} \right] 21h[n1]+41h[n2]=(21)nu[n1]两个式子相减可得 h [ n ] − 1 4 h [ n − 2 ] = δ [ n ] h\left[ n \right] - {1 \over 4}h\left[ {n - 2} \right] = \delta \left[ n \right] h[n]41h[n2]=δ[n] 两边同时卷积 x [ n ] x\left[ n \right] x[n] 可得 y [ n ] − 1 4 y [ n − 2 ] = x [ n ] y\left[ n \right] - {1 \over 4}y\left[ {n - 2} \right] = x\left[ n \right] y[n]41y[n2]=x[n] 所以,系统框图为

▲ 图1.2.1 系统框图

▲ 图1.2.1 系统框图

2、选做题

◎ 求解:

  下面使用 Python 中的 scipy.signal 中的 deconvolve 求解 x [ n ] x\left[ n \right] x[n]

from headm import *
import scipy.signal

def G(t, startn, endn):
    return heaviside(t-startn,1)-heaviside(t-endn,1)
def Gt(t, center, width):
    startn = center-width/2
    endn = startn + width
    return heaviside(t-startn,0.5)-heaviside(t-endn,0.5)

n = array(list(range(0, 50)))

ydim = n*G(n,0,20)+(-n+38)*G(n,20,38)
hdim = (-n+4)*G(n,0,5)
hdim = hdim[:5]

xdim = scipy.signal.deconvolve(ydim, hdim)[0]
printf(xdim)

markerline,_,_ = plt.stem(range(len(xdim)), xdim)
plt.setp(markerline, markersize=10)

plt.xlabel("n")
plt.ylabel("ydim")
plt.axis([-1, 51, -1, 3])
plt.grid(True)
plt.grid(False)
plt.tight_layout()
plt.show()

▲ 图1.2.2 x[n]序列波形

▲ 图1.2.2 x[n]序列波形

三、系统分析

1、必做题

◎ 求解:

(1)系统性质判断

  (1) 因果系统; 稳定系统;
  (2) 因果系统; 不稳定系统;
  (3) 因果系统, 稳定系统;
  (4) 非因果系统; 稳定系统;
  (5) 因果系统; 非稳定系统;
  (6) 非因果系统; 稳定系统;

(2)求系统单位冲激响应

  原系统可以看成两个子系统串联, 根据 LTI 系统串联子系统前后允许交换, 系统1 与 系统2 实际上是相同的系统。

  对于 系统2, 输入 δ ( t ) \delta \left( t \right) δ(t) 之后, 对应的输出为: y 1 ( t ) = ∫ − ∞ t δ ( τ ) − δ ( τ − T ) d τ = u ( t ) − u ( t − T ) y_1 \left( t \right) = \int_{ - \infty }^t {\delta \left( \tau \right) - \delta \left( {\tau - T} \right)d\tau = u\left( t \right) - u\left( {t - T} \right)} y1(t)=tδ(τ)δ(τT)dτ=u(t)u(tT)

▲ 图1.3.1 两个系统串联

▲ 图1.3.1 两个系统串联

  因此, 系统1与系统2串联后对应的系统单位冲激响应: h ( t ) = y 1 ( t ) ∗ y 1 ( t ) h\left( t \right) = y_1 \left( t \right) * y_1 \left( t \right) h(t)=y1(t)y1(t) 。 两个宽度为 T 的矩形波卷积结果为宽度为 2T, 高度为 T 的三角脉冲波形。

▲ 图1.3.2 单位冲激响应信号波形

▲ 图1.3.2 单位冲激响应信号波形

2、选做题

◎ 求解:

  (1) 根据给定的系统的输入输出关系可以知道,系统的单位冲击响应:

h ( t ) = ∫ − ∞ t e − ( t − τ ) ⋅ δ ( τ − 2 ) d τ    = e − ( t − 2 ) ⋅ u ( t − 2 ) h\left( t \right) = \int_{ - \infty }^t {e^{ - \left( {t - \tau } \right)} \cdot \delta \left( {\tau - 2} \right)d\tau } \,\, = e^{ - \left( {t - 2} \right)} \cdot u\left( {t - 2} \right) h(t)=te(tτ)δ(τ2)dτ=e(t2)u(t2)


  (2) x ( t ) x\left( t \right) x(t) h ( t ) h\left( t \right) h(t)的卷积,可以使用图解方法辅助求解:

  • t < 1 t < 1 t<1

x ( t ) ∗ h ( t ) = 0 x\left( t \right) * h\left( t \right) = 0 x(t)h(t)=0

  • 1 ≤ t < 4 1 \le t < 4 1t<4

x ( t ) ∗ h ( t ) = ∫ 0 t − 1 e − τ ⋅ d τ    = − 1 e − τ ∣ 0 t − 1 = 1 − e − ( t − 1 ) x\left( t \right) * h\left( t \right) = \int_0^{t - 1} {e^{ - \tau } \cdot d\tau } \,\, = - 1\left. {e^{ - \tau } } \right|_0^{t - 1} = 1 - e^{ - \left( {t - 1} \right)} x(t)h(t)=0t1eτdτ=1eτ 0t1=1e(t1)

  • t ≥ 4 t \ge 4 t4

x ( t ) ∗ h ( t ) = ∫ t − 4 t − 1 e − τ ⋅ d τ x\left( t \right) * h\left( t \right) = \int_{t - 4}^{t - 1} {e^{ - \tau } \cdot d\tau } x(t)h(t)=t4t1eτdτ = − 1 e − τ ∣ t − 4 t − 1 = e − t + 4 − e − t + 1 = ( e 4 − e 1 ) e − t = - 1\left. {e^{ - \tau } } \right|_{t - 4}^{t - 1} = e^{ - t + 4} - e^{ - t + 1} = \left( {e^4 - e^1 } \right)e^{ - t} =1eτ t4t1=et+4et+1=(e4e1)et


■ 相关文献链接:

● 相关图表链接: