一维时间序列信号的多小波分析方法(MATLAB R2021B)

多小波是小波理论新的发展,它是指该多小波是由两个或两个以上的函数作为尺度函数而生成的。鉴于多小波这个名词的解释,将前面讲到的那些由一个函数作为尺度函数而生成的小波叫做单小波,来与多小波解释进行区分。单小波又叫纯量小波。

以谐波检测为例,在运用单小波进行谐波检测时,只需要选定需要使用的小波种类,然后对信号进行采样,接着就可以对信号进行分解了。但是,多小波并没有这么简单,在选定好多小波之后不能直接就运用该多小波对电网电流信号进行分解,而是应该在运用分解公式分解信号之前对数据进行先处理。这是由于我们需要检测的电网信号一般它的维度是一维的,而用来检测电网信号的多小波工具无论其尺度函数还是小波函数都是r维的,如果不先将电网信号通过一定线性变换变为与多小波维度相同的r维,那么该电网信号就无法与r维多小波这样检测工具相匹配,就无法对该信号进行检测,因此在分解以前必须进行对电网信号进行预处理。较典型的预处理法目前有两大类:

(1)预滤波方法。该方法的主要思想是:在分解以前,首先用一个预滤波器将采样得到的电网电流信号按2行输出,接着再乘以分组滤波器,来达到被检测信号与多小波之间维数匹配的目的。

(2)平衡预处理方法。当所测量的信号是经过预滤波器初始化之后的,将形成矢量数据。多小波分解中的低通滤波器存在不平衡信道,当矢量数据中通过低通信道时,会产生尺度系数与小波系数混合的现象,若在这样的情况下仅用尺度系数进行信号重构,那么就会产生强烈的震荡。对不平衡的多小波进行平衡,是解决不平衡的基本思想。运用在电力系统信号检测的具体方法首先是对采样得到的电网电流信号进行简单的分解,常常将电网电流信号分为奇偶两个部分。经过简单处理的采样信号,再以平衡处理,处理对象为在运用多小波进行分解和重构时要用到的滤波矩阵。

鉴于此,采用多小波对一维时间序列信号进行分解重构,运行环境为MATLAB R2021B。

Matlab 复制代码
% Loading the four-channel single filter bank response coeficients
G0 = multiwavelet.S4KF{1};
G1 = multiwavelet.S4KF{2};
G2 = multiwavelet.S4KF{3};
G3 = multiwavelet.S4KF{4};

% applying the extension on input signal
ad = length(G0);
extin = wextend('ac', extension, in, ad);

% Calculating length of output signal after convolution and creating
% variables with calculated length
outLen = conv(extin(1, :), G0, 'full');
c11_c = zeros(size(extin, 1), size(outLen, 2));
c12_c = zeros(size(extin, 1), size(outLen, 2));
d11_c = zeros(size(extin, 1), size(outLen, 2));
d12_c = zeros(size(extin, 1), size(outLen, 2));

% Performing convolution of input signal and response coeficients of
% four-channel single filter bank
for i = 1:size(extin, 1)
    c11_c(i, :) = conv(extin(i, :), G0, 'full');
    c12_c(i, :) = conv(extin(i, :), G1, 'full');
    d11_c(i, :) = conv(extin(i, :), G2, 'full');
    d12_c(i, :) = conv(extin(i, :), G3, 'full');
完整代码可通过知乎学术咨询获得:https://www.zhihu.com/consult/people/792359672131756032?isMe=1
end

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
AI小白的Python之路12 分钟前
数据结构与算法-排序
数据结构·算法·排序算法
aneasystone本尊19 分钟前
学习 Coze Studio 的工作流执行逻辑
人工智能
DashVector22 分钟前
如何通过Java SDK检索Doc
后端·算法·架构
aneasystone本尊27 分钟前
再学 Coze Studio 的智能体执行逻辑
人工智能
zzz93329 分钟前
transformer实战——mask
算法
xuanwuziyou30 分钟前
LangChain 多任务应用开发
人工智能·langchain
柯南二号44 分钟前
【Java后端】MyBatis-Plus 原理解析
java·开发语言·mybatis
新智元1 小时前
一句话,性能暴涨 49%!马里兰 MIT 等力作:Prompt 才是大模型终极武器
人工智能·openai
猫头虎1 小时前
猫头虎AI分享|一款Coze、Dify类开源AI应用超级智能体Agent快速构建工具:FastbuildAI
人工智能·开源·github·aigc·ai编程·ai写作·ai-native
一只鱼^_1 小时前
牛客周赛 Round 105
数据结构·c++·算法·均值算法·逻辑回归·动态规划·启发式算法