一、解析信号

1. 定义

解析信号没有负频率分量的复值函数,解析信号的实部和虚部是由希尔伯特变换相关联的实值函数。

(参考:解析信号)

2. 概念

一个实值函数  的 Hilbert 变换记作为 ,则  的解析信号为:

3. 性质

(参考:希尔伯特变换简介)

解析信号有如下性质:

(1)实部和虚部功率谱相同;

(2)实部和虚部自相关函数相同;

(3)实部和虚部的互相关函数是奇函数;

(4)解析信号的频谱只有正频段,且幅值变为原来的 2 倍(实现了由双边谱转变为单边谱);

(5)解析信号的功率谱也只有正频段,强度变为原来的 4 倍。

二、希尔伯特变换

1. 定义

一个实值函数 x(t) 的希尔伯特变换是 x(t) 和 1/Πt 的卷积。因此希尔伯特变换的结果就是输入信号 x(t) 经过一个线性时不变系统(LTI)之后的输出,该线性时不变系统的脉冲响应为 1/Πt。

信号经过希尔伯特变换之后,频域内各频率成分的幅值不变,但相位出现 90° 相移。即正频率滞后 Π/2,负频率导前 Π/2,因此希尔伯特变换器又称 90° 移相器。

(参考:希尔伯特变换)

2. 公式推导

假设 x(t) 是一个实值函数,求该函数的希尔伯特变换。

因此  可以被解读为  的线性时不变系统的输出,该线性时不变系统的脉冲响应为:

该脉冲响应的傅里叶变换为:

所以  的傅里叶变换为:

​​​​​​​                        

即:

​​​​​​​                                ​​​​​​​        

(参考:1/t的傅里叶变换证明)

3. 性质

希尔伯特变换器又称 90° 移相器,如下图。两次希尔伯特变换之后,原信号相位翻转了 180°,四次希尔伯特变换之后又变回本身。

        Hilbert 变换有如下性质:

(1)反对称:H(-x) = -H(x);

(2)抑制直流分量:H(0) = 0;

(3)非零频率成分能量为 1:|H(x)| = 1,对于任意 x≠0;

(4) 和  正交。

(参考:希尔伯特变换简介)

三、Hilbert解调原理

1. 信号解调

信号解调是信号调制的反过程,是从已调制的高频信号中解调出原调制信号。信号调制包括调幅、调频、调相,因此信号解调的目的是:根据已有信号,提取出信号的包络、相位、频率信息。

(参考:信号解调的基本原理)

(参考:常用的信号解调方式有哪些?)

