希尔伯特变换的在信号解调时的示例

news2024/11/14 22:00:58

1.希尔伯特变换的应用场景

希尔伯特变换,在数学上的含义是清晰的。它是一个数字移相器,可以把通过它的任何一个信号相移-90度。这个数学工具在信号解调时,会有非常有用的特性出现。可以看示例:

解释一下:

1.最上面的波形是载波和待叠加的低频信号。

2.中间的波形是经过信道传输的经过载波叠加的调幅波

3.是包络信号,实际上就是去除载波后的低频信号。注意,最后的载波信号被整体提升了一个幅度为载波信号幅度的直流分量。

2.相关例程

import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import hilbert

# Generate a sample signal
t = np.linspace(0, 1, 1000)
frequency = 100  # Frequency of the carrier signal
amplitude = 0.5  # Amplitude of the modulating signal
carrier_signal = np.sin(2 * np.pi * frequency * t)
modulating_signal = amplitude * np.sin(2 * np.pi * 2 * t)  # Modulating signal

# Combine modulating signal and carrier signal
fm_signal = carrier_signal * (1 + modulating_signal)

# Perform Hilbert transform
analytic_signal = hilbert(fm_signal)

# Extract envelope
amplitude_envelope = np.abs(analytic_signal)

# Plotting
plt.figure(figsize=(8, 6))
plt.subplot(311)
plt.plot(t, carrier_signal, color='blue', label='Carrier')
plt.plot(t, modulating_signal, color='green', label='Modulating')
plt.xlabel('Time')
plt.ylabel('Amplitude')
plt.legend()

plt.subplot(312)
plt.plot(t, fm_signal, color='red', label='FM Signal')
plt.xlabel('Time')
plt.ylabel('Amplitude')
plt.legend()

plt.subplot(313)
plt.plot(t, amplitude_envelope, color='purple', label='Envelope')
plt.xlabel('Time')
plt.ylabel('Amplitude')
plt.legend()

plt.tight_layout()
plt.show()

3.分析

我理解希尔伯特变换的物理含义,可以徒手编写代码完成计算。我也大致能理解它的上述应用场景。但是我很难把这两者关联起来。网络有一则看起来很能自圆其说的分享帖,关于地球物理中地震波的各个频段的震波因介质传播速度而必须进行的相位校准,那个场景无需希尔伯特变换出马。FFT本身就能搞定。FFT本身就有相位信息,用那个方法做相位修正似乎不必要。

但是,注意希尔伯特变换提供的是一个非常精准的90度移相,这意味着,控制好输入参数,它可以精准的进行特定频点的抹除。

3.1 一个物理解释 - 锁相 - 相移 - 变换 - 得到包络

希尔波特变换生成的虚部是不是实信号相移-90度的信号?

是的,希尔伯特变换生成的虚部信号通常可以看作是原始信号的相移后的信号,相移角度为-90度(或π/2 弧度)。

希尔伯特变换是一种特殊的傅里叶变换,其结果包括原始信号的实部和虚部。虚部信号经常用于表达原始信号的相位信息。而在大多数情况下,希尔伯特变换生成的虚部信号可以视为原始信号相位后退90度。

在调幅调制中,通过载波信号的幅度变化来传输调制信号的信息。希尔伯特变换可以帮助我们提取出调制信号的相位信息,从而能够进行解调。

需要注意的是,在某些特定情况下,虚部信号的相位角度可能不完全是-90度,这取决于信号的频谱特性和具体的应用场景。

它的作用是不是消除一切固定信号,只保留瞬时信号?

希尔伯特变换的一个重要应用是消除固定信号,只保留瞬时信号。瞬时信号指的是信号的瞬时特征,例如信号的瞬时幅度和瞬时相位。

希尔伯特变换通过引入90度相移来进行这种固定信号的消除。在频域中,它可以通过乘以一个复指数来实现。这个复指数在频率上具有一个极点,而在相位上具有一个-90度的延迟。

因此,希尔伯特变换可以将固定信号转换为实部为0的复数信号,而将瞬时信号保留在虚部中。通过舍弃实部为0的部分,可以消除固定信号,只留下瞬时信号。

这种特性使得希尔伯特变换在信号分析和处理中有广泛的应用,特别是在瞬时频率分析和振动信号处理等领域。

需要注意的是,希尔伯特变换并不总是能完美地消除固定信号,因为它依赖于信号的频谱特性和变换的精确度。在实际应用中,要根据具体情况来确定使用的方法和技术。

感谢您的问题,如果还有其他疑问,请随时提问。

它是怎么把固定信号滤掉的?

希尔伯特变换是一种通过引入90度相移来消除固定信号的变换方法。更具体地说,希尔伯特变换需要在频域中乘以一个复指数,这个复数在频率上具有一个极点,相位上具有一个-90度的延迟。

