⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 electric1.m

📁 tubian2.m为对一实际信号做小波多层分解
💻 M
字号:
N=10000;
s=zeros(1,N);
for n=1:N        
    if n<0.4*N||n>0.8*N      
        s(n)=31.1*sin(2*pi*50/10000*n);    
    else        
        s(n)=22.5*sin(2*pi*50/10000*n);     
    end 
end 
l=length(s);
[c,l]=wavedec(s,6,'db5'); %用db5小波分解信号到第六层
subplot(8,1,1);
plot(s);
title('用db5小波分解六层:s=a6+d6+d5+d4+d3+d2+d1');
Ylabel('s');%对分解结构【c,l】中第六层低频部分进行重构
a6=wrcoef('a',c,l,'db5',6);
subplot(8,1,2);
plot(a6);
Ylabel('a6');%对分解结构【c,l】中各层高频部分进行重构
for i=1:6    
    decmp=wrcoef('d',c,l,'db5',7-i);    
    subplot(8,1,i+2);    
    plot(decmp);    
    Ylabel(['d',num2str(7-i)]);
end
%-----------------------------------------------------------
rec=zeros(1,300);
rect=zeros(1,300);
ke=1;
u=0;
d1=wrcoef('d',c,l,'db5',1); 
figure(2);
plot(d1);
si=0;
N1=0;
N0=0;
sce=0;
for n=20:N-30
  rect(ke)=s(n);
  ke=ke+1;
  if(ke>=301)
        if(si==2)
            rec=rect;
            u=2;
        end;
        si=0;
        ke=1;
    end;
if(d1(n)>0.01)                       % the condition of abnormal append.
        N1=n;
        if(N0==0)
            N0=n;
            si=si+1;
        end;
        if(N1>N0+30)
            Nlen=N1-N0;
            Tab=Nlen/10000;
        end;
    end;

if(si==1)
    for k=N0:N0+99                       %testing of 1/4 period signals to 
       sce=sce+s(k)*s(k)/10000;
    end;
    re=sqrt(sce*200)                   %re indicate the pike value of .
    sce=0;
    si=si+1;
  end;
end;
  Nlen
  N0
  n=1:300;
  figure(3)
  plot(n,rec);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -