三角波与三角波卷积

信号与系统 卷积 三角脉冲信号

简 介: 根据信号与系统答疑过程中,学生对于三角形信号卷积结果的疑惑,给出了相应的数值、理论、以及频谱分析的解答。特别是后面频谱分析部分也是由另外参加答疑的同学提出的。之所以这个题目会产生疑问,主要原因来自于卷积计算“图解法”所带来的误导。 图解方法只能帮助确定卷积的阶段和积分上下限,求解卷积结果还是需要根据实际信号函数进行计算。

关键词 信号与系统卷积三角脉冲信号

三角波卷积
目 录
Contents
答疑碰到的问题
问题分析
数值求解
理论分析
傅里叶变换
总 结

§01 角波卷积


一、答疑碰到的问题

  这两天信号与系统期末考试答疑中,多次碰到学生询问起一个课堂练习的习题。也就是为什么两个等腰三角形的卷积是答案(C):一个类似于升余弦的光滑曲线,而不是答案(B)一个尖顶的脉冲。此时才意识到这个问题的确有和直觉相违背的地方。

▲ 图1.1.1 三角波与自身的卷积波形:选择题

▲ 图1.1.1 三角波与自身的卷积波形:选择题

  通过分析,造成判断错误的来源,实际上是误用了求解卷积过程中的“图解法”。 图解方法通过把卷积的数学运算转换成信号波形的变化,帮助确定卷积阶段和积分的上下限。但往往也会对卷积结果产生误导,即部分同学会将两个图像重叠对应的图像面积当做求解的结果,但这种情况只能发生在一个信号是常量的情况。

▲ 图1.1.2 对于简单信号所使用的图解方法

▲ 图1.1.2 对于简单信号所使用的图解方法

二、问题分析

  这两天答疑过程中,学生也给出了对于这个问题很好的解释。下面给出相应的总结:

1、数值求解

  下面是通过数值求解反映的 一些等腰三角形与其自身卷积的结果,结果说明了两个等腰三角学卷积的确是一个一阶导数光滑的曲线。

▲ 图1  三角波与三角波相互卷积

▲ 图1 三角波与三角波相互卷积

2、理论分析

  对于这类有限长度的简单信号,在求解它们之间相互卷积的时候,同时使用“图解法”帮助确定积分的区间。由于两个三角波形自身都具有两个变化阶段一个是上升阶段,一个是下降阶段。它们的长度相同,所以通过简单分析可以知道这两个三角波卷积过程,它们重合情况可以分成四个阶段,如下图所示。 当 t t t 不在这四个阶段的时候,两个三角形不重合,卷积结果为 0。

▲ 图1.2.2 卷积过程中四个不同的重叠阶段

▲ 图1.2.2 卷积过程中四个不同的重叠阶段

  由于参与卷积的信号左右对称,所以只需要对于第一、第二阶段进行求解;然后将结果偶对称得到信号在 t > 0 t > 0 t>0 之后的结果。

(1)第一个阶段

