T=wpdec(y,5,'db40');
%对信号y进行小波包分解,层数为5,得到的T为小波树,plot一下就可看到
a10=wprcoef(T,[1,0]);
%a10是对节点[1,0]进行重构后得到的信号。貌似没有对那一层重构这一说法吧,只能是对某层的某个节点进行重构。节点的编号你可以从小波树中看出来
这是我的做法,不过用的是小波包分解。不知对你有没有用
完整的程序
%写上标题
%设计低通滤波器:
[N,Wc]=buttord()
%估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc
[a,b]=butter(N,Wc); %设计Butterworth低通滤波器
[h,f]=freqz(); %求数字低通滤波器的频率响应
figure(2); % 打开窗口2
subplot(221); %图形显示分割窗口
plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图
title(巴氏低通滤波器'');
grid; %绘制带网格的图像
sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数
subplot(222);
plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形
xlabel('时间 (seconds)');
ylabel('时间按幅度');
SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w= %新信号角频率
subplot(223);
plot()); %绘制叠加函数S经过低通滤波器以后的频谱图
title('低通滤波后的频谱图');
%设计高通滤波器
[N,Wc]=buttord()
%估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc
[a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器
[h,f]=freqz(); %求数字高通滤波器的频率响应
figure(3);
subplot(221);
plot()); %绘制Butterworth高通滤波器的幅频响应图
title('巴氏高通滤波器');
grid; %绘制带网格的图像
sf=filter(); %叠加函数S经过高通滤波器以后的新函数
subplot(222);
plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形
xlabel('Time(seconds)');
ylabel('Time waveform');
w; %新信号角频率
subplot(223);
plot()); %绘制叠加函数S经过高通滤波器以后的频谱图
title('高通滤波后的频谱图');
%设计带通滤波器
[N,Wc]=buttord([)
%估算得到Butterworth带通滤波器的最小阶数N和3dB截止频率Wc
[a,b]=butter(N,Wc); %设计Butterworth带通滤波器
[h,f]=freqz(); %求数字带通滤波器的频率响应
figure(4);
subplot(221);
plot(f,abs(h)); %绘制Butterworth带通滤波器的幅频响应图
title('butter bandpass filter');
grid; %绘制带网格的图像
sf=filter(a,b,s); %叠加函数S经过带通滤波器以后的新函数
subplot(222);
plot(t,sf); %绘制叠加函数S经过带通滤波器以后的时域图形
xlabel('Time(seconds)');
ylabel('Time waveform');
SF=fft(); %对叠加函数S经过带通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w=( %新信号角频率
subplot(223);
plot(')); %绘制叠加函数S经过带通滤波器以后的频谱图
title('带通滤波后的频谱图');
以上就是关于Matlab中小波包分解程序代码不会,小波包能量分析,好的回答疯狂加分!!跪求呀!!全部的内容,包括:Matlab中小波包分解程序代码不会,小波包能量分析,好的回答疯狂加分!!跪求呀!!、关于用MATLAB设计对信号进行频谱分析和滤波处理的程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)