在数学与信号处理的领域中,一个实数值函数希尔伯特转换(Hilbert transform)——在此标示为——是将信号做卷积,以得到。因此,希尔伯特转换结果可以被解读为输入是的线性非时变系统(linear time invariant system)的输出,而此一系统的脉冲响应为。这是一项有用的数学,用在描述一个以实数值载波做调制的信号之复数包络(complex envelope),出现在通讯理论(应用方面的详述请见下文。)

希尔伯特转换是以著名数学家大卫·希尔伯特(David Hilbert)来命名。

定义

希尔伯特转换定义如下:

其中

并考虑此积分为柯西主值(Cauchy principal value),其避免掉在以及等处的奇点。

另外要指出的是:若,则可被定义,且属于;其中

频率响应

希尔伯特转换之频率响应由傅立叶变换给出:

,  

其中

  • 是傅立叶变换,
  • i (有时写作j )是虚数单位,
  • 是角频率,以及

即为符号函数。

既然:

,

希尔伯特转换会将负频率成分偏移+90°,而正频率成分偏移−90°。

反(逆)希尔伯特转换

我们也注意到:。因此将上面方程式乘上,可得到:

从中,可以看出反(逆)希尔伯特转换

特性

边界

若 1<p<∞,则 Lp(R)之希尔伯特转换为一有界算子,表示存在一常数Cp使得

对所有 uLp(R)。这个定理由Riesz (1928, VII)所推得;请一并参见Titchmarsh (1948, Theorem 101)。 最佳常数Cp可由下列算式得到:

这个结果由(Pichorides 1972)所推得;请一并参见Grafakos (2004, Remark 4.1.8)。上述最佳常数计算方式应用在周期性希尔伯特转换一样成立。

希尔伯特转换的边界指的是 Lp(R) 对称级数运算子对于在 Lp(R) 之中 f 的收敛

请参见(Duoandikoetxea 2000,p.59)。

反自伴性

希尔伯特转换为一反自伴算子,连结 Lp(R) 与其对偶空间 Lq(R),其中 p 和 q 为 赫尔德共轭且 1 < p,q < ∞. 以符号表示

对 u ∈ Lp(R) 且 v ∈ Lq(R) (Titchmarsh 1948,Theorem 102).

逆转换

希尔伯特转换为一反-对合 (Titchmarsh 1948,p.120),意即

假定每一转换皆完整定义过。由于 H 保存了 Lp(R)空间,这特别代表希尔伯特转换在 Lp(R) 上是不可逆的,且

微分

正式上,一个式子其希尔伯特转换的微分即为其微分的希尔伯特转换,意即这两者是可以交换的线性算子

此一特性亦可迭代

给定 u 以及其前k次微分皆属于Lp(R) (Pandey 1996,§3.3)空间,此项论述为严格成立。在频域上可以轻易验证这件事情,由于微分在频域上即为与 ω 之乘积。

旋积

希尔伯特转换可表示为与一调节分布之旋积 (Duistermaat & Kolk 2010,p.211)

因此可如此表示

然而,事前此特性可能只有对紧支撑之分布 u定义。由于紧支撑函数在 Lp 上是稠密的,因此此项特性可能严格成立。另一角度来看,也可使用h(t) 其微分之特性来证明

在大部分的用途,希尔伯特转换可被视为是一旋积。举例而言,旋积与希尔伯特转换具备下列可交换的特性

若 u 和 v 为紧支撑分布,则此项论述严格成立,在这个状况下

不变性

希尔伯特转换在空间 L2(R) 上有下列特性

  • 可与算子 Taƒ(x) = ƒ(x + a) 交换,对所有实数 a
  • 可与算子 Mλƒ(x) = ƒ(λx) 交换,对所有 λ > 0
  • 可与镜射 Rƒ(x) = ƒ(−x) 反交换

实际上,有更大一部分的算子可与希尔伯特转换交换。群组 SL(2,R) 由幺正算符 Ug 可在空间 L2(R) 上由以下式子表示

[plain] view plaincopy print?
  1. % Hilbert transform testing
  2. clc
  3. clear all
  4. close all
  5. ts = 0.001;
  6. fs = 1/ts;
  7. N = 200;
  8. f = 50;
  9. k = 0:N-1;
  10. t = k*ts;
  11. % signal transform
  12. % 结论:sin信号Hilbert变换后为cos信号
  13. y = sin(2*pi*f*t);
  14. yh = hilbert(y);    % matlab函数得到信号是合成的复信号
  15. yi = imag(yh);      % 虚部为书上定义的Hilbert变换
  16. figure
  17. subplot(221)
  18. plot(t, y)
  19. title('原始sin信号')
  20. subplot(222)
  21. plot(t, yi)
  22. title('Hilbert变换信号')
  23. % 检验两次Hilbert变换的结果(理论上为原信号的负值)
  24. % 结论:两次Hilbert变换的结果为原信号的负值
  25. yih = hilbert(yi);
  26. yii = imag(yih);
  27. max(y + yii)
  28. % 信号与其Hilbert变换的正交性
  29. % 结论:Hilbert变换后的信号与原信号正交
  30. sum(y.*yi)
  31. % 谱分析
  32. % 结论:Hilbert变换后合成的复信号的谱没有大于奈氏频率的频谱,即其谱为单边的
  33. NFFT = 2^nextpow2(N);
  34. f = fs*linspace(0,1,NFFT);
  35. Y = fft(y, NFFT)/N;
  36. YH = fft(yh, NFFT)/N;
  37. %figure
  38. subplot(223)
  39. plot(f,abs(Y))
  40. title('原信号的双边谱')
  41. xlabel('频率f (Hz)')
  42. ylabel('|Y(f)|')
  43. subplot(224)
  44. plot(f,abs(YH))
  45. title('信号Hilbert变换后组成的复信号的双边谱')
  46. xlabel('频率f (Hz)')
  47. ylabel('|YH(f)|')

