当前位置:   article > 正文

matlab频域怎么提取特征值,补充:频域特征值提取的MATLAB代码实现(小波分析)...

频域分析传感器的边际谱能量特征提取代码matlab

之前的文章信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)中提到了离散小波分解的例子,其参考代码如下:

t_s = 0.005; %采样周期

t_start = 0.001; %起始时间

t_end = 10; %结束时间

t = t_start : t_s : t_end;

y = 10*sin(2*pi*0.5*t)+3*sin(2*pi*10*t)+1*sin(2*pi*20*t)+3*randn(1,length(t)); %生成信号

len = length(y);

%生成突变信号

y2 = 50*sin(2*pi*50*t);

for i = 1: len

if i>=601&&i<=604

y(i) = y(i)+y2(i);

else

y(i) = y(i);

end

end

figure

plot(y) %绘制原始信号

[c,l] = wavedec(y,5,'db5');

%重构1~5层细节函数

d5 = wrcoef('d',c,l,'db5',5);

d4 = wrcoef('d',c,l,'db5',4);

d3 = wrcoef('d',c,l,'db5',3);

d2 = wrcoef('d',c,l,'db5',2);

d1 = wrcoef('d',c,l,'db5',1);

%重构1~5层近似函数

a5 = wrcoef('a',c,l,'db5',5);

a4 = wrcoef('a',c,l,'db5',4);

a3 = wrcoef('a',c,l,'db5',3);

a2 = wrcoef('a',c,l,'db5',2);

a1 = wrcoef('a',c,l,'db5',1);

figure

subplot(4,2,1);

plot(a1)

subplot(4,2,2);

plot(d1)

subplot(4,2,3);

plot(a2)

subplot(4,2,4);

plot(d2)

subplot(4,2,5);

plot(a3)

subplot(4,2,6);

plot(d3)

subplot(4,2,7);

plot(a4)

subplot(4,2,8);

plot(d4)

结果如下:

4220848dfb931d3f0df7d0d7ac379c52.png

原始信号

cba8007a753fcffd1ee542971995bb57.png

离散小波分析结果

左侧四行是1~4阶的近似信号,右侧四行是1~4阶的细节信号。

欢迎关注我的专栏与信号处理有关的那些东东

欢迎关注我的公众号“括号的城堡”,微信号为“khscience”,会有更多有趣的东西分享。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/326723?site=
推荐阅读
相关标签
  

闽ICP备14008679号