zoukankan      html  css  js  c++  java
  • 2015年09月24日

    clc 
    close all

    t=0:0.05:20;
    x=3*sin(0.2*pi*t);%原始正弦信号
    ns=0.2*sin(9*pi*t);
    %N=length(t)
    %ns=[zeros(1,100),0.2*randn(1,200),zeros(1,101)];%区间为101-201的白噪声
    %ns=zeros(1,401);
    sig=x+ns;%叠加了噪声的信号
    figure(1)
    subplot(311)
    plot(x);
    title('原始信号')
    subplot(312)
    plot(ns);
    title('噪声')
    subplot(313)
    plot(sig);
    title('有噪信号')

    [c,l]=wavedec(sig,4,'db4');%对有噪信号用db4小波函数进行4层分解

    a1=appcoef(c,l,'db4',1);%提取第一层的近似分量
    d1=detcoef(c,l,1);%提取第一层的细节分量
    a2=appcoef(c,l,'db4',2);%提取第二层的近似分量
    d2=detcoef(c,l,2);%提取第二层的细节分量
    a3=appcoef(c,l,'db4',3);%提取第三层的近似分量
    d3=detcoef(c,l,3);%提取第三层的细节分量
    a4=appcoef(c,l,'db4',4);%提取第四层的近似分量
    d4=detcoef(c,l,4);%提取第四层的细节分量

    %画出每一层的近似分量和细节分量,共四层
    figure(2)
    subplot(421)
    plot(a1)
    title('第一层的近似分量')
    subplot(422)
    plot(d1)
    title('第一层的细节分量')
    subplot(423)
    plot(a2)
    title('第二层的近似分量')
    subplot(424)
    plot(d2)
    title('第二层的细节分量')
    subplot(425)
    plot(a3)
    title('第三层的近似分量')
    subplot(426)
    plot(d3)
    title('第三层的细节分量')
    subplot(427)
    plot(a4)
    title('第四层的近似分量')
    subplot(428)
    plot(d4)
    title('第四层的细节分量')

    %进行重构

    dd1=zeros(size(d1));%将第一层的细节分量置零
    dd2=zeros(size(d2));%将第二层的细节分量置零
    dd3=zeros(size(d3));%将第三层的细节分量置零
    dd4=zeros(size(d4));%将第四层的细节分量置零

    c1=[a4 dd4 dd3 dd2 dd1];%重构小波分解向量,所有的细节分量变为零
    aa1=waverec(c1,l,'db4');%重构信号
    figure(3)
    plot(aa1)
    title('一到四层的细节分量置零后的重构信号')

    c2=[a4 d4 dd3 dd2 dd1];%重构小波分解向量,其中第一、三、四层的细节分量被置零
    aa2=waverec(c2,l,'db4');%重构信号
    figure(4)
    plot(aa2)
    title('一到三层的细节分量置零后的重构信号')

    c3=[a4 d4 dd3 d2 dd1];%重构小波分解向量,其中第一、三层的细节分量被置零
    aa3=waverec(c3,l,'db4');%重构信号
    figure(5)
    plot(aa3)
    title('一、三层的细节分量置零后的重构信号')

    c4=[a4 d4 d3 d2 dd1];%重构小波分解向量,其中第一的层细节分量被置零
    aa4=waverec(c4,l,'db4');%重构信号
    figure(6)
    plot(aa4)
    title('第一层的细节分量置零后的重构信号')

    c5=[a4 d4 d3 dd2 d1];%重构小波分解向量,其中第二的层细节分量被置零
    aa5=waverec(c5,l,'db4');%重构信号
    figure(7)
    plot(aa5)
    title('第二层的细节分量置零后的重构信号')

  • 相关阅读:
    .NET中栈和堆的比较 #1
    Asp Interview Questions and Answers
    c#缓存介绍(转)
    [转]Post和Get的区别(兼谈页面间传值的方式)
    .NET垃圾回收机制 转
    zoj 3008 3010
    zoj 2912 Average distance
    TinyMCE,强大的网页编辑器插件
    zoj 3587 Marlon's String
    SOJ和FOJ的比赛
  • 原文地址:https://www.cnblogs.com/gisalameda/p/12840559.html
Copyright © 2011-2022 走看看