一维时间序列信号的多小波分析方法(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等。

相关推荐
细节控菜鸡23 分钟前
【2025最新】ArcGIS for JS 实现随着时间变化而变化的热力图
开发语言·javascript·arcgis
koo36428 分钟前
李宏毅机器学习笔记30
人工智能·笔记·机器学习
Pluto_CSND39 分钟前
Java实现gRPC双向流通信
java·开发语言·单元测试
长桥夜波44 分钟前
机器学习日报02
人工智能·机器学习·neo4j
Elastic 中国社区官方博客1 小时前
介绍 Elastic 的 Agent Builder - 9.2
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
拓端研究室1 小时前
专题:2025年制造业数智化发展白皮书:数字化转型与智能制造|附130+份报告PDF、数据、绘图模板汇总下载
人工智能
就不爱吃大米饭1 小时前
ChatGPT官方AI浏览器正式推出:ChatGPT Atlas浏览器功能及操作全解!
人工智能·chatgpt
tainshuai1 小时前
YOLOv4 实战指南:单 GPU 训练的目标检测利器
yolo·目标检测·机器学习
牛客企业服务1 小时前
企业招聘新趋势:「AI面试」如何破解在线作弊难题?
人工智能·面试·职场和发展·招聘·ai招聘
京东零售技术1 小时前
扛起技术大梁的零售校招生们 | 1024技术人特别篇
算法