📄 xiebofenjie.m
字号:
function [out1,out2]=fenjie(a,time)
%a为原始信号,double
%time为时间,double
xi=length(a);
j1=fix(log2(xi));%xi取整
a1=a(1:2.^j1);
xi=2.^j1;
time=time(1:2.^j1);
j=fix(log2(xi/4));%计算j的最大值
as=zeros(1,xi);
a2=fft(a1);
%对a2进行分段并做傅里叶逆变换
for i=-1:j
if i==-1
xi2=a2(1);
else
xi2=a2(2.^i+1:2.^(i+1));
end
if i==-1
as(1)=ifft(xi2);
else
as(2.^i+1:2.^(i+1))=ifft(xi2);
end
end
as=as(1:xi-2.^(j+1));%as为谐波小波分解系数
out1=as;
kk=abs(as);
kk=kk.^2;
kk3=log10(kk);
xi3=-1:j;
[kk1,kk2]=meshgrid(time,xi3);
out2=tianchong(kk3,xi3,time);%调用tianchong子程序
mesh(kk1,kk2,tianchong(kk3,xi3,time));%画谐波小波分解系数时频图
Xlabel('t/s');
Ylabel('j');
Zlabel('lg|a_s|^2');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -