t_length=150000; %信号总数据点数,即信号长度
t_scale=500; %t_scale每个时间间隔内的包含的点数
t_group=t_length/t_scale; %时间轴上间隔个数
i_floor=4; %小波分解层数
Fs=1000000; %采样频率
m=500:500:140000
Uems=zeros(5,280);
U=zeros(5,280);
UU=zeros(5,280);
for i_index=1:100; %所有采样点循环
pathname=strcat('D:\shuju\',int2str(i_index),'.txt');
fid = fopen(pathname,'r');
for i=1:6 fgetl(fid); end
fgetl(fid);
[ch1,COUNT] = fscanf(fid,'%d/%d/%d %d:%d:%d %f %f\n',[8,inf]); %读入数据
fclose(fid);
[b,a] = ellip(4,0.1,40,[1000 490000]*2/Fs);
[H,w] = freqz(b,a,512,1000000);
C1=filter(b,a,ch1(7,1:140000));
clear ch1
N=length(C1);
ftSignalC1 = zeros(i_floor+1,N);
%%四层db30小波分解
[c1,l1]=wavedec(C1,i_floor,'db30'); %多尺度一维小波分解
apcmp1=wrcoef('a',c1,l1,'db30',i_floor); %对一维小波系数进行单支重构
ftSignalC1(1,:)=apcmp1;
for i=1:i_floor
decmp1=wrcoef('d',c1,l1,'db30',i_floor+1-i);
ftSignalC1(i+1,:)=decmp1;
end
for ii=1:280
for n=1:5
Uems(n,ii)=sqrt(sum(ftSignalC1(n,((ii-1)*500+1):ii*500).^2)/500);
end
end
U=U+Uems;
end
UU=U/100;
for b=1:5
figure(1)
plot(m,UU(b,:),'b');
hold on
评论0