t ∈ ( − 2 , 1 ) t \in \left( { - 2,1} \right) t(2,1) 时,两个三角形的重叠范围是 [ − 1 , t + 1 ] \left[ { - 1,t + 1} \right] [1,t+1] 。此时对应的卷积运算为 f ( t ) ∗ f ( t ) = ∫ − 1 t + 1 − ( τ − t − 1 ) ⋅ ( τ + 1 ) d τ f\left( t \right) * f\left( t \right) = \int_{ - 1}^{t + 1} { - \left( {\tau - t - 1} \right) \cdot \left( {\tau + 1} \right)d\tau } f(t)f(t)=1t+1(τt1)(τ+1)dτ = ∫ − 1 t + 1 ( − τ 2 + t ⋅ τ + t + 1 ) d τ = \int_{ - 1}^{t + 1} {\left( { - \tau ^2 + t \cdot \tau + t + 1} \right)d\tau } =1t+1(τ2+tτ+t+1)dτ = − 1 3 τ 3 ∣ − 1 t + 1 + t 2 τ 2 ∣ − 1 t + 1 + ( t + 1 ) ⋅ ( t + 2 ) = \left. { - {1 \over 3}\tau ^3 } \right|_{ - 1}^{t + 1} + \left. { {t \over 2}\tau ^2 } \right|_{ - 1}^{t + 1} + \left( {t + 1} \right) \cdot \left( {t + 2} \right) =31τ31t+1+2tτ21t+1+(t+1)(t+2) = − 1 3 [ ( t + 1 ) 3 − 1 ] + t 2 [ ( t + 1 ) 2 − 1 ] + ( t + 1 ) ⋅ ( t + 2 ) = - {1 \over 3}\left[ {\left( {t + 1} \right)^3 - 1} \right] + {t \over 2}\left[ {\left( {t + 1} \right)^2 - 1} \right] + \left( {t + 1} \right) \cdot \left( {t + 2} \right) =31[(t+1)31]+2t[(t+1)21]+(t+1)(t+2) = t 3 6 + t 2 + 2 t + 4 3 = { {t^3 } \over 6} + t^2 + 2t + {4 \over 3} =6t3+t2+2t+34

  这个求解化简过于繁琐,使用Python中的符号求积分软件包可以帮助进行求解

t,T = symbols('t,T')
result = integrate(-(T-t-1)*(T+1),(T,-1,t))

(2)第二阶段

  在 t ∈ ( − 1 , 0 ) t \in \left( { - 1,0} \right) t(1,0) ,参与卷积的信号重叠方式为如下图所示,重叠区域为 ( − 1 , t + 1 ) \left( { - 1,t + 1} \right) (1,t+1)

▲ 图1.2.3 在第二阶段两个三角形重叠以及求解积分过程

▲ 图1.2.3 在第二阶段两个三角形重叠以及求解积分过程

  按照信号不同的分段,求解积分需要分成三个区域,它们分别是 ( − 1 , t ) , ( t , 0 ) , ( 0 , t + 1 ) \left( { - 1,t} \right),\left( {t,0} \right),\left( {0,t + 1} \right) (1,t),(t,0),(0,t+1)

  在区域 ( − 1 , t ) \left( { - 1,t} \right) (1,t) 中积分表达式为 ∫ − 1 t ( τ − t + 1 ) ⋅ ( τ + 1 ) d τ = t 3 6 − t 2 − 1 3 \int_{ - 1}^t {\left( {\tau - t + 1} \right) \cdot \left( {\tau + 1} \right)d\tau } = { {t^3 } \over 6} - {t \over 2} - {1 \over 3} 1t(τt+1)(τ+1)dτ=6t32t31

  在区域 ( t , 0 ) \left( {t,0} \right) (t,0) 中的积分表达式为 ∫ t 0 − ( τ − t − 1 ) ⋅ ( τ + 1 ) d τ = − t 3 6 − t 2 − t \int_t^0 { - \left( {\tau - t - 1} \right) \cdot \left( {\tau + 1} \right)d\tau = - { {t^3 } \over 6} - t^2 - t} t0(τt1)(τ+1)dτ=6t3t2t

  在区域 ( 0 , t + 1 ) \left( {0,t + 1} \right) (0,t+1) 的积分表达式为 ∫ 0 t + 1 − ( τ − t − 1 ) ⋅ ( − τ + 1 ) d τ = ( − t + 2 ) ( t + 1 ) 2 6 \int_0^{t + 1} { - \left( {\tau - t - 1} \right) \cdot \left( { - \tau + 1} \right)d\tau } = { {\left( { - t + 2} \right)\left( {t + 1} \right)^2 } \over 6} 0t+1(τt1)(τ+1)dτ=6(t+2)(t+1)2

  将上面三个积分结果合并在一起,可以得到在此区间内卷积的结果 f ( t ) ∗ f ( t ) = − t 3 2 − t 2 + 2 3 f\left( t \right) * f\left( t \right) = - { {t^3 } \over 2} - t^2 + {2 \over 3} f(t)f(t)=2t3t2+32

t,T = symbols('t,T')