第一个程序效果如下

Hilbert变换及谱分析相关推荐

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

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

  2. c++ 包络谱分析代码_信号处理——Hilbert变换及谱分析

    作者:桂. 时间:2017-03-03  23:57:29 前言 Hilbert通常用来得到解析信号,基于此原理,Hilbert可以用来对窄带信号进行解包络,并求解信号的瞬时频率,但求解包括的时候会出 ...

  3. 【 FPGA 】FIR滤波器之 Hilbert 变换的实现

    上篇博文:半带 FIR 滤波器(Half-band FIR Filter) 希尔伯特变换在数字通信系统中有很多种使用方式.理想的希尔伯特变换为正频率提供90度的相移,为负频率提供-90度的相移. 希尔 ...

  4. 瞬时频率函数matlab,Hilbert 变换与瞬时频率

    Hilbert 变换与瞬时频率 Hilbert 变换仅可估计单分量信号的瞬时频率.单分量信号在时频平面中用单一"脊"来描述.单分量信号包括单一正弦波信号和 chirp 等信号. 生 ...

  5. python 波形包络线_Python在信号与系统中的应用(1)——Hilbert变换,Hilbert在单边带包络检波的应用,FIR_LPF滤波器设计,还有逼格高高的FM(PM)调制...

    多谢董老师,董老师是个好老师! 心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背不过,还是放放吧. 最近厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一 ...

  6. Hilbert 变换提取信号特征的 Python 实现

    希尔伯特变换(hilbert transform) 一个连续时间信号s(t)的希尔伯特变换等于该信号通过具有冲激响应h(t)=1/πt的线性系统以后的输出响应sh(t). 好的,这是Hilbert变换 ...

  7. Hilbert变换和接收机(I)

    参考:Razavi 射频微电子 第四章 1.Hilbert变换和解析信号 Hilbert变换时域上是一个系统响应为  的系统.信号通过此系统对应的频域变换为.其中正频率成分乘-j,负频率成分乘j.对应 ...

  8. 挖掘机包络图matlab_MATLAB|Hilbert变换与包络线绘制

    1. 问题描述 信号处理中,对于较为负复杂的信号,我们有时候需要提取包络线分析.如下图: mark 2. 技术背景 提取包络线,在信号处理中往往采用Hilbert变换. 3. 解决方案 h = hil ...

  9. Vivado hilbert变换的实现

    Vivado hilbert变换的实现 1 待解决的问题 2 实现流程 2.1 希尔伯特滤波器的输入数据生成 2.2 生成希尔伯特滤波器IP核的系数文件 2.2.1 生成hilbert滤波器的系数,即 ...

  10. python 希尔伯特变换_Python在信号与系统中的应用(1)——Hilbert变换,Hilbert在单边带包络检波的应用,FIR_LPF滤波器设计,还有逼格高高的FM(PM)调制...

    多谢董老师,董老师是个好老师! 心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背不过,还是放放吧. 最近厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一 ...

最新文章

  1. numpy——hsplit()、vsplit()函数的详细使用
  2. Hive 正则匹配函数 regexp_extract
  3. java 有序set_Java 从Set里面取出有序的记录详解及实例
  4. Vue 官方团队的 57 个技术分享,你看懂了几个?
  5. pads2007 LISENCE 报错解决方案
  6. HDU 6191 2017广西邀请赛Query on A Tree:可持久化01字典树(区间抑或最大值查询)
  7. MatConvNet训练自己的网络
  8. 哪上班 | 好工作近在咫尺
  9. 一文读懂云计算、大数据、人工智能
  10. linux搭建智能dns步骤,Linux下智能DNS配置过程
  11. 【web测试】Xenu的使用
  12. 用可视化解构BERT,我们从上亿参数中提取出了6种直观模式
  13. MEION:锁相环锁定状态仿真与板载测试情况分析
  14. java源代码实现判断闰年和平年
  15. u)dym)l$_@3*0y3u_pvy@34ky1co1j$lfd1wp-w*8x%30@f7t$
  16. Matplotlib设置坐标轴日期格式
  17. opc是什么? opc ua是什么?
  18. 什么是思维导图?有哪些好用的思维导图工具
  19. 彩虹登录聚合中转API程序网站源码「免授权」
  20. 自定义根证书颁发机构 CA 生成自签名证书

热门文章

  1. ISSCC 2018 13.2论文笔记
  2. PB通过VDN实现Http上传、下载
  3. DHCPv6原理与实验(华为设备)
  4. 电子签的背后江湖:腾讯、蚂蚁、字节跳动的较量
  5. 在python中用os模块实现批量移动文件
  6. Arduino(c) 16进制转字符串
  7. GSCOOLINK GSV2006替CH6002 HDMI2.0接口芯片
  8. ns账号切换服务器对存档有影响吗,switch主副账号切换与存档机制简介 - 步蜗网...
  9. 2019年中国航空三字代码对照表完全汇总
  10. matlab 透镜设计,一种用于均匀照明的LED透镜设计方法