matlab用hilbert怎么实现对一个已知信号的包络分析

matlab用hilbert怎么实现对一个已知信号的包络分析,第1张

这方面的内容忘得差不多了

给你找一个程序 你看看吧:

close all

%

fs=30

t=0:1/fs:200

x6=sin(2*pi*2*t)+sin(2*pi*4*t)

x66 = hilbert(x6)

xx = abs(x66+j*x6)

figure(1)

hold on

plot(t,x6)

plot(t,xx,'r')

xlim([0 5])

hold off

% 包络算法,陵辩未考虑边界条件尺轮缺

d = diff(x6)

n = length(d)

d1 = d(1:n-1)

d2 = d(2:n)

indmin = find(d1.*d2<0 &d1<0)+1

indmax = find(d1.*d2<0 &d1>0)+1

envmin = spline(t(indmin),x6(indmin),t)

envmax = spline(t(indmax),x6(indmax),t)

figure

hold on

plot(t,x6)

plot(t,envmin,'r'桐橡)

plot(t,envmax,'m')

hold off

xlim([0 5])

1、首先head进行包络谱分析针对包络分析中带宽知弊携卜侍和中心。

2、其次频率依靠经验估计的缺陷。

3、最后应用一种快速峭度图算法自动为包络谱分搭伏析提供最佳带宽和中心频率。

你到底是先有采样频率还是采样点数和时间?你的程序在开头这里是混乱的。如果先有采样频率,那么通过采样频率和采样时间计绝返算采样点数;如果先有采样点逗搭数,那么通过采山宏拿样点数和采样时间计算采样频率。采样频率和采样点数不是你想给多少就是多少的,那是要根据上面两种情况计算的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12518242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存