资源简介

基于MATLAB,针对一维信号(可用matlab工具箱自带信号sumsin.mat),实现一维离散小波变换,选用Daubechies小波(如db3)函数,进行五层分解,并对第5层到第1层的低频、高频系数分别进行重构。

资源截图

代码片段和文件信息

load sumsin;
x=sumsin;

figure(1);
% subplot(611);
plot(x);
ylabel(‘x‘);
title(‘原始信号‘)
% title(‘原始信号以及各层近似信号‘);

figure(2);
% 对信号进行傅里叶变换
f=fft(x2048);
f=abs(f);    
subplot(211);
plot(x);
subplot(212);
plot(f);
title(‘原始信号以及傅里叶变换信号‘);

figure(3);
% title(‘各层近似信号‘)
% 使用db3小波进行5层分解
[cl]=wavedec(x5‘db3‘);
for i=1:5
% 对分解的第5层到第1层的低频系数分别进行重构
    a=wrcoef(‘a‘cl‘db3‘6-i);
    subplot(51i);
    plot(a); 
    title([‘第‘num2str(i)‘层近似信号‘])
    ylabel([‘a‘num2str(5-i)]);
end

figure(4);
subplot(611)
plot(x);
title(‘原始信号‘)
ylabel(‘x‘)
for i=1:5
% 对分解的第5层到第1层的高频系数进行重构
    d=wrcoef(‘d‘cl‘db3‘6-i);
    subplot(61i+1);
    plot(d);
    title([‘第‘num2str(i)‘层高频系数重构信号‘])
    ylabel([‘d‘num2str(6-i)]);
end

% 使用小波分析一个由三个不同频率的正弦信号叠加的信号,
% 看是否能将这三个正弦信号区分开来,
% 结果证明小波分析可以很好地识别某一频率区间的信号。

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        435  2020-05-13 16:55  temp\readme.txt

     文件       1025  2020-05-13 16:50  temp\wavelet_final.m

     目录          0  2020-05-13 20:27  temp

----------- ---------  ---------- -----  ----

                 1460                    3


评论

共有 条评论