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

作者:桂。

时间:2017-03-03  23:57:29

前言

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

本文内容多有借鉴他人,最后一并附上链接。

一、基本理论

A-Hilbert变换定义

对于一个实信号$x(t)$,其希尔伯特变换为:

$\tilde x(t) = x(t) * \frac{1}{\pi t}$

式中*表示卷积运算。

Hilbert本质上也是转向器,对应频域变换为:

$\frac{1}{ {\pi t}} \Leftrightarrow j\cdot \;sign(\omega )$

即余弦信号的Hilbert变换时正弦信号,又有:

$\frac{1}{ {\pi t}}*\frac{1}{ {\pi t}} \Leftrightarrow j \cdot \;sign(\omega ) \cdot j \cdot \;sign(\omega ) =  - 1$

即信号两次Hilbert变换后是其自身相反数,因此正弦信号的Hilbert是负的余弦。

对应解析信号为:

$z(t) = x(t) + j\tilde x(t)$

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

B-Hilbert解调原理

设有窄带信号:

$x(t) = a(t)\cos [2\pi {f_s}t + \varphi (t)]$

其中$f_s$是载波频率,$a(t)$是$x(t)$的包络,$\varphi (t)$是$x(t)$的相位调制信号。由于$x(t)$是窄带信号,因此$a(t)$也是窄带信号,可设为:

$a(t) = \left[ {1 + \sum\limits_{m = 1}^M { {X_m}\cos (2\pi {f_m}t + {\gamma _m})} } \right]$

式中,$f_m$为调幅信号$a(t)$的频率分量,${\gamma _m}$为$f_m$的各初相角。

对$x(t)$进行Hilbert变换,并求解解析信号,得到:

$z(t) = {e^{j\left[ {2\pi {f_s} + \varphi \left( t \right)} \right]}}\left[ {1 + \sum\limits_{m = 1}^M { {X_m}\cos (2\pi {f_m}t + {\gamma _m})} } \right]$

$A(t) = \left[ {1 + \sum\limits_{m = 1}^M { {X_m}\cos (2\pi {f_m}t + {\gamma _m})} } \right]$

$\Phi \left( t \right) = 2\pi {f_s}t + \varphi \left( t \right)$

则解析信号可以重新表达为:

$z(t) = A(t){e^{j\Phi \left( t \right)}}$

对比$x(t)$表达式,容易发现:

$a(t) = A(t) =  \sqrt { {x^2}(t) + { {\tilde x}^2}(t)} $

$\varphi (t) = \Phi (t) - 2\pi {f_s}t = \arctan \frac{ {x(t)}}{ {\tilde x(t)}} - 2\pi {f_s}t$

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

$f\left( t \right) = \frac{1}{ {2\pi }}\frac{ {d\varphi (t)}}{ {dt}} = \frac{1}{ {2\pi }}\frac{ {d\Phi (t)}}{ {dt}} - {f_s}$

C-相关MATLAB指令

hilbert

功能:将实数信号x(n)进行Hilbert变换,并得到解析信号z(n).

调用格式:z = hilbert(x)

instfreq

功能:计算复信号的瞬时频率。

调用格式:[f, t] = insfreq(x,t)

示例:

z = hilbert(x);

f = instfreq(z);

二、应用实例

例1:给定一正弦信号,画出其Hilbert信号,直接给代码:

clc

clear all

close all

ts = 0.001;

fs = 1/ts;

N

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值