Python如何实现信号包络,Python包络提取怎么做?

Python 信号包络提取指南

在信号处理领域,包络(Envelope)是指信号振幅随时间变化的轮廓线,提取信号包络对于分析调制信号、振动分析、音频处理以及检测信号特征至关重要,在 Python 中,最常用且最标准的方法是使用 希尔伯特变换(Hilbert Transform)。

核心原理

提取包络的标准数学方法是构造信号的解析信号(Analytic Signal)。

python实战之pywifi
加载中
python实战之pywifi
  • 给定一个实数信号 $x(t)$,通过希尔伯特变换得到其虚部 $y(t)$。
  • 构造解析信号 $z(t) = x(t) + i \cdot y(t)$。
  • 信号的瞬时振幅(即包络)等于解析信号的模:$A(t) = |z(t)| = \sqrt{x(t)^2 + y(t)^2}$。

实现工具

在 Python 生态中,实现包络提取的核心库包括:

  • NumPy:用于高效的数值计算和数组操作。
  • SciPy:其中的 scipy.signal.hilbert 函数是实现希尔伯特变换的标准工具。
  • Matplotlib:用于将原始信号与提取出的包络进行可视化对比。

代码实现示例

以下是一个完整的代码示例,展示了如何生成一个振幅调制的信号并提取其包络。

import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import hilbert
# 1. 生成模拟信号
fs = 1000  # 采样频率
t = np.linspace(0, 1, fs, endpoint=False)
# 载波频率 (50Hz)
carrier_freq = 50
# 调制信号 (5Hz,控制振幅)
modulating_freq = 5
modulating_signal = 0.5  (1 + np.sin(2  np.pi  modulating_freq  t))
# 生成被调制的信号
signal = modulating_signal  np.sin(2  np.pi  carrier_freq  t)
# 2. 使用希尔伯特变换提取包络
# hilbert 函数返回的是解析信号
analytic_signal = hilbert(signal)
# 包络即为解析信号的模
amplitude_envelope = np.abs(analytic_signal)
# 3. 绘图可视化
plt.figure(figsize=(12, 6))
# 绘制原始信号
plt.subplot(2, 1, 1)
plt.plot(t, signal, label='Original Signal', color='blue', alpha=0.7)'Original Modulated Signal')
plt.grid(True)
plt.legend()
# 绘制包络线
plt.subplot(2, 1, 2)
plt.plot(t, amplitude_envelope, label='Extracted Envelope', color='red', linewidth=2)
plt.plot(t, modulating_signal, '--', label='True Envelope', color='green', alpha=0.6)'Extracted Envelope vs True Envelope')
plt.grid(True)
plt.legend()
plt.tight_layout()
plt.show()

关键步骤解析

  • scipy.signal.hilbert(signal):
    注意这个函数返回的不是变换后的虚部,而是解析信号(复数形式),这是初学者最容易出错的地方。
  • np.abs(analytic_signal):
    通过计算复数的模,直接获得信号的瞬时振幅,这便是我们需要的包络线。
  • 性能优化:
    对于极大规模的数据,scipy.signal.hilbert 基于 FFT(快速傅里叶变换)实现,计算复杂度为 $O(N \log N)$,能够高效处理大规模采样数据。

应用场景

  • 通信工程:解调 AM(幅度调制)信号。
  • 机械故障诊断:通过提取轴承振动信号的包络,识别冲击特征(包络谱分析)。
  • 音频处理:分析音频信号的动态范围和能量随时间的变化。
  • 生物医学信号:处理 ECG(心电图)或 EEG(脑电图)信号中的特征提取。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/493843.html

赞 (0)
CDN参数如何配置?CDN加速参数设置与优化方法有哪些?
上一篇 2026年7月14日 10:37
哪家CDN厂商好?国内CDN厂商哪个好用?CDN服务商推荐
下一篇 2026年7月14日 10:42

