|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
附件中有本人上传的原始数据。
我想把信号中的低频成分滤掉,想保留30K-150K之间的信号,采样频率为500K。打算用小波去噪,进行四层分解后,把第四层低频信号置零,重构信号,所编程序如下,但是老是报错,请高手指教。
%载入信号,画出波形
clear all
clc;
load('c:\temp\1.txt');
s1=X1;
fs=500000; %采样频率
t=1:max(size(s1));
t=1000*t./fs;
t=t';
plot(s1),title('plot(s1)'),grid on;
%axis([0,51.2,-10000,10000]);
xlabel('时间(t) 单位:ms');
ylabel('电压(V)');
title('原始信号');
%小波分解
[c,l]=wavedec(s1,4,'db4');
[cd1,cd2,cd3,cd4]=detcoef(c,l,[1 2 3 4]);
ca4=appcoef(c,l,'db4',4);
a4=wrcoef('a',c,l,'db4',4);
d4=wrcoef('d',c,l,'db4',4);
d3=wrcoef('d',c,l,'db4',3);
d2=wrcoef('d',c,l,'db4',2);
d1=wrcoef('d',c,l,'db4',1);
%不需要的系数置零
caa4=zeros(size(ca4));
%消噪后信号重构,并画图
cl=[caa4,cd4,cd3,cd2,cd1]; % 程序 运行时,此处出错。
s2=waverec(cl,l,'db4');
figure(2);
plot(t,s2);title('消噪后重构信号');grid on;
报错信息为:
??? Error using ==> horzcat
All matrices on a row in the bracketed expression must have the
same number of rows.
Error in ==> p1 at 49
cl=[caa4,cd4,cd3,cd2,cd1]
错误就在程序的倒数第4行,程序中已标出。
请高手帮忙,错在哪里了。
补充一下降噪方法:
进行四层小波分解后,把第四层低频信号置零,然后重构信号,结果重构时出错。 |
-
-
1.txt
128.5 KB, 下载次数: 147
|