| 查看: 2319 | 回复: 6 | ||||
zhuxiaoxun新虫 (初入文坛)
|
[求助]
希尔伯特振动分解(HVD)的matlab程序 已有1人参与
|
| 各位高手谁有一个希尔伯特振动分解(Hilbert Vibration Decomposition,HVD)的matlab程序,能否提供一个。多谢啦!!! |
» 猜你喜欢
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
假如你的研究生提出不合理要求
已经有6人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
不自信的我
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
【求助】在matlab中如何用希尔伯特变换定义相位
已经有22人回复
2楼2016-01-04 16:26:22
Mr__Right
专家顾问 (著名写手)
-

专家经验: +31 - 应助: 317 (大学生)
- 金币: 14456.3
- 散金: 500
- 红花: 54
- 帖子: 2716
- 在线: 950.6小时
- 虫号: 1972612
- 注册: 2012-09-04
- 性别: GG
- 专业: 应用数学方法
- 管辖: 程序语言

3楼2016-01-04 19:11:47
Mr__Right
专家顾问 (著名写手)
-

专家经验: +31 - 应助: 317 (大学生)
- 金币: 14456.3
- 散金: 500
- 红花: 54
- 帖子: 2716
- 在线: 950.6小时
- 虫号: 1972612
- 注册: 2012-09-04
- 性别: GG
- 专业: 应用数学方法
- 管辖: 程序语言
|
function [Y,A,om_r,dev]=hvd(x,n,fp); % % x - initial signal, n - number of decomposed components % Y - decomposed components, A - component envelopes , % F_r - component relative angular frequency % F=Fs*om_r/2/pi - Absolute frequecy [Hz], Fs -sampling frequency, % dev=std(Y_i)/std(Y_1)) - relative standard deviation of the decomposed component % % Example: [Y,A,om_r,dev]=hvd(x,2,0.02); % % LIMITATIONS: % The sampling frequency Fs has to be in the range Fs=(20-80)*f0. % The minimum of points in time domain is 230*3+1 = 691 % % © 2011 Michael Feldman % For use with the book "HILBERT TRANSFORM APPLICATION % IN MECHANICAL VIBRATION", John Wiley & Sons, 2011 % if n>7; disp('Max number of components not greater than 7'); end if n<=0; disp('Number of components less than 1');Y=[];A=[];F_r=[];dev=[];return;end x=x( ; s(1)=std(x);if s(1)==0,Y=[];A=[];F_r=[];dev=[];disp('Zero signal');return,end; for k=1:n; [At,Ft,phit]=inst(x,1); omf=2*pi*lpf(Ft,fp);% Angular Frequency lowpass filtering (Smoothing) [yi,Ai,phi]=synchdem(x,omf,fp); Y(:,k)=yi; A(:,k)=Ai; om_r(:,k)=omf; % Angular Frequency, [Radians] x=x-yi; s(k)=std(x)/s(1); if k == 7, dev=[1 diff(s)]; return, end end dev=s; % Relative standard deviation of the components return %Example om=0.2+0.12*cos(0.4*(0:1023)); x=cos(cumtrapz(om)); [Y,A,F_r,dev]=hvd(x,3,0.05); figure(1); subplot(211) plot([x']) axis([400 600 -1.1 1.1]) ylabel('Initial signal') subplot(212) plot(Y) axis([400 600 -1.1 1.1]) xlabel('Points') ylabel('Signal Components') figure(2) psd(x) % |

4楼2016-01-04 19:12:33
czhujian
金虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 574.9
- 散金: 110
- 帖子: 37
- 在线: 41.3小时
- 虫号: 3446743
- 注册: 2014-09-28
- 性别: GG
- 专业: 机械结构强度学
5楼2016-03-18 10:07:17
Mr__Right
专家顾问 (著名写手)
-

专家经验: +31 - 应助: 317 (大学生)
- 金币: 14456.3
- 散金: 500
- 红花: 54
- 帖子: 2716
- 在线: 950.6小时
- 虫号: 1972612
- 注册: 2012-09-04
- 性别: GG
- 专业: 应用数学方法
- 管辖: 程序语言

6楼2016-03-18 12:00:33
7楼2018-07-16 17:29:37












回复此楼
; s(1)=std(x);