【自适应傅里叶分解AFD】多通道信号分析的自适应傅里叶分解(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

 摘要:
自传统傅里叶分解基于预定义基础的演变,自适应傅里叶分解(AFD)利用自适应基础实现快速能量收敛。本文将AFD扩展到多通道情况,寻找所有通道中的共同自适应基础。所提出的多通道AFD(MAFD)方案包括用于一般信号的多通道核心AFD和用于具有共同内部功能的特定信号的多通道展开AFD。由于原始AFD的优点,MAFD可以通过跨通道计算瞬时时频分布(TTFD)来提供稀疏的联合时频分布。对合成和真实信号的模拟表明,所提出的方案可以找到并应用具有期望特性的共同自适应基础,并保持AFD的高潜力在实际应用中展现。

物理科学和工程学中的观测往往形成时间变化的信号,这些信号无法通过传统的傅里叶分析充分描述。描述一维时间变化信号的单变量调制振荡模型将信号描述为幅度和频率调制的振荡,提供了一种吸引人的表示,并已成为标准模型。为了描述具有任意通道数量的时间变化信号,将单变量调制振荡模型扩展为调制多变量振荡模型。该模型假设一个共同的振荡跨越所有单独的通道信号。多通道信号分析的一个重要任务是识别共同的振荡结构。

随着对多通道信号分析的兴趣增加,已经提出了几种传统算法的多通道扩展,以探索多个通道之间的依赖关系。在相关工作中,将小波脊变换扩展到调制多变量振荡中,其中多变量小波变换(MWT)识别局部最大点以计算小波系数中的尺度参数,从而可以提供多通道信号的局部振荡动态。为了减少小波变换中线性投影的限制,将同步压缩变换引入到MWT中。多变量同步压缩小波变换(MSWT)重新分配分解分量的能量,使其集中在调制振荡的瞬时频率曲线周围。不幸的是,小波变换是基于预定义的母小波的。为了自适应地分解信号,提出了经验模态分解(EMD),后来扩展为用于分析多通道信号的多变量EMD(MEMD)。MEMD不同于在每个通道上分别分析信号的EMD,而是同时分析所有通道的信号,并可以自适应地为所有通道产生相同数量的本征模态函数(IMFs)。为了提高计算效率,提出了快速MEMD(FMEMD)。尽管MEMD在合成正弦信号和实际信号的分析中表现良好,但它缺乏数学理论和必要的理论保证。为了解决这个问题,文献中提出了几种新颖的自适应分解方法。基于傅里叶理论和零相位滤波以及离散余弦和正弦变换,引入了傅里叶分解方法(FDM)、傅里叶正交变换(FQT)以及相应的多通道扩展称为多变量FDM(MFDM)。在MFDM中,频域分量通过零相位滤波器组重新排列,形成用于分析多变非线性和非平稳时间序列的带限傅里叶本征带函数(FIBFs)。除了MFDM,源自变分模态分解(VMD)的多变量变分模态分解(MVMD)通过最小化频带范围限制在中心频率周围的模态的集体带宽,实现了多变量数据的分解。然后,为了更好地处理宽带和时间变化的多通道信号,提出了非线性啁啾模态分解(NCMD)的多变量版本,即多变量非线性啁啾模态分解(MNCMD)和多变量本征啁啾模态分解(MICMD),可以通过最小化跨通道模式带宽之和将多变非线性啁啾模式转换为窄带多变量信号。与MEMD相比,这些新颖的自适应多通道分解方法包括更多的数学定理或数学分析,以避免EMD在模式混合、去趋势不确定性和端点效应伪像方面的限制。然而,与基于基础的分解方法(如传统的傅立叶分解)相比,这些新颖的自适应多通道分解方法的分解分量仍然缺乏严格数学基础的支持,无法用数学表达式来表述。这个问题使得分解分量的特性难以在数学上解释和分析,从而限制了它们在实践中的应用。在本研究中,将MEMD、MFDM、MVMD和MNCMD统称为经验分解方法。结合基于基础的和经验的分解方法的优势,提出了AFD。

AFD将时间变化信号进行贪婪迭代分解,将其分解为一系列仅包含非负解析相位导数的单分量(MCs)。AFD的分解仍然基于基础。然而,与传统的基于基础的分解方法使用预定义基础不同,AFD使用自适应基础来分解信号,从而实现快速能量收敛。

AFD的优势
自适应分解:
自适应基础;
正交分解分量;
分解分量是仅包含非负解析相位导数的单分量;
快速能量收敛;
严谨的数学基础。
提供瞬态时频分布:
正确的总能量;
非负实值性;
弱和强有限支持。
工具箱中包含的AFD方法
核心AFD:
单通道
无FFT(慢)
有FFT(快)
多通道
无FFT(慢)
有FFT(快)
展开AFD:
单通道
无FFT(慢)
有FFT(快)
多通道
无FFT(慢)
有FFT(快)

📚2 运行结果

部分代码:

% set decomposition method: Single Channel Conventional AFD
afdcal.setDecompMethod(1);
% set searching dictionary generation method: square searching dictionary
afdcal.setDicGenMethod(1);
% generate searching dictionary
afdcal.genDic(0.02,0.95);
afdcal.plot_dic();
% generate evaluators
afdcal.genEva();
afdcal.plot_evaluator();
% initilize decomposition
afdcal.init_decomp()
% decomposition 50 levels
N=50;
for n=1:N
    disp(afdcal.level+1)
    afdcal.nextDecomp()
    [~,systemview]=memory;
    if 1-systemview.PhysicalMemory.Available/systemview.PhysicalMemory.Total>=85/100
        warning(['Memory is not enough -> Decomposition stop, current level: ' num2str(afdcal.level)])
        break
    end
end
% plot energy distribution at level 1
afdcal.plot_S1(1);
% plot decomposition basis at level 2
afdcal.plot_basis(2);
% plot decomposition component at level 3
afdcal.plot_decompComp(3);
% plot reconstruction signal of first 20 levels
afdcal.plot_reSig(20);
% plot energy rate
afdcal.plot_energyRate(afdcal.level);

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

T. Qian, L. Zhang, and Z. Li, “Algorithm of adaptive Fourier decomposition,” IEEE Trans. Signal Process., vol. 59, no. 12, pp. 5899–5906, 2011.

T. Qian, Y. B. Wang, “Adaptive Fourier series -- a variation of greedy algorithm," Adv. Comput. Math., vol. 34, no. 3, pp. 279–293, 2011.

Z. Wang, C. M. Wong, A. Rosa, T. Qian, and F. Wan, “Adaptive Fourier decomposition for multi-channel signal analysis,” IEEE Trans. Signal Process., vol. 70, pp. 903–918, 2022.

🌈4 Matlab代码实现

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值