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://idctop.com/article/493843.html

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

相关推荐

  • 支持m2的服务器主板有哪些型号?,怎么选

    支持M.2接口的服务器主板已覆盖Intel W680/C621A/C741以及AMD WRX80/TRX40等芯片组平台,代表型号有超微X12SCA-F、华硕Pro WS WRX80E-SAGE SE、技嘉MW51-HP0和永擎ROMED8-2T,这些主板提供2至4个直连CPU的NVMe M.2插槽,专门用于系……

    2026年8月2日
    1600
  • 万维网服务器包括哪些主要类型,哪个品牌好?

    万维网服务器是一个由硬件、软件、网络和服务组成的综合系统,其核心组件包括物理服务器、操作系统、Web服务器程序、网络连接以及安全防护,而选择合规且经验丰富的托管服务商是保障稳定运行的关键,理解万维网服务器的构成是搭建网站的第一步,无论个人博客还是企业门户,都需要明确各个组件的作用与选型逻辑,本文从硬件、软件、网……

    2026年8月2日
    400
  • 服务器怎么做云电脑配置,云电脑服务器需要什么配置?

    构建高性能云电脑的核心在于“计算虚拟化、存储高吞吐、网络低延迟”三位一体的资源调度能力,而非单纯堆砌硬件参数,要实现流畅的云电脑体验,服务器配置必须遵循“高主频CPU优先、内存带宽冗余、磁盘I/O瓶颈消除”的原则,通过虚拟化技术将物理资源池化,再配合专业的传输协议优化,才能交付媲美本地PC的使用体验, 硬件基石……

    2026年3月20日
    16500
  • 浙江服务器端口怎么开?,哪些端口最常用?

    浙江服务器端口没有特殊的地域限制,但常规业务场景下,Web服务(80/443)、远程管理(22/3389)、数据库(3306/6379)和邮件服务(25/110/143)是使用频率最高的几类端口,具体开放哪些,取决于你的业务类型和部署架构,而不是服务器所在省份,浙江服务器端口全景:一张清单看懂该开哪些很多第一次……

    2026年8月26日
    600
  • 服务器监控哪些项目?全面监控清单来了!

    服务器监控哪些项目服务器监控是保障业务稳定运行的生命线,核心监控项目包括:CPU性能监控: 利用率、负载、进程状态,内存使用监控: 总量、使用率、Swap、缓存/缓冲,磁盘存储监控: 空间使用率、I/O性能、文件系统健康,网络性能监控: 带宽、流量、连接数、延迟、丢包,系统与服务状态监控: 进程存活、端口监听……

    2026年2月7日
    17900
  • 你知道多少?,有哪些特点?

    服务的概述是理解服务本质、特征和分类的基础框架,它帮助企业和个人系统化地掌握服务设计与交付的核心要点,无论是撰写商业计划书还是优化服务流程,一份清晰的概述都能让你抓住服务的核心价值,的核心要素:定义、特征与分类要写好一份服务概述,首先得搞懂服务到底是什么,它与实物产品不同,你看不见摸不着,但能实实在在地感受到价……

    2026年8月2日
    400
  • Python round函数怎么用?python round函数保留几位小数

    Python中的round()函数采用“银行家舍入法”,即当小数部分恰好为0.5时,会向最近的偶数取整,而非传统的四舍五入,这是导致精度偏差的核心原因,在Python编程实践中,处理数值精度是一个高频且容易踩坑的场景,很多开发者习惯使用round()函数进行数据清洗或格式化,却惊讶地发现结果与预期不符,这种不一……

    2026年7月4日
    18000
  • 服务器怎么调用本地mysql数据库,连接不上怎么办?

    要让服务器成功调用本地MySQL数据库,核心在于数据库用户权限的精准配置、连接字符串的正确选择,以及服务间的网络策略统一,服务器连接本地数据库的几种常见方式使用localhost和127.0.0.1的区别连接本地数据库时,很多人以为localhost和127.0.0.1完全等价,其实它们走的是不同通道,loca……

    服务器运维 2026年8月10日
    500
  • 运维四大服务器都有哪些,分别有什么作用?

    运维四大服务器通常指Web服务器、数据库服务器、应用服务器和缓存服务器,它们是支撑现代互联网业务稳定运行的核心基础设施,合理规划与运维这四类服务器,直接决定系统的性能、可用性和安全性,Web服务器:流量入口的守门人Web服务器负责接收客户端请求并返回静态内容或转发动态请求,它是整个架构的第一道防线,运维重点在于……

    服务器运维 2026年8月9日
    300
  • 服务器CPU性能比较好的有哪些,怎么选?

    目前性能比较突出的服务器CPU主要来自Intel Xeon Scalable系列和AMD EPYC系列,其中Intel第四代Xeon和AMD EPYC 9004系列在核心数、内存带宽和能效上表现优异,适合不同规模的数据中心,服务器CPU性能的关键指标判断一款服务器CPU性能好坏,不能只看主频,更需关注核心/线程……

    2026年7月26日
    600

发表回复

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