当信号通过希尔伯特变换时,它会被分解为实部和虚部两个部分。固定信号通常会体现在实部中,而瞬时信号则主要体现在虚部中。

由于复指数的相位延迟,固定信号在希尔伯特变换后会出现在实部,并且实部为0。同时,瞬时信号在虚部中得到保留。

因此,通过丢弃实部为0的部分,希尔伯特变换能够实现固定信号的滤除,保留瞬时信号。

需要注意的是,希尔伯特变换并不总是能够完全消除固定信号,因为它受到信号的频谱特性和变换的精确度的限制。因此,在实际应用中,要根据具体情况来确定使用的方法和技术。

他需要把载波信号对齐到0相位才行,对吧?

是的,对于希尔伯特变换的应用,如果要将所处理的信号与一个参考信号进行相位对齐,通常需要将载波信号对齐到0相位。

在某些应用中,例如调幅调制或解调中,希尔伯特变换通常用于提取信号的相位信息。而为了准确提取相位信息,需要将信号的载波信号与参考信号进行相位对齐。

相位对齐可以通过多种方式实现,具体取决于应用场景和系统要求。一种常见的方法是使用相位锁定环路(PLL)来追踪和控制相位偏移,使得载波信号与参考信号保持相位一致。另一种方法是使用触发器或延迟线等设备来调整信号的相位。

需要注意的是,在某些应用中,希尔伯特变换的结果可能对相位的初始对齐要求比较敏感。因此,在使用希尔伯特变换之前,确保载波信号与参考信号的相位对齐非常重要。

复平面的离散矢量乘法是复数域的两组矢量的逐点扭转。通过对矢量乘法之后的信号叠加上固定信号的同频信号,就可以在希尔伯特变换后,让这两个信号因为-90度的相位关系(希尔伯特变换会保证在运算过程中把这两个同频等幅信号,精确各自扭转到方向相反的位置——矢量乘法已经扭了一次,从而实现反向消除)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

transformer | transformer的输入部分input coding

文章目录 transformer的输入部分input codingBPEBPE所解决的问题——OOV PE(Position Encoding)位置编码 transformer的输入部分input coding transformer的输入部分input codingBPEPE BPE BPE是指一种词分类算法。 起初,会将每个单词都拆分…

旧物回收小程序开发:创新与可持续发展的交汇点

随着社会的发展和人们生活水平的提高,物品的更新换代速度越来越快,这导致了大量的旧物被闲置或丢弃。为了解决这个问题,旧物回收成为了重要的环保行动。而随着移动互联网的普及,旧物回收小程序的开发也成为了新的趋势。本文将探讨…

本次安装Visual Studio 所用的安装程序不完整。请重新运行VisualStudio安装程序以解决此问题

今天点开VS的时候遇到了这个问题 因为昨天升级到一半电脑关机了,今天打开软件遇到如下错误, 解决办法很简单,找到安装目录进入Installer文件夹 我的目录在C:\Program Files (x86)\Microsoft Visual Studio\Installer 找到vs_installer.exe…

《HTML 简易速速上手小册》第8章:HTML 表单高级技术(2024 最新版)

文章目录 8.1 数据收集与处理8.1.1 基础知识8.1.2 案例 1:创建一个注册表单8.1.3 案例 2:创建一个调查问卷表单8.1.4 案例 3:创建一个动态添加输入字段的表单 8.2 定制化表单元素8.2.1 基础知识8.2.2 案例 1:创建一个带有定制选择…

打击者H5小游戏

欢迎来到程序小院 打击者 玩法&#xff1a;点击飞机上下左右移动躲过子弹射击&#xff0c;打掉上方敌人飞机&#xff0c; 遇到药包会增加能量&#xff0c;弹药包会升级武器&#xff0c;快去射击吧^^。开始游戏https://www.ormcc.com/play/gameStart/262 html <div id"…

点击查看 Milvus 社区十大关键词(下)

在昨天的文章《点击查看 Milvus 社区十大关键词&#xff08;上&#xff09;》中&#xff0c;我们提到将 2023 年所有 Milvus 技术交流群的聊天历史做了整理分析&#xff0c;得到了如下的一张词云图&#xff1a; 按照热度&#xff0c;排名前十的关键词依次为&#xff1a;版本、查…

游戏缺失d3dcompiler_47.dll怎么办,这五种方法可以帮你解决

d3dcompiler_47.dll文件的缺失可能会导致一系列显著且影响用户体验的问题。作为DirectX 3D编译器的重要组件&#xff0c;该动态链接库文件在许多依赖于高级图形处理的应用程序和游戏运行过程中起着至关重要的作用。当系统中缺少这个特定的dll文件时&#xff0c;可能会出现诸如应…

会话技术复习笔记

