• 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('第二层的细节分量置零后的重构信号')

  • 相关阅读:
    扩展方法使用
    mac学习笔记:brew 安装nginx
    Mac SVN 命令行
    mac终端命令大全
    mac学习笔记之:使用brew安装软件
    Linux学习笔记之更新yum安装最新Nginx+Php
    pyenv快速入门
    pycharm配置robotframework环境(mac版)
    macOS的zsh和bash切换
    robotframework windows环境和mac环境安装教程
  • 原文地址:https://www.cnblogs.com/gisalameda/p/12840559.html
Copyright © 2020-2023  润新知