信号处理-Hilbert包络谱

embedded/2024/11/17 16:34:54/

Hilbert通常用来得到解析信号,基于此原理,Hilbert可以用来对窄带信号进行解包络,并求解信号的瞬时频率,包络谱是通过提取信号的瞬时幅度信息来揭示信号的动态特性。

基本理论

A-Hilbert变换定义

对于一个实信号x(t),其希尔伯特变换为:x~(t)=x(t)∗1πt

式中*表示卷积运算。

Hilbert本质上也是转向器,对应频域变换为:
1πt⇔j⋅sign(ω)

即余弦信号的Hilbert变换时正弦信号,又有:
1πt∗1πt⇔j⋅sign(ω)⋅j⋅sign(ω)=−1

即信号两次Hilbert变换后是其自身相反数,因此正弦信号的Hilbert是负的余弦。
对应解析信号为:z(t)=x(t)+jx~(t)

此操作实现了信号由双边谱到单边谱的转化。

B-Hilbert解调原理

设有窄带信号:
x(t)=a(t)cos[2πfst+φ(t)]

其中fs是载波频率,a(t)是x(t)的包络,φ(t)是x(t)的相位调制信号。由于x(t)是窄带信号,因此a(t)也是窄带信号,可设为:
a(t)=[1+∑m=1MXmcos(2πfmt+γm)]

式中,fm为调幅信号a(t)的频率分量,γm为fm
的各初相角。
对x(t)进行Hilbert变换,并求解解析信号,得到:
z(t)=ej[2πfs+φ(t)][1+∑m=1MXmcos(2πfmt+γm)]

设A(t)=[1+∑m=1MXmcos(2πfmt+γm)]

Φ(t)=2πfst+φ(t)

则解析信号可以重新表达为:
z(t)=A(t)ejΦ(t)

对比x(t)

表达式,容易发现:
a(t)=A(t)=x2(t)+x~2(t)

φ(t)=Φ(t)−2πfst=arctanx(t)x~(t)−2πfst

由此可以得出:对于窄带信号x(t),利用Hilbert可以求解解析信号,从而得到信号的幅值解调a(t)和相位解调φ(t),并可以利用相位解调求解频率解调f(t)


http://www.ppmy.cn/embedded/138291.html

相关文章

Android 最新的AndroidStudio引入依赖失败如何解决?如:Failed to resolve:xxxx

错误信息: 在引入依赖时报错:Failed to resolve: xxx.xxxx:1.1.0 解决方案: 需要修改maven库的代理,否则就需要翻墙编译 新的AndroidStudio版本比较坑,修改代理的位置发生了变化: 最新变化:…

浙大版《C语言程序设计(第4版)》题目集(一)

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉”

【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉” 零、报错 在使用DiskGenius对磁盘分区进行调整时,DiskGenius检查出磁盘报错,报错信息:文件使用的簇被标记为空闲或与其它文件有交叉,…

机器学习—决定下一步做什么

现在已经看到了很多不同的学习算法,包括线性回归、逻辑回归甚至深度学习或神经网络。 关于如何构建机器学习系统的一些建议 假设你已经实现了正则化线性回归来预测房价,所以你有通常的学习算法的成本函数平方误差加上这个正则化项,但是如果…

HarmonyOS App 购物助手工具的开发与设计

文章目录 摘要引言功能需求分析技术方案与设计架构设计技术选型 代码示例Demo数据抓取模块数据存储模块历史价格查询和数据可视化模块完整界面布局和调用示例代码详解 QA环节总结参考资料 摘要 随着促销活动的增多,用户面临真假折扣的困惑,特别是在一些…

【MYSQL】分库分表

一、什么是分库分表 分库分表就是指在一个数据库在存储数据过大,或者一个表存储数据过多的情况下,为了提高数据存储的可持续性,查询数据的性能而进行的将单一库或者表分成多个库,表使用。 二、为什么要分库分表 分库分表其实是两…

uniapp中h5端如何引用本地json数据(json文件)

前言 uniapp读取本地json数据文件&#xff0c;有下面两种方式可以实现&#xff1a; 文件后缀为.json类型文件后缀为.js类型 这里展示后缀为.js类型的处理方式 1、在static中创建后缀为.js的文件存储json数据。 注意使用export导出 2、在要使用的页面导入 <template>…

windows系统开发环境使用docker打包Django程序部署至服务器Ubuntu系统中

正常创建开发Django项目即可&#xff0c;推荐使用虚拟环境开发 &#xff08;virtualenv&#xff09; 在Ubuntu安装docker 在windows系统安装docker 链接 需要启用WSL 2&#xff0c;这个可以在Microsoft store 下载Ubuntu系统 docker默认安装在c盘&#xff0c;会占用很多空间&am…