2. 欧拉公式(Euler's formula)

欧拉公式说明,复指数信号可以表示成一个实数信号和一个虚数信号和的形式,而且这个实部和虚部是有关系的,两者相位相差

时域信号         傅里叶变换

因此,等式左边的复指数信号的傅里叶变换为 。欧拉公式是最简单的解析信号,可以看出解析信号在时遇上是复数,而在频域上,只有正频率分量,且幅值是实数信号幅值的两倍。

3. 希尔伯特调制原理

假设有一个调制后的实数信号 ,其中  是对信号进行幅度调制(调幅), 是对信号进行相位调制(调相), 是载波频率。则该实数信号的解析信号为:

即:

​​​​​​​

则有:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​                        ​​​​​​​        ​​​​​​​        ​​​​​​​       

其中, 为复包络, 为复载波信号。

        因此解调信息为:

包络:

相位:

瞬时频率:

可以得出:实数信号的瞬时幅值就是解析信号的模,实数信号的瞬时相位就是解析信号虚部和实部比值的反正切值,实数信号的瞬时频率就是瞬时相位的导数除以 2Π。

(参考:希尔伯特变换求包络原理)

(参考:希尔伯特变换与信号的包络_瞬时相位和瞬时频率(pdf 页))

        总结 Hilbert 解调步骤:

(1)求原始信号  的 Hilbert 变换 ,得到原始信号的解析信号

(2)瞬时幅度(包络) = 解析信号的模 =

(3)瞬时相位 =  和  比值的反正切值 = 

(4)瞬时频率 = 瞬时相位的导数 / 2Π =  ,即:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​  

(参考:希尔伯特-黄变换(HHT)的前世今生——一个从瞬时频率讲起的故事)

(参考:希尔伯特变换和瞬时频率问题--连载(二))

4. 希尔伯特解调的意义

        我的疑问是:为什么要对已知的信号进行解调才能得到幅值、相位和频率信息?

解答:因为在实际问题中,我们只知道实数信号  的结果,而不知道其具体形式,所以没有办法直接根据信号公式得到这些信息,所以就用到了希尔伯特解调原理~

(参考:信号处理——Hilbert变换及谱分析)

四、Hilbert解调小栗子

%%
clear; clc; close all; warning off;%% 生成调制信号
fs = 400;  % 采样频率
Ts = 1 / fs;
N = 400;  % 观测时长
t = (0 : N-1) * Ts;fa = 5;  % 调幅单频
fp = 10;  % 调相单频
fc = 30;  % 载波单频a = 1 + 0.5 * cos(2 * pi * fa * t);  % 调幅包络
b = 0.5 * sin(2 * pi * fp * t);  % 调相
c = cos(2 * pi * fc * t);  % 载波
s = a .* cos(2 * pi * fc * t + b);  % 调制信号%% Hilbert分析
s_analy = hilbert(s);  % Matlab的hilbert命令得到的是解析信号
sh = imag(s_analy);  % 调制信号的希尔伯特变换
envelope = abs(s_analy);  % 解析信号包络的绝对值
angle = unwrap(angle(s_analy));  % 解析信号的相位
fi = diff(angle) / 2 / pi * fs;  % 瞬时频率% 作图
figure;
subplot(2, 2, 1);plot(t, a); title('包络(调幅信号)');
subplot(2, 2, 2); plot(t, b); title('调相信号');
subplot(2, 2, 3); plot(t, c); title('载波');
subplot(2, 2, 4);
plot(t, s, 'b'); hold on;
plot(t, sh, 'r--'); hold off;
legend('调制结果', '调制信号的希尔伯特变换'); title('调制信号');%% FFT分析
NFFT = 2 ^ nextpow2(N);
f = (0 : NFFT-1) / NFFT * fs;sFFT = fft(s, NFFT);  % 原始信号FFT
saFFT = fft(s_analy, NFFT);  % 解析信号FFT
envFFT = fft(envelope, NFFT);  % 包络的FFTfigure;
subplot(3, 2, 1);
plot(t, envelope); hold on;
plot(t, a, '--'); hold off;
legend('瞬时包络绝对值', '真实包络'); title('瞬时包络');
subplot(3, 2, 2); plot(t, angle); title('瞬时相位');
subplot(3, 2, 3); plot(t(2:end), fi); title('瞬时频率');
subplot(3, 2, 4); plot(f, abs(sFFT)); title('原始信号FFT');
subplot(3, 2, 5); plot(f, abs(saFFT)); title('解析信号FFT');
subplot(3, 2, 6); plot(f, abs(envFFT)); title('包络的FFT');

         可以看出,解析信号的频谱是单边谱,且幅值是原始实数信号频谱幅值的两倍。另一方面,希尔伯特解调之后存在边界效应,即边界误差较大。

(参考:信号调制产生边频的原理及希尔伯特解调)

(参考:信号处理——Hilbert变换及谱分析)

【20220207】【信号处理】希尔伯特变换定义及解调原理相关推荐

  1. 数字信号处理课程设计——调制与解调

    文字目录 数字信号处理课程设计 摘要: 1绪论 1.1通信信号的调制与解调 1.2设计题目 2卷积定理和希尔伯特公式理论推导 2.1卷积定理 ​2.2希尔伯特公式 3信号DSB调制与希尔伯特解调 3. ...

  2. 连续信号希尔伯特变换

    华电北风吹 日期:2015-04-27 一.希尔伯特变换定义 对于实值函数f(t),t∈(−∞,∞)f(t),t\in (-\infty, \infty),它的希尔伯特变换f^(t)\hat f(t) ...

  3. 通信系统的正交调制(IQ)解调与希尔伯特变换原理

    正交调制与解调 正交信号就是两路频率相同,相位相差90度的载波,一般用sin和cos,与I,Q两路信号分别调制后一起发射,从而提高频谱利用率. 实信号的复数表示 → 解析信号(预包络)z(t) 时域表 ...

  4. 希尔伯特变换与IQ调制解调

    一.希尔伯特变换 1.从瞬时频率说起: 一个周期函数的频率是确定的,的频率是1hz,这是初中生就知道的道理,但现在的问题是:对于一个不规则的信号,它有频率吗? 很多人会说:这还不简单?一个不规则的信号 ...

  5. 【数字信号处理】希尔伯特变换系列1之相位处理(含MATLAB代码)

    利用希尔伯特变换进行相位处理 相位的频域处理 在讨论"理想DFT滤波"时,我们注意到通常信号的相位将保持不变,这意味着不会发生由非线性相位引起的失真.然而,应该总是考虑相位响应(或 ...

  6. hilbert变换_希尔伯特变换 matlab实现

    1.希尔伯特变换在频域的作用 这是一个比较重要而复杂的概念,也有很多重要的应用,那么最重要的一点应用就是频谱搬移(如要深究数学原理可以百度). 简而言之,与希尔伯特函数时域卷积,是在频域将频谱搬移pi ...

  7. 简述EMD分解、希尔伯特变换、谱方法

    只对EMD分解,希尔伯特变换以及一些谱方法的功能做简述,意在告知你输入一个什么信号,可以得到什么结果,本人不是信号处理的,只是拿来用这些方法,对原理也不了解. 目录 1.EMD分解 2.希尔伯特-黄变 ...

  8. 希尔伯特变换在MATLAB中的应用

    原文出处:http://www.cnblogs.com/xingshansi/articles/6498913.html 一.基本理论 A-Hilbert变换定义 对于一个实信号x(t)x(t),其希 ...

  9. 信号处理——Hilbert变换及谱分析

    原文链接 Hilbert通常用来得到解析信号,基于此原理,Hilbert可以用来对窄带信号进行解包络,并求解信号的瞬时频率,但求解包括的时候会出现端点效应,本文对于这几点分别做了简单的理论探讨. 本文 ...

最新文章

  1. 559.N叉树的最大深度
  2. 2017-6-3 jQuery 事件 DOM操作
  3. 四大原因可能让你拿到订单
  4. 类似于HttpModule的注入方式的事件机制示例
  5. setfacl设置特定目录的权限
  6. php配置cors跨域漏洞怎么修复,CORS跨域漏洞的简单认识
  7. LeetCode Algorithm 169. 多数元素
  8. 在企业内部使用openssl创建私有CA
  9. java divide 用法_java中BigDecimal加减乘除基本用法
  10. 认识与防御XSS攻击
  11. SGU[222] Little Rooks
  12. 学到一招!三行 Python 代码轻松提取 PDF 表格数据!
  13. vue 美食杰项目 登录验证
  14. 新体制SAR——BiDi SAR
  15. 在使用计算机时可以用什么键关机,计算机快捷键怎么用(按什么),关机、睡眠等?...
  16. 【JavaScript】获取指定字符串
  17. VC的静态链接库 动态链接库
  18. 用 JavaScript 实现手势库 - 实现监听逻辑【前端组件化】
  19. 河南省 建筑标准规范 合集
  20. 基于C语言实现的医院管理系统

热门文章

  1. JAVA高级基础(26)---File的常用方法
  2. 关于Mongodb的全面总结
  3. java集合类的一些总结——Arrays.asList和Guava操作集合
  4. canvas实现英雄联盟战力图
  5. cqh-class 文件内容,类加载过程,编写第一个程序
  6. Decode函数的基本理解与简单应用
  7. linux7 inittab没有,CentOs7 7个运行级别介绍,(CentOs7 inittab在使用systemd时不再使用)...
  8. 深入理解Java虚拟机(周志明)——读书笔记1
  9. java 文件夹下的文件_java读取某个文件夹下的所有文件
  10. 极客算法训练笔记(六),十大经典排序之希尔排序,快速排序