快乐人生662 发表于 2010-9-22 20:50

请问各位大侠如何绘制小波的频谱(例如morlet小波)

请给出源程序,不胜感激

c2019 发表于 2010-10-13 19:51

关注,借贴同问

happy 发表于 2010-10-19 16:45

本帖最后由 happy 于 2010-10-19 16:48 编辑

本程序来自网络,版权归原作者所有,由于原作者无法考究,故此处没有标明
如原作者看到本贴,请和管理员联系添加相关说明或做其他处理

%%======================%%
%%小波包分析程序
%%=======================%%
clc;clear all;close all;
% %-----------------输入实际信号---------------
N=8192;
fs=20480;
=uigetfile('.txt','输入信号');%显示一个取文件的窗口
FILENAME=
DATA=load(FILENAME);

Data=DATA(1:N);
DataLen=length(Data);%数据长度
t='/fs;%时间数组
% -------------------小波包分解---------------
n=3;%分解层数
rr=wpdec(Data,n,'db15');%小波包分解

% ---------对特征频带波形进行分析-----
for i=1:2^n
   Datar(i,:)=wprcoef(rr,);%求取每个频带的小波包系数
end
Datar=;%数据调整

f=(0:N/2-1)*fs/N;
for i=1:2^n
    DataFFT(i,:)=abs(fft(Datar(i,:)))/(N/2);%%fft
end
% %-----------小波包分解计算能量-------
for i=0:(2^n-1)
    rcfs=wprcoef(rr,);
    r(i+1,:)=rcfs;
end
r_check=;
for i=1:2^n
    xx(i)=sum(r_check(i,:).^2)/N;%求能量
end
temp=sum(xx);
for i=1:2^n
    xx(i)=xx(i)/temp;%%能量归一化
end
%---------画小波分频带图---------
% figure()
% for i=1:2^n/2
%   subplot(4,1,i);
%   plot(t,Datar(i,:));ylabel(i);axis();
%   if i==1
%      title('小波包分解')
%   end
% end
% xlabel('time');
% grid on
% figure()
% for i=2^n/2+1:2^n
%   subplot(4,1,i-2^n/2);
%   plot(t,Datar(i,:));ylabel(i);axis();
%         if i== 2^n/2+1
%            title('小波包分解')
%         end
% end
% xlabel('time');
% grid on
%%-----------对每个频带求取频谱--------

figure()
set(gcf,'Name','ff1')
for i=1:2^n/2
    subplot(4,1,i);
    plot(f,DataFFT(i,1:N/2));ylabel(i);axis();grid on
    if i==1
       title('小波包各频带频谱图')
    end
end
xlabel('frequency')

figure()
set(gcf,'Name','ff2')
for i=2^n/2+1:2^n
    subplot(4,1,i-2^n/2);
    plot(f,DataFFT(i,1:N/2));ylabel(i);axis();grid on
    if i==2^n/2+1
       title('小波包各频带频谱图')
    end
end
xlabel('frequency')

%-------------画出能量谱-----------
figure()
set(gcf,'Name','能量谱')
width=0.5;
bar(xx,width);
colormap(cool);
title('小波包能量谱图');
xlabel('频 带');
ylabel('能量归一化');
axis();
grid on

快乐人生662 发表于 2010-10-19 22:01

回复 happy 的帖子

万分感谢

快乐人生662 发表于 2010-10-25 19:28

回复 happy 的帖子

你好能否再为我解答几个问题?

小波多分辨分析方面的问题
http://forum.vibunion.com/forum-viewthread-tid-96719-fromuid-151591.html


页: [1]
查看完整版本: 请问各位大侠如何绘制小波的频谱(例如morlet小波)