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

相关推荐

  • 高级数据链路控制规程常见故障怎么解决?HDLC协议报错如何排查

    高级数据链路控制规程常见故障多源于链路层帧失步、地址/控制字段错配、FCS校验溢出及链路建立超时,精准定位需依赖协议分析仪逐层剥离字段并校验底层电气与状态机逻辑,HDLC故障诊断底层逻辑与2026态势行业现状与故障演化趋势根据【工信部通信标准推进组】2026年第一季度发布的《广域网协议运行质量白皮书》,在金融专……

    2026年4月26日
    6000
  • 服务器服务费一年多少钱,服务器托管费用怎么算?

    服务器服务费并非单纯的支出项目,而是企业数字化业务连续性与性能表现的基石投入,在评估与规划这笔预算时,核心结论应当明确:优质的服务器投入本质上是在购买业务的稳定性、数据的安全性以及用户体验的流畅度,盲目追求低价往往会导致更高的隐形故障成本与数据流失风险, 理解其构成逻辑,掌握科学的成本控制与选型策略,是实现IT……

    2026年2月19日
    19800
  • 国产一流服务器有哪些品牌?, 哪个牌子性价比高

    国产一流服务器品牌主要包括浪潮、华为、新华三、曙光和联想,这些品牌在性能、生态和服务上均已达到国际主流水平,是当前国内数据中心和政企采购的核心选择,从行业趋势看,国产服务器在政府、金融、电信等关键领域的部署比例逐年提升,根据工信部发布的《中国服务器产业发展白皮书》,国产服务器在计算密度、能耗管理和生态兼容性方面……

    2026年8月21日
    400
  • 高端流媒体服务器价格多少?高配流媒体服务器报价贵吗

    2026年高端流媒体服务器价格通常在8万至50万元不等,具体取决于并发算力、存储架构及硬件编解码方案,企业需根据实际业务并发量与延迟要求进行精准选型,2026高端流媒体服务器价格核心构成硬件底座:算力与转码决定基础成本高端流媒体服务器的核心壁垒在于实时转码与高并发分发能力,根据2026年主流硬件架构,成本分布如……

    2026年4月29日
    8500
  • 防火墙为何特定放行这些端口?揭秘网络安全的微妙平衡艺术。

    防火墙放行端口是指在网络防火墙规则中,允许特定端口接收和发送数据流量的配置操作,端口是网络通信的入口,每个端口对应一种服务或应用程序,例如HTTP服务通常使用80端口,HTTPS服务使用443端口,正确放行端口能确保合法流量顺畅通行,同时阻挡未授权访问,是网络安全与管理的基础环节,端口放行的核心原理防火墙通过规……

    2026年2月3日
    15110
  • 为何防火墙设置后应用仍无法上网?揭秘网络隔离难题!

    要设置防火墙阻止特定应用上网,最有效的方法是结合系统防火墙规则与第三方防火墙工具,在Windows、macOS及路由器等多层面配置访问控制策略,核心操作包括创建出站规则、设置程序路径限制、利用高级安全功能及网络权限管理,理解防火墙阻止应用上网的原理防火墙通过规则匹配数据包的来源、目标、端口和协议,决定是否允许传……

    2026年2月3日
    15900
  • 高级威胁检测系统双12优惠活动有哪些?高级威胁检测系统双12打折吗

    2026年高级威胁检测系统双12优惠活动是企业以最低成本构建主动防御体系、实现安全合规的最佳入场时机,选型应聚焦检测精度、响应速度与实战化运营能力,2026双12优惠活动深度剖析与选购策略双12促销机制拆解面对年末安全预算冲刺与合规整改需求,各大安全厂商的双12优惠活动不仅是价格让利,更是服务模式的升级,根据2……

    2026年4月26日
    4500
  • 个人vps

    个人VPS(虚拟专用服务器)是独立拥有计算资源、高自由度且性价比极高的云端服务器,适合建站、跑代码、科学上网及私有云存储,相比共享主机,它提供了更接近物理服务器的控制权与稳定性,为什么个人开发者首选VPS而非共享主机在云服务器普及的今天,很多新手容易混淆“共享主机”与“VPS”的概念,共享主机就像合租公寓,大家……

    2026年6月21日
    2500
  • 个人架设服务器真的可行吗?个人架设服务器需要什么配置

    个人架设服务器并非高不可攀的技术黑箱,只要掌握基础网络配置与硬件选型逻辑,普通用户完全可以在家中搭建稳定、安全且具备隐私保护能力的私有云或开发环境,个人服务器核心价值与场景重构过去,提到“服务器”,大多数人脑海中浮现的是机房里嗡嗡作响的机柜和昂贵的IDC托管费用,随着硬件性能过剩和宽带提速,个人服务器已经从极客……

    2026年5月28日
    4000
  • 个人服务器多少钱一台?2026最新服务器价格表

    2026年个人服务器价格已从早期的千元级门槛下探至百元级入门,核心结论是:对于90%的普通用户,选择基于x86架构的二手企业级整机或入门级NAS设备,在3000-5000元预算内即可构建稳定且具备扩展性的家庭私有云,无需盲目追求最新旗舰硬件,个人服务器价格表核心构成与预算区间构建个人服务器并非单纯购买一台电脑……

    2026年5月29日
    6400

发表回复

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