一.登录校验的需求 什么是登录校验&#xff1f; 所谓登录校验&#xff0c;指的是我们在服务器端接收到浏览器发送过来的请求之后&#xff0c;首先我们要对请求进行校验。先要校验一下用户登录了没有&#xff0c;如果用户已经登录了&#xff0c;就直接执行对应的业务操作就可以…

H264 编码标准配置档次 Profile 详解

H264 中 Profile 定义&#xff1a; H264 标准中规定了 多种档次Profile&#xff0c; 每种 Profile 都规定了一个算法特征和限制的子集&#xff0c;任何遵守某个 Profile 的解码器都应该支持与其相应的子集。维基百科中解释&#xff1a; The standard defines several sets of …

深度学习之循环神经网络 (基础)

循环神经网络简称为RNN&#xff0c;&#xff08;之前讲到的卷积神经网络简称为CNN&#xff09;。 以前我们在使用全链接网络的时候&#xff0c;我们将这种网络叫做Dense 或者是Deep。 Dense链接指的是全链接的。 我们输入的数据是数据样本的不同特征&#xff1a;x1&#xff…

STM32F407移植OpenHarmony笔记4

上一篇写到make menuconfig报错&#xff0c;继续开整。 make menuconfig需要/device/soc/*下面有对应的Kconfig文件。 直接去gitee下载stm32的配置文件拿来参考用。 先提取Kconfig文件&#xff0c;后面再添加其它文件。https://gitee.com/openharmony/device_soc_st/tree/Open…

ubuntu 22安装配置并好安全加固后,普通用户一直登录不上

现象 ubuntu 22安装配置并好安全加固后&#xff0c;普通用户一直登录不上 排查报错 查看日志/var/log/auth.log发现报错 Jan 30 15:49:57 aiv-O-E-M sshd[62570]: PAM unable to dlopen(pam_tally2.so): /lib/security/pam_tally2.so: cannot open shared object file: No …

Docker最新超详细版教程通俗易懂(基础版)

Docker概述 概念&#xff1a;容器虚拟化技术&#xff0c;系统平滑移植&#xff0c;解决了运⾏环境和配置问题的软件容 器&#xff0c;⽅便做持续集成并有助于整体发布的容器虚拟化技术 意义&#xff1a;Docker的出现使得Docker得以打破过去程序即应⽤的观念&#xff0c;透过…

详讲api网关之kong的基本概念及安装和使用(二)

consul的服务注册与发现 如果不知道consul的使用&#xff0c;可以点击上方链接&#xff0c;这是我写的关于consul的一篇文档。 upstreamconsul实现负载均衡 我们知道&#xff0c;配置upstream可以实现负载均衡&#xff0c;而consul实现了服务注册与发现&#xff0c;那么接下来…

短视频与小程序:如何实现完美结合?

在短视频日益成为人们娱乐、社交和信息获取的重要渠道的今天&#xff0c;如何在短视频平台进行小程序推广成为了许多企业和品牌关注的焦点。本文将介绍如何利用短视频平台进行小程序推广&#xff0c;提升品牌曝光和用户互动。 首先&#xff0c;打开乔拓云-门店系统的后台&#…

让AI帮你说话--GPT-SoVITS教程

有时候我们在录制视频的时候&#xff0c;由于周边环境嘈杂或者录音设备问题需要后期配音&#xff0c;这样就比较麻烦。一个比较直观的想法就是能不能将写好的视频脚本直接转换成我们的声音&#xff0c;让AI帮我们完成配音呢&#xff1f;在语音合成领域已经有很多这类工作了&…

Linux操作系统权限相关问题(一站式速通权限)

一、sudo命令 sudo yum install -y sl sudo命令的作用 不切换用户&#xff0c;就想让普通用户以root的身份&#xff0c;执行对应的指令 输入密码时&#xff0c;输入的是自己普通用户的密码&#xff0c;而不是root的密码&#xff01;&#xff01;&#xff01; sudo可以进行…

500道微信小程序毕业设计题目,小程序新颖毕业选题推荐,建议收藏

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

通过Demo学WPF—数据绑定(一)✨

前言✨ 想学习WPF&#xff0c;但是看视频教程觉得太耗时间&#xff0c;直接看文档又觉得似懂非懂&#xff0c;因此想通过看Demo代码文档的方式进行学习。 准备✨ 微软官方其实提供了WPF的一些Demo&#xff0c;地址为&#xff1a;microsoft/WPF-Samples: Repository for WPF …

仿真APP在金属波纹管液压胀形工艺设计中的应用

一、背景介绍 金属波纹管是带有波纹状截面的金属管状零件&#xff0c;在工业中应用广泛。金属波纹管特殊的截面形状使其具备较好的柔韧性&#xff0c;能够在一定范围内伸缩弯曲。这一特性赋予波纹管两大用途&#xff1a;一是作为变形补偿器&#xff0c;可用于补偿管道设备由于…