result = integrate(-(T-t-1)*(-T+1),(T,0,t+1)) +\
         integrate(-(T-t-1)*(T+1),(T,t,0)) +\
         integrate((T-t+1)*(T+1),(T,-1,t))

result = simplify(result)

(3)卷积完整解

  合并前面求解的第一、第二阶段的公式,将它们进行反褶之后,便可以得到第三、第四阶段的公式。最终三角形卷积的结果为:

(4)数值验证

  下面使用Python对上述公式进行绘制,查看卷积结果的信号波形。

def w(t,t1,t2):
    return heaviside(t-t1, 0.5) - heaviside(t-t2, 0.5)

def f1(t):
    return t**3/6 + t**2 + 2*t + 4/3

def f2(t):
    return -t**3/2 - t**2 + 2/3

def f(t):
    return f1(t) * w(t, -2, -1) +\
           f2(t) * w(t, -1, 0) +\
           f2(-t) * w(t, 0, 1) +\
           f1(-t) * w(t, 1, 2)

t = linspace(-2, 2, 500)
fdim = f(t)

plt.plot(t, fdim)

plt.xlabel("t")
plt.ylabel("f(t)")
plt.grid(True)
plt.tight_layout()
plt.show()

▲ 图1.2.4 绘制出的结果

▲ 图1.2.4 绘制出的结果

3、傅里叶变换

  可以利用傅里叶变换卷积定理,分析两个三角脉冲信号的卷积。对于高度为 1,宽度为 2 的对称等腰三角型,对应的频谱为 F ( ω ) = S a 2 ( ω 2 ) = sin ⁡ 2 ( ω 2 ) ( ω 2 ) 2 = 4 sin ⁡ 2 ( ω 2 ) ω 2 F\left( \omega \right) = Sa^2 \left( { {\omega \over 2}} \right) = { {\sin ^2 \left( { {\omega \over 2}} \right)} \over {\left( { {\omega \over 2}} \right)^2 }} = { {4\sin ^2 \left( { {\omega \over 2}} \right)} \over {\omega ^2 }} F(ω)=Sa2(2ω)=(2ω)2sin2(2ω)=ω24sin2(2ω) 那么它们卷积对应的傅里叶变换为 F 12 ( ω ) = S a 4 ( ω 2 ) = sin ⁡ 4 ( ω 2 ) ( ω 2 ) 4 = 16 sin ⁡ 4 ( ω 2 ) ω 4 F_{12} \left( \omega \right) = Sa^4 \left( { {\omega \over 2}} \right) = { {\sin ^4 \left( { {\omega \over 2}} \right)} \over {\left( { {\omega \over 2}} \right)^4 }} = { {16\sin ^4 \left( { {\omega \over 2}} \right)} \over {\omega ^4 }} F12(ω)=Sa4(2ω)=(2ω)4sin4(2ω)=ω416sin4(2ω)

  当然,直接从上面结果进行傅里叶反变换求解卷积时域表达式也比较麻烦,不过它可以告诉我们,卷积结果的频谱幅度衰减的规律应该是 1 / ω 4 1/\omega ^4 1/ω4。再由信号波形的光滑性与频谱衰减之间的关系可知,卷积结果应该是满足二阶导数连续。 由此也可以帮助判断在选择题中,只有答案(C)能够满足二阶导数连续的要求,其它三个信号波形对应的一阶导数都不连续。

  结 ※


  据信号与系统答疑过程中,学生对于三角形信号卷积结果的疑惑,给出了相应的数值、理论、以及频谱分析的解答。特别是后面频谱分析部分也是由另外参加答疑的同学提出的。

  之所以这个题目会产生疑问,主要原因来自于卷积计算“图解法”所带来的误导。 图解方法只能帮助确定卷积的阶段和积分上下限,求解卷积结果还是需要根据实际信号函数进行计算。

  直接求取结果需要较多的积分化简,利用Python符号积分软件可以帮助求解结果的解析表达式。


● 相关图表链接:

猜你喜欢

转载自blog.csdn.net/zhuoqingjoking97298/article/details/125242105
今日推荐