Hilbert变换及谱分析
在数学与信号处理的领域中,一个实数值函数的希尔伯特转换(Hilbert transform)——在此标示为——是将信号与做卷积,以得到。因此,希尔伯特转换结果可以被解读为输入是的线性非时变系统(linear time invariant system)的输出,而此一系统的脉冲响应为。这是一项有用的数学,用在描述一个以实数值载波做调制的信号之复数包络(complex envelope),出现在通讯理论(应用方面的详述请见下文。)
希尔伯特转换是以著名数学家大卫·希尔伯特(David Hilbert)来命名。
定义
希尔伯特转换定义如下:
其中
并考虑此积分为柯西主值(Cauchy principal value),其避免掉在以及等处的奇点。
另外要指出的是:若,则可被定义,且属于;其中。
频率响应
希尔伯特转换之频率响应由傅立叶变换给出:
- ,
其中
- 是傅立叶变换,
- i (有时写作j )是虚数单位,
- 是角频率,以及
即为符号函数。
既然:
- ,
希尔伯特转换会将负频率成分偏移+90°,而正频率成分偏移−90°。
反(逆)希尔伯特转换
我们也注意到:。因此将上面方程式乘上,可得到:
从中,可以看出反(逆)希尔伯特转换
特性
边界
若 1<p<∞,则 Lp(R)之希尔伯特转换为一有界算子,表示存在一常数Cp使得
对所有 u∈Lp(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) 上由以下式子表示
- % Hilbert transform testing
- clc
- clear all
- close all
- ts = 0.001;
- fs = 1/ts;
- N = 200;
- f = 50;
- k = 0:N-1;
- t = k*ts;
- % signal transform
- % 结论:sin信号Hilbert变换后为cos信号
- y = sin(2*pi*f*t);
- yh = hilbert(y); % matlab函数得到信号是合成的复信号
- yi = imag(yh); % 虚部为书上定义的Hilbert变换
- figure
- subplot(221)
- plot(t, y)
- title('原始sin信号')
- subplot(222)
- plot(t, yi)
- title('Hilbert变换信号')
- % 检验两次Hilbert变换的结果(理论上为原信号的负值)
- % 结论:两次Hilbert变换的结果为原信号的负值
- yih = hilbert(yi);
- yii = imag(yih);
- max(y + yii)
- % 信号与其Hilbert变换的正交性
- % 结论:Hilbert变换后的信号与原信号正交
- sum(y.*yi)
- % 谱分析
- % 结论:Hilbert变换后合成的复信号的谱没有大于奈氏频率的频谱,即其谱为单边的
- NFFT = 2^nextpow2(N);
- f = fs*linspace(0,1,NFFT);
- Y = fft(y, NFFT)/N;
- YH = fft(yh, NFFT)/N;
- %figure
- subplot(223)
- plot(f,abs(Y))
- title('原信号的双边谱')
- xlabel('频率f (Hz)')
- ylabel('|Y(f)|')
- subplot(224)
- plot(f,abs(YH))
- title('信号Hilbert变换后组成的复信号的双边谱')
- xlabel('频率f (Hz)')
- ylabel('|YH(f)|')
第一个程序效果如下
Hilbert变换及谱分析相关推荐
- 信号处理——Hilbert变换及谱分析
原文链接 Hilbert通常用来得到解析信号,基于此原理,Hilbert可以用来对窄带信号进行解包络,并求解信号的瞬时频率,但求解包括的时候会出现端点效应,本文对于这几点分别做了简单的理论探讨. 本文 ...
- c++ 包络谱分析代码_信号处理——Hilbert变换及谱分析
作者:桂. 时间:2017-03-03 23:57:29 前言 Hilbert通常用来得到解析信号,基于此原理,Hilbert可以用来对窄带信号进行解包络,并求解信号的瞬时频率,但求解包括的时候会出 ...
- 【 FPGA 】FIR滤波器之 Hilbert 变换的实现
上篇博文:半带 FIR 滤波器(Half-band FIR Filter) 希尔伯特变换在数字通信系统中有很多种使用方式.理想的希尔伯特变换为正频率提供90度的相移,为负频率提供-90度的相移. 希尔 ...
- 瞬时频率函数matlab,Hilbert 变换与瞬时频率
Hilbert 变换与瞬时频率 Hilbert 变换仅可估计单分量信号的瞬时频率.单分量信号在时频平面中用单一"脊"来描述.单分量信号包括单一正弦波信号和 chirp 等信号. 生 ...
- python 波形包络线_Python在信号与系统中的应用(1)——Hilbert变换,Hilbert在单边带包络检波的应用,FIR_LPF滤波器设计,还有逼格高高的FM(PM)调制...
多谢董老师,董老师是个好老师! 心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背不过,还是放放吧. 最近厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一 ...
- Hilbert 变换提取信号特征的 Python 实现
希尔伯特变换(hilbert transform) 一个连续时间信号s(t)的希尔伯特变换等于该信号通过具有冲激响应h(t)=1/πt的线性系统以后的输出响应sh(t). 好的,这是Hilbert变换 ...
- Hilbert变换和接收机(I)
参考:Razavi 射频微电子 第四章 1.Hilbert变换和解析信号 Hilbert变换时域上是一个系统响应为 的系统.信号通过此系统对应的频域变换为.其中正频率成分乘-j,负频率成分乘j.对应 ...
- 挖掘机包络图matlab_MATLAB|Hilbert变换与包络线绘制
1. 问题描述 信号处理中,对于较为负复杂的信号,我们有时候需要提取包络线分析.如下图: mark 2. 技术背景 提取包络线,在信号处理中往往采用Hilbert变换. 3. 解决方案 h = hil ...
- Vivado hilbert变换的实现
Vivado hilbert变换的实现 1 待解决的问题 2 实现流程 2.1 希尔伯特滤波器的输入数据生成 2.2 生成希尔伯特滤波器IP核的系数文件 2.2.1 生成hilbert滤波器的系数,即 ...
- python 希尔伯特变换_Python在信号与系统中的应用(1)——Hilbert变换,Hilbert在单边带包络检波的应用,FIR_LPF滤波器设计,还有逼格高高的FM(PM)调制...
多谢董老师,董老师是个好老师! 心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背不过,还是放放吧. 最近厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一 ...
最新文章
- numpy——hsplit()、vsplit()函数的详细使用
- Hive 正则匹配函数 regexp_extract
- java 有序set_Java 从Set里面取出有序的记录详解及实例
- Vue 官方团队的 57 个技术分享,你看懂了几个?
- pads2007 LISENCE 报错解决方案
- HDU 6191 2017广西邀请赛Query on A Tree:可持久化01字典树(区间抑或最大值查询)
- MatConvNet训练自己的网络
- 哪上班 | 好工作近在咫尺
- 一文读懂云计算、大数据、人工智能
- linux搭建智能dns步骤,Linux下智能DNS配置过程
- 【web测试】Xenu的使用
- 用可视化解构BERT,我们从上亿参数中提取出了6种直观模式
- MEION:锁相环锁定状态仿真与板载测试情况分析
- java源代码实现判断闰年和平年
- u)dym)l$_@3*0y3u_pvy@34ky1co1j$lfd1wp-w*8x%30@f7t$
- Matplotlib设置坐标轴日期格式
- opc是什么? opc ua是什么?
- 什么是思维导图?有哪些好用的思维导图工具
- 彩虹登录聚合中转API程序网站源码「免授权」
- 自定义根证书颁发机构 CA 生成自签名证书
热门文章
- ISSCC 2018 13.2论文笔记
- PB通过VDN实现Http上传、下载
- DHCPv6原理与实验(华为设备)
- 电子签的背后江湖:腾讯、蚂蚁、字节跳动的较量
- 在python中用os模块实现批量移动文件
- Arduino(c) 16进制转字符串
- GSCOOLINK GSV2006替CH6002 HDMI2.0接口芯片
- ns账号切换服务器对存档有影响吗,switch主副账号切换与存档机制简介 - 步蜗网...
- 2019年中国航空三字代码对照表完全汇总
- matlab 透镜设计,一种用于均匀照明的LED透镜设计方法