相关推荐

  • win7调度服务器需要关哪些程序,怎么关闭

    对于Windows 7调度服务器,需要关闭的核心程序包括Windows Defender、Windows Search、自动更新、Superfetch、Print Spooler等非必需系统服务,以及各类第三方自启动软件,通过禁用这些组件可以大幅释放CPU和内存资源,提升调度任务的稳定性和响应速度,为什么Win……

    2026年7月29日
    900
  • python arggis是什么,怎么安装?

    Python与ArcGIS的集成主要通过ArcPy和ArcGIS API for Python实现,前者专注于桌面端自动化,后者面向Web与大数据分析,两者结合能覆盖绝大多数GIS工作流,是地理信息处理效率提升的关键,两种主流集成方式不同场景下,Python与ArcGIS的交互方式差异明显,选择哪种取决于你的工……

    2026年7月21日
    900
  • 服务器开发用啥语言?哪种编程语言最适合做后端开发

    服务器开发语言的选择,核心结论在于:没有绝对的最优语言,只有最适合业务场景的技术选型, 当前主流的服务器开发呈现“多语言共存,各展所长”的格局,对于高并发、IO密集型场景,Go语言已成为首选;对于追求生态丰富与开发效率的企业级应用,Java依然占据霸主地位;而对于计算密集型或底层基础设施构建,C++与Rust则……

    2026年3月28日
    9400
  • 服装商城网站源码选哪个比较好,免费开源吗?

    在服装电商领域,选择一套合适的商城网站源码是决定项目成败的关键,从开源框架到商业系统,不同方案在灵活性、成本、维护难度上差异显著,你需要根据自身业务发展阶段和资源条件做出权衡,没有绝对“最好”的源码,只有最匹配的选项,服装商城网站源码主流类型与适用场景市面上的服装商城网站源码大致分为三类,每类都对应不同的业务需……

    服务器运维 2026年7月17日
    1500
  • g口外贸服务器怎么选?g口外贸服务器租用价格

    选择g口外贸服务器时,核心结论是:对于面向全球或东南亚市场的业务,g口服务器凭借低延迟和免备案优势是首选;若主要客户在国内,则必须使用国内服务器以符合合规要求并保障访问速度,外贸建站不仅是技术部署,更是商业策略的延伸,服务器节点的选择直接决定了客户打开网页的速度、数据的安全性以及合规风险,许多新手卖家容易陷入……

    2026年6月21日
    2400
  • Linux下Web应用服务器有哪些?,哪个好?

    在Linux环境下,常见的Web应用服务器包括Nginx、Apache HTTP Server、Tomcat、Node.js、Caddy、Lighttpd、Gunicorn等,实际选型需要根据业务类型、并发规模和团队技术栈决定,多数生产环境会组合使用反向代理和动态应用服务器,主流Linux Web应用服务器阵营……

    2026年7月30日
    500
  • 如何备份服务器上的MSSQL数据库?,详细步骤有哪些?

    服务器备份mssql最直接的方式是使用SQL Server Management Studio或T-SQL命令创建完整备份,搭配差异备份和事务日志备份,并设置自动任务和异地存储来保障数据安全, 接下来我按实际工作中的常见场景,拆解备份的选择、执行步骤、定时策略和异地方案,帮你构建一套能应对大多数故障的备份体系……

    2026年7月25日
    1100
  • 服务器工作站的区别是什么,服务器和工作站有什么不同

    服务器专注于“服务”与“数据管理”,旨在为多用户提供资源共享和网络服务;工作站则专注于“计算”与“任务执行”,旨在为单一用户提供极致的性能以解决复杂的专业问题,服务器是网络的“心脏”,负责输送血液(数据);工作站是专业的“大脑”,负责处理最复杂的思考(运算), 核心定位与用途差异理解两者差异的第一步是明确其服务……

    2026年4月7日
    8100
  • 服务器应该配置什么系统,服务器系统选择指南

    服务器操作系统的选择直接决定了业务系统的稳定性、安全性及运维成本,Linux发行版(如CentOS、Ubuntu、Rocky Linux)应作为首选,Windows Server仅在特定应用场景下作为补充,这一核心结论基于服务器系统的核心评价指标:稳定性、资源利用率、安全性及授权成本,在绝大多数Web服务、数据……

    2026年3月30日
    10300
  • 三峡地下服务器究竟有哪些,在哪可以查到详细名单?

    三峡地下服务器并非一个单一机房,而是以三峡集团自用数据机房为核心,叠加多家云服务商及IDC服务商在此部署的边缘计算节点和灾备集群构成的整体基础设施集群,三峡地下服务器集群的构成与类型三峡水利枢纽坝区深处,依托天然花岗岩山体和坝体结构,建成了多座不同归属、不同功能的地下及半地下数据中心,这些机房利用水利枢纽的低温……

    2026年8月20日
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注