卷积学习的一点小心得

在信号的时域分析中,最为重要的就是信号通过线性时不变系统,即时域卷积计算。先来回顾一下线性时不变系统的定义:

(1-1)Ifx(t)y(t):ax1(t)+bx2(t)ay1(t)+by2(t)x(tt0)y(tt0)

物理可实现的系统绝大多数均满足线性时不变条件,与此同时还应满足稳定性条件,即 +h(t)dt< ,输入为能量信号的情况下输出的能量是有限的。在做一些小题的时候,经常会给出 y(t)=f[x(t)] 的形式来提问,然而在实际的系统当中却很难用一个函数就轻松表征出输入和输出之间的关系,比如:

【信号与系统】卷积分析_1

这是一个简单的RC电路,但是会发现很难用一个简单直观的函数去表征输出与输入之间的关系。当然,在电路分析中采用零状态相应+零输入响应最终求解出了该函数,实质上用的是求解非齐次线性微分方程的方法。然而这种求解的困难在于两点:1. 很难剥离输入信号用以描述系统本身的性质;2. 对于高阶电路束手无策。这里卷积主要解决的是第一个困难,第二个困难在频域上解决起来非常轻松。

先列出卷积的定义式:

(1-2)y(t)=+x(τ)h(tτ)dτ

单纯从公式上来看,是完全看不懂卷积是什么的。所以从实际系统出发来观察信号通过系统的情况,图1所示的RC电路中由经典的电路分析可以求解出零输入响应 y(t)=etτu(t),τ=RC ,对应如下图所示:
【信号与系统】卷积分析_2
显然,这是初始状态为u(0)=1V时的系统响应,即可视为 。关于drac函数无需深究,因为这个函数在信号系统中的应用本身就是违反数学定理的,根本不满足在x=0这一点的连续性和可导性。那么如果是多个不同时间点的冲激函数输入进来会是怎样呢?

x(t)=δ(t)+δ(t1)+δ(t2) ,则有如下图所示结果:

【信号与系统】卷积分析_3

可以看出,由于系统是线性的,各冲激的响应会线性地叠加在一起,组成总的响应。有限个冲激可以如此叠加,所以我们就会推测:一个连续输入信号能否视作无限个延时冲激叠加? 于是将一个连续输入信号表示成这种形式:

(1-3)x(t)=+x(τ)δ(tτ)dτ

根据drac函数的性质,我们知道δ(tτ)dτ = {1t=τ0others ,故这个式子是显然成立的。所以关键的一步来了:如果知道了δ(t)的响应h(t),那是不是就可以用h(t)表示y(t)了呢? 在高等数学中学习到了一个重要的知识点:积分具有线性性质,即:

(1-4)iaifi(x)dx=iaifi(x)dx

x(τ)视为是drac函数的一个加权因子a,则有x(τ)δ(tτ)x(τ)h(tτ),注意:
这样做是对的,因为在求解延时冲激δ(tτ)的系统响应时自变量是 ,而不是τ。根据(1-4)提供的线性性质,从数学上便推导出了(1-2)的卷积公式。

最后,卷积是建立在实际应用之上的,所以单纯的公式推导很难建立一个直观的印象。我们可以这样设想,一个连续信号切分成无数个微元,每一个微元进入系统的时间是不一样的,比如x(0)和x(0.1)之间就相差了0.1s的时间,那么根据(1-1)式中的线性性质,两者的响应也相差了0.1s的时间。

但这里我们要注意的就是:系统产生的响应不是只存在于一瞬的,就像前面图1所示那样,一个零时刻1V的输入产生了无穷长时间的响应值。并不是说在0时刻输入了一个信号,其输出也只在0时刻存在。用信号系统的术语来描述,即我们研究的绝大多数系统是记忆系统。若要举例子,含电感电容的电路都是记忆系统,纯电阻电路则是非记忆的。

这样一来,在输出端这边检测信号, 时刻的输出值不仅包含了x(t)的响应,还包含了x(0)到x(t)所有输入在该时刻的响应。所以为了方便说明,所以在信号系统中用 描述输入的时刻,用 描述输入产生的响应在之后的时间延续。

对于离散时间信号,整个推导过程是完全一致的,只需要把积分换成求和即可。

posted @   _acct  阅读(831)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示