首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >《信号与系统》- 第五章 连续系统的 s 域分析

《信号与系统》- 第五章 连续系统的 s 域分析

作者头像
啊阿狸不会拉杆
发布2026-01-21 11:51:41
发布2026-01-21 11:51:41
1470
举报
        在信号与系统的研究中,连续系统的 s 域分析是极为重要的内容,它通过拉普拉斯变换等工具,为解决复杂的系统问题提供了强大的方法。本章将围绕拉普拉斯变换及其相关性质、逆变换、复频域分析等展开详细讲解。

🔵5.1 拉普拉斯变换

一、从傅里叶变换到拉普拉斯变换

二、收敛域

三、(单边)拉普拉斯变换

下面用 Python 实现一个简单指数信号的单边拉普拉斯变换:

代码语言:javascript
复制
import sympy as sp

# 定义符号变量

t, s, a = sp.symbols('t s a')

# 定义指数信号

f_t = sp.exp(a * t) * sp.Heaviside(t) # Heaviside函数表示单位阶跃函数

# 计算单边拉普拉斯变换

F_s = sp.laplace_transform(f_t, t, s)

print(F_s)

注释

  1. 首先导入 sympy 库,它是一个用于符号计算的 Python 库。
  2. 定义符号变量 t(时间)、s(复频域变量)和 a(指数信号的参数)。
  3. 使用 sp.Heaviside(t) 表示单位阶跃函数,定义指数信号 f_t 。
  4. 调用 sp.laplace_transform(f_t, t, s) 计算单边拉普拉斯变换,返回结果包含变换后的表达式和收敛域信息。

🔵5.2 拉普拉斯变换的性质

下面通过 Python 代码演示拉普拉斯变换的线性性质:

代码语言:javascript
复制
import sympy as sp

# 定义符号变量

t, s, a, b = sp.symbols('t s a b')

# 定义两个信号

f1_t = sp.exp(a * t) * sp.Heaviside(t)

f2_t = sp.exp(b * t) * sp.Heaviside(t)

# 计算两个信号的拉普拉斯变换

F1_s = sp.laplace_transform(f1_t, t, s)[0]

F2_s = sp.laplace_transform(f2_t, t, s)[0]

# 定义线性组合信号

f_linear = 2 * f1_t + 3 * f2_t

# 计算线性组合信号的拉普拉斯变换

F_linear = sp.laplace_transform(f_linear, t, s)[0]

# 验证线性性质

print("验证线性性质:", F_linear == 2 * F1_s + 3 * F2_s)

注释

  1. 同样先导入 sympy 库并定义相关符号变量。
  2. 定义两个指数信号 f1_t 和 f2_t 。
  3. 分别计算两个信号的拉普拉斯变换 F1_s 和 F2_s 。
  4. 定义线性组合信号 f_linear 。
  5. 计算线性组合信号的拉普拉斯变换 F_linear ,并验证是否满足线性性质。

🔵5.3 拉普拉斯逆变换

一、查表法

二、部分分式展开法

下面用 Python 实现部分分式展开法求拉普拉斯逆变换:

代码语言:javascript
复制
import sympy as sp

# 定义符号变量

s = sp.symbols('s')

# 定义F(s)

F_s = (s + 1) / ((s + 2) * (s + 3))

# 进行部分分式展开

partial_fraction = sp.apart(F_s)

# 计算拉普拉斯逆变换

f_t = sp.inverse_laplace_transform(partial_fraction, s, sp.Symbol('t'))

print(f_t)

注释

  1. 导入 sympy 库并定义符号变量 s 。
  2. 定义 ( F(s) ) 的表达式。
  3. 调用 sp.apart(F_s) 对 ( F(s) ) 进行部分分式展开。
  4. 调用 sp.inverse_laplace_transform(partial_fraction, s, sp.Symbol('t')) 计算拉普拉斯逆变换,得到时域信号 f_t 。

🔵5.4 复频域分析

一、微分方程的变换解

二、系统函数

三、系统的 s 域框图

        系统的 s 域框图是用基本的运算单元(加法器、乘法器、积分器等)在复频域表示系统的结构。通过 s 域框图可以更直观地理解系统的工作原理和信号的传输过程。

四、电路的 s 域模型

        在电路分析中,将电路元件(电阻、电感、电容)的时域模型通过拉普拉斯变换转换为 s 域模型,从而将时域的电路分析问题转换为复频域的代数运算问题,简化电路分析过程。

五、拉普拉斯变换与傅里叶变换

下面用 Python 实现通过拉普拉斯变换求解微分方程:

代码语言:javascript
复制
import sympy as sp

# 定义符号变量

t, s = sp.symbols('t s')

# 定义输入信号f(t)及其拉普拉斯变换F(s)

f_t = sp.exp(-t) * sp.Heaviside(t)

F_s = sp.laplace_transform(f_t, t, s)[0]

# 定义输出信号Y(s)

Y_s = sp.Symbol('Y(s)')

# 定义微分方程在s域的表达式

diff_eq_s = (s**2 + 3*s + 2)*Y_s - s*0 - 0 # 假设初始条件为0

# 求解Y(s)

Y_s_solved = sp.solve(diff_eq_s - F_s, Y_s)[0]

# 计算拉普拉斯逆变换得到y(t)

y_t = sp.inverse_laplace_transform(Y_s_solved, s, t)

print(y_t)

注释

  1. 导入 sympy 库并定义符号变量 t 和 s 。
  2. 定义输入信号 f_t 并计算其拉普拉斯变换 F_s 。
  3. 定义输出信号在复频域的符号 Y_s 。
  4. 根据微分方程和初始条件(假设为 0),定义微分方程在 s 域的表达式 diff_eq_s 。
  5. 求解 Y_s 。
  6. 通过拉普拉斯逆变换计算得到时域输出信号 y_t 。

🔵*5.5 双边拉普拉斯变换

图 1:拉普拉斯变换相关知识思维导图

        通过以上对连续系统 s 域分析的详细讲解,相信大家对拉普拉斯变换及其在信号与系统中的应用有了更深入的理解。希望这些内容和代码示例能帮助大家更好地掌握相关知识和技能。

        以上内容从多方面讲解了连续系统的 s 域分析。若你觉得某些部分需要补充案例,或有其他修改意见,欢迎随时和我说。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🔵5.1 拉普拉斯变换
    • 一、从傅里叶变换到拉普拉斯变换
    • 二、收敛域
    • 三、(单边)拉普拉斯变换
  • 🔵5.2 拉普拉斯变换的性质
  • 🔵5.3 拉普拉斯逆变换
    • 一、查表法
    • 二、部分分式展开法
  • 🔵5.4 复频域分析
    • 一、微分方程的变换解
    • 二、系统函数
    • 三、系统的 s 域框图
    • 四、电路的 s 域模型
    • 五、拉普拉斯变换与傅里叶变换
  • 🔵*5.5 双边拉普拉斯变换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档