- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【原创】用希尔伯特黄变换(HHT求时频谱和边际
寒假将至,精心将自己最近做的东西总结了一下,能跟大家分享讨论是我的荣幸 源代码也贴出来了,希望大家能提出宝贵意见 ~顺祝大家寒假快乐,新年快乐
1.什么是HHT
HHT就是先将信号进行经验模态分解(EMD分解),然后将分解后的每个IMF分 量进行Hilbert变换,得到信号的时频属性的一种时频分析方法。
2.EMD分解的步骤。
EMD分解
(1)
(2)
找岀信号中所有局部极大值井用二次样条函数连接成上包络; 同理,利用三次样案插值函数连接所有局部极小值构成下包络; 求出丄、下包络的平均值记为阴*井求原始信号与包络均値的差蓿
x(z) 一叭=h、
如果湃足IMF的条件,那么爵就是求得的第一个IMF分量; 否则将阴作为原始信号进行(1) - (2)的步骤,直到第k次迭代后差值砲 成为一个IMF,记为:
(3)
Matlabi£ 坛
iLov^Matlab.Li]
上面k步迭代的终止准则是使得:
工 1^1,*-1(0- 12
SD = ~y
z is ⑴ r :-0
位于0.2-0.3之间;
(4)从原信号中减去ana得到第一阶剩余信号胭
5(/)-q(Z) = /;(/)
(5)将剩余信号胸作为原信号进行(1) z (4)过程:
Matlab论直
iLoveMatlab.cn
5-1 ⑴一讥)=M)
终止准则是当笫N阶剩余信号陽皿足够.以致不能再提取IMF。
综上,原始信号凰啲分解为:
N
s(,) =》q(/) + M)
77=1
Matlab论坛
iLoveMatlab.cn
EMD分解的流程图如下:
3.实例演示
给定频率分别为10Hz和35Hz的两个正弦信号相叠加的复合信号,采样频率
fs=2048Hz 的信号,表达式如下:y=5sin(2*pi*10t)+5*sin(2*pi*35t)
为了对比,先用fft对求上述信号的幅频和相频曲线。
复制内容到剪贴板
代码:
fun cti on fftfenxi clear;clc;
N=2048;
%fft默认计算的信号是从0开始的
t=li nspace(1,2,N);deta=t(2)-t(1);1/deta
x=5*si n(2*pi*10*t)+5*si n( 2*pi*35*t);
% N仁256;N2=512;w1=0.2*2*pi;w2=0.3*2*pi;w3=0.4*2*pi;
%
x=(t=-200t=-200+N1*deta).*si n(w1*t)+(t-200+N1*detat=-200+N2*det
a).*si n(w2*t)+(t-200+N2*detat=200).*si n(w3*t);
y = x;
m=0:N-1;
f=1./(N*deta)*m;% 可以查看课本就是这样定义横坐标频率范围的 济面计算的丫就是x(t)的傅里叶变换数值
%Y=exp(i*4*pi*f).*fft(y)% 将计算出来的频谱乘以exp(i*4*pi*f) 得到频移后
[-2,2]之间的频谱值
Y=fft(y);
z=sqrt(Y.*conj(Y));
plot(f(1:100),z(1:100));
title( 幅频曲线)
xia ngwei=a ngle(Y);
figure(2)
plot(f,xia ngwei)
title( 相频曲线)
figure(3)
plot(t,y,r)
%axis([-2,2,0,1.2])
title( 原始信号)
H站惜号
6D0D4CQ _AL iW 20i | .qwM atlib. c:n用且由样;
6D0D
4CQ _
AL i
W 20
i | .qwM atlib. c:n
用且由样;
用Hilbert变换直接求该信号的瞬时频率
复制内容到剪贴板
代码:
clear;clc;clf;
%假设待分析的函数是z=tA3
N=2048;
%fft默认计算的信号是从0开始的
t=li nspace(1,2,N);deta=t(2)-t(1);fs=1/deta; x=5*si n(2*pi*10*t)+5*si n( 2*pi*35*t);
z=x;
hx=hilbert(z); xr=real(hx);xi=imag(hx);
%计算瞬时振幅
sz=sqrt(xr.A2+xi.A2);
%计算瞬时相位
sx=a ngle(hx);
%计算瞬时频率 dt=diff(t);
dx=diff(sx);
sp=dx./dt;
plot(t(1:N-1),sp) title( 瞬时频率)
小结:傅里叶变换不能得到瞬时频率,即不能得到某个时刻的频率值。 Hilbert
变换是求取瞬时频率的方法,但如果只用Hilbert变换求出来的瞬时频率也不准 确。(出现负频,实际上负频没
您可能关注的文档
最近下载
- 自考试卷:行政组织理论自考试题及答案_11.doc VIP
- 静脉治疗护理技术操作标准2023版.pptx VIP
- 《小建筑师》优教课件.ppt VIP
- 活动二 把阳光”弹”来”弹”(课件)蒙沪版二年级上册综合实践活动.pptx VIP
- 广东粤人开心版五年级上册英语 U6 Reading and writing & Chant activities课件.pptx VIP
- 五年级上册《道德与法治》第三单元校本作业.doc VIP
- 五年级上册《道德与法治》第二单元校本作业.doc VIP
- 国内外钻井软件调研.ppt VIP
- 广东粤人开心版五年级上册英语 U5 Practices & Activity & Sounds and words课件.pptx VIP
- 年产 48000 吨新能源导电材料配套尾气综合利用项目环评报告表.pdf VIP
文档评论(0)