声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1298|回复: 2

[小波] matlab关于小波分解之后横坐标与原信号不一致怎么办

[复制链接]
发表于 2009-5-27 23:45 | 显示全部楼层 |阅读模式

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

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

x
clear all
clc
A=1;m=0.38;B=0.98;C=1;fr=120;fz=3000;fk=80;
w0=2*pi*fr;
w1=2*pi*fz;
w2=2*pi*fk;
t=1/16384;
t1=0:t:0.0625;
x1=A*(1+m*cos(w0.*t1)).*cos(w1.*t1+B.*sin(w0*t1));
x2=sin(w2*t1);
x3=C*randn(size(t1));
x=x1+x2+x3;
[cory,lag]=xcorr(x,'unbiased');
subplot(5,1,1);
plot(lag*t,cory);
axis([0 0.06 -4 4]);
xlabel('时间 t/s');
ylabel('振幅 cm');
[c,l]=wavedec(cory,3,'db4');
a3=wrcoef('a',c,l,'db4',3);
d3=wrcoef('d',c,l,'db4',3);
d2=wrcoef('d',c,l,'db4',2);
d1=wrcoef('d',c,l,'db4',1);

subplot(5,1,2);
plot(d1,'LineWidth',2);
ylabel('d1');
subplot(5,1,3);
plot(d2,'LineWidth',2);
ylabel('d2');
subplot(5,1,4);
plot(d3,'LineWidth',2);
ylabel('d3');
xlabel('时间 t/s');
subplot(5,1,5);
plot(a3,'LineWidth',2);
ylabel('a3');
xlabel('时间 t/s');
==============================================
这个程序是要用小波分析对原信号进行三层的分解,但是执行了之后,原信号的横坐标是(0,0.06)
而在分解之后的信号d1,d2,d3的横坐标却是[0,2100左右],...
是设置参数的时候错了吗..如果我想把所有波形的横坐标都统一为原信号的横坐标,即(0,0.06)应该怎么样修改程序????
搜索更多相关主题的
回复
分享到:

使用道具 举报

发表于 2009-5-28 16:17 | 显示全部楼层

回复 楼主 落英缤纷 的帖子

楼主采样的点数是16384*0.0625=1024点
help xcorr
C = XCORR(A,B), where A and B are length M vectors (M>1), returns
    the length 2*M-1
所以cory是2048点的
小波变换后系数也是2048点的
 楼主| 发表于 2009-5-28 16:21 | 显示全部楼层

回复 沙发 qqvirile 的帖子

那是不是说小波变换后的横坐标是采样点数[0 2048]?
如果横坐标要换成时间轴的话,就要除以2倍的采样频率??
是这样吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 13:48 , Processed in 0.079151 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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