基于CEEMDAN + PE + 小波降噪重构的信号处理之旅
CEEMDANPE小波降噪重构自适应噪声完备集合经验模态分解排列熵小波降噪重构 对信号采用CEMDAN进行分解后判定分解分量的排列熵值 将大于预知的分量通过小波软/硬阈值降噪处理随后进行重构。 数据为excel数据使用时替换数据集即可 matlab代码含有部分注释代码逻辑清晰 数据为excel数据使用时替换数据集即可在信号处理的奇妙世界里我们常常会遇到各种充满噪声的信号如何有效地提取出有用信息成为关键。今天咱们就来聊聊一种很厉害的组合方法CEEMDAN PE 小波降噪重构也就是自适应噪声完备集合经验模态分解 排列熵 小波降噪重构。CEEMDAN分解信号CEEMDAN自适应噪声完备集合经验模态分解简单说它能把一个复杂的信号分解成一系列具有不同特征尺度的本征模态函数IMF。这就好比把一大块拼图按照不同的形状和大小拆分成一个个小的拼图块每个小拼图块都有自己独特的特点。% 假设已经读取了excel数据存储在变量data中 load(data.mat); % 加载数据 imf ceemdan(data); % 使用ceemdan函数进行分解返回IMF分量这里通过ceemdan函数就把我们从Excel中读取的数据data分解成了不同的IMF分量存储在imf变量里。判定分解分量的排列熵值PE排列熵PE可以衡量时间序列的复杂性。对于我们通过CEEMDAN分解得到的每个IMF分量计算其排列熵值能帮我们判断这个分量中蕴含信息的复杂程度。pe_values zeros(size(imf, 1), 1); % 初始化排列熵值数组 for i 1:size(imf, 1) pe_values(i) perm_entropy(imf(i, :)); % 计算每个IMF分量的排列熵 end在这段代码里我们遍历每个IMF分量通过permentropy函数假设这个函数已经定义好用来计算排列熵把每个IMF分量的排列熵值存储在pevalues数组中。小波软/硬阈值降噪处理接下来我们把排列熵值大于某个预先设定阈值的分量挑出来用小波软/硬阈值的方法进行降噪处理。软阈值处理threshold 0.5; % 设定阈值 denoised_imf_soft zeros(size(imf)); for i 1:size(imf, 1) if pe_values(i) threshold [C, L] wavedec(imf(i, :), 3, db4); % 小波分解 S wthrmngr(dw1ddenoLVL, C, L, heursure, one, level, 3); % 计算阈值 denoised_C wthresh(C, s, S); % 软阈值处理 denoised_imf_soft(i, :) waverec(denoised_C, L, db4); % 小波重构 else denoised_imf_soft(i, :) imf(i, :); end end在软阈值处理代码中我们先对每个IMF分量进行小波分解这里用wavedec函数分解3层选用db4小波基然后通过wthrmngr函数计算阈值再用wthresh函数进行软阈值处理最后用waverec函数进行小波重构。如果某个IMF分量的排列熵值不大于阈值就保持不变。硬阈值处理denoised_imf_hard zeros(size(imf)); for i 1:size(imf, 1) if pe_values(i) threshold [C, L] wavedec(imf(i, :), 3, db4); S wthrmngr(dw1ddenoLVL, C, L, heursure, one, level, 3); denoised_C wthresh(C, h, S); % 硬阈值处理 denoised_imf_hard(i, :) waverec(denoised_C, L, db4); else denoised_imf_hard(i, :) imf(i, :); end end硬阈值处理和软阈值处理类似只是在wthresh函数中我们把第二个参数换成了h表示硬阈值处理。重构信号最后我们把经过降噪处理后的IMF分量进行重构得到最终干净的信号。reconstructed_signal_soft sum(denoised_imf_soft); % 软阈值降噪后重构信号 reconstructed_signal_hard sum(denoised_imf_hard); % 硬阈值降噪后重构信号这里分别把软阈值和硬阈值降噪处理后的IMF分量相加就得到了最终重构的信号。CEEMDANPE小波降噪重构自适应噪声完备集合经验模态分解排列熵小波降噪重构 对信号采用CEMDAN进行分解后判定分解分量的排列熵值 将大于预知的分量通过小波软/硬阈值降噪处理随后进行重构。 数据为excel数据使用时替换数据集即可 matlab代码含有部分注释代码逻辑清晰 数据为excel数据使用时替换数据集即可这种基于CEEMDAN PE 小波降噪重构的方法结合了多种信号处理技术的优势能有效地对信号进行去噪和特征提取。而且整个过程数据来源于Excel在实际使用中只要简单替换数据集就可以处理不同的数据方便又实用。大家不妨自己动手试试感受一下信号处理的魅力
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2438337.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!