声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2270|回复: 3

[小波] 关于振动信号小波时频分析

[复制链接]
发表于 2007-6-14 17:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本人毕业设计的题目是用小波对振动信号进行时频分析,并用matlab进行仿真,流程是先生成一个有三种频率叠加而成的信号,再用matlab中小波工具箱的函数对信号进行处理,再通过一个滤波器提取其中的主频,本人编的程序如下:
N=8;
n=0:N-1;
Fs=8;
t=n/Fs;
t=-2*pi:pi/16:2*pi;
x1=5*sin(2*pi*1*t);
t=-2*pi:pi/16:2*pi;
x2=5*sin(2*pi*10*t);
t=-2*pi:pi/16:2*pi;
x3=5*sin(2*pi*20*t);
x=x1+x2+x3;
figure(1)
plot(x)
wname='morl';
scales=1:0.125:128;%取的尺度
coef=cwt(x,scales,wname);%小波变换
P=sum((coef.*coef),2)/length(coef);%对小波系数先求平方,
                                   %并对每一个尺度上小波系数平方值进行平均
f=scal2frq(scales,wname,1/Fs);%将尺度转化为对应的频率
figure(2)
plot(f,P)
wp1=0.45*pi; wp2=0.65*pi;
ws1=0.3*pi; ws2=0.75*pi;
Rp=1; Rs=40;
Wp1=tan(wp1/2); Wp2=tan(wp2/2);
Ws1=tan(ws1/2); Ws2=tan(ws2/2);
BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);
WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);
[N,Wn]=cheb1ord(WP,WS,Rp,Rs,'s');
[B,A]=cheby1(N,Rp,Wn,'s');
[BT,AT]=lp2bp(B,A,W00,BW);
[num,den]=bilinear(BT,AT,0.5);
[h,omega]=freqz(num,den,64);
figure(3)
subplot(2,2,1);stem(omega/pi,abs(h));
xlabel('\omega/\pi');ylabel('|H(z)|');
好象不大行,有请高手帮我改改,或提供一个更好的程序,急求!

[ 本帖最后由 zhlong 于 2007-6-25 10:03 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-6-14 21:05 | 显示全部楼层
谐波的和类似平稳信号,小波的优势根本无法表现.选题不当
发表于 2007-6-15 18:42 | 显示全部楼层
:@D
发表于 2007-6-24 23:09 | 显示全部楼层
导师给个建议吧,我的几乎都是谐波分量,我就当是滤波器用了.咳.能不能给我想个法
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-30 11:44 , Processed in 0.076699 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表