首页 > 其他分享 >基于小波变换的数据峰值检测matlab仿真

基于小波变换的数据峰值检测matlab仿真

时间:2023-04-17 20:47:04浏览次数:36  
标签:plot 峰值检测 变换 Times2 于小波 matlab Timesa 傅立叶 hold

1.算法仿真效果

matlab2022a仿真结果如下:

 

 

 

 

2.算法涉及理论知识概要

        小波变换(wavelet transform,WT)是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。

 

       与Fourier变换相比,小波变换是空间(时间)和频率的局部变换,因而能有效地从信号中提取信息。通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。小波变换联系了应用数学、物理学、计算机科学、信号与信息处理、图像处理、地震勘探等多个学科。数学家认为,小波分析是一个新的数学分支,它是泛函分析、Fourier分析、样条分析、数值分析的完美结晶;信号和信息处理专家认为,小波分析是时间—尺度分析和多分辨分析的一种新技术,它在信号分析、语音合成、图像识别、计算机视觉、数据压缩、地震勘探、大气与海洋波分析等方面的研究都取得了有科学意义和应用价值的成果。信号分析的主要目的是寻找一种简单有效的信号变换方法,使信号所包含的重要信息能显现出来。小波分析属于信号时频分析的一种,在小波分析出现之前,傅立叶变换是信号处理领域应用最广泛、效果最好的一种分析手段。傅立叶变换是时域到频域互相转化的工具,从物理意义上讲,傅立叶变换的实质是把这个波形分解成不同频率的正弦波的叠加和。正是傅立叶变换的这种重要的物理意义,决定了傅立叶变换在信号分析和信号处理中的独特地位。傅立叶变换用在两个方向上都无限伸展的正弦曲线波作为正交基函数,把周期函数展成傅立叶级数,把非周期函数展成傅立叶积分,利用傅立叶变换对函数作频谱分析,反映了整个信号的时间频谱特性,较好地揭示了平稳信号的特征。

      小波变换是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,因此,小波变换在许多领域都得到了成功的应用,特别是小波变换的离散数字算法已被广泛用于许多问题的变换研究中。从此,小波变换越来越引起人们的重视,其应用领域来越来越广泛。

 

3.MATLAB核心程序

 

if sel == 1
 
figure;
subplot(211);
plot(Timesa,ay1,'b');
hold on
plot(Timesa(locsy1),ay1(locsy1),'ro'); 
hold on
plot(Timesa(indxy1),ay1(indxy1),'k*'); 
hold on
stem(Timesa(locsy1),ay1(locsy1),'ro')
xlabel('time');
ylabel('ay');
subplot(212);
plot(Timesa,az1,'b');;
hold on
plot(Timesa(locsz1),az1(locsz1),'ro');
hold on
plot(Timesa(indxz1),az1(indxz1),'k*');
hold on
stem(Timesa(locsz1),az1(locsz1),'ro')
xlabel('time');
ylabel('az');
 
Tay1  =[Timesa(locsy1)]';
Tby1  =[Timesa(indxy1)]';
Ay1  =[ay1(locsy1)]'; 
........................................................................
for i = 1:length(p1)-1
    diff1(1,i)=p1(i+1)-p1(i);
    diff2(1,i)=p2(i+1)-p2(i);
end
5*mean(diff1)
5*mean(diff2)
 
ay=mean(sqrt(ax1(locsz1).^2 + ay1(locsz1).^2 + az1(locsz1).^2))
end
if sel == 2
figure;
subplot(211);
plot(Times2,ay2,'b');
hold on
plot(Times2(locsy2),ay2(locsy2),'ro');
hold on
plot(Times2(indxy2),ay2(indxy2),'k*');
hold on
stem(Times2(locsy2),ay2(locsy2),'ro')
xlabel('time');
ylabel('ay');
subplot(212);
plot(Times2,az2,'b');;
hold on
plot(Times2(locsz2),az2(locsz2),'ro');
hold on
plot(Times2(indxz2),az2(indxz2),'k*');
hold on
stem(Times2(locsz2),az2(locsz2),'ro')
xlabel('time');
ylabel('az');
ptime1 = Times2(locsy2);
ptime2 = Times2(indxz2);
for i = 1:length(ptime1)-1
    diff1(1,i)=ptime1(i+1)-ptime1(i);
    diff2(1,i)=ptime2(i+1)-ptime2(i);
end
2*mean(diff1)
2*mean(diff2)
% figure;
% plot(ptime1-ptime2);
 
...................................................................
for i = 1:length(ptime1)-1
    diff1(1,i)=ptime1(i+1)-ptime1(i);
    diff2(1,i)=ptime2(i+1)-ptime2(i);
end
2*mean(diff1)
2*mean(diff2)
figure;
plot(ptime1-ptime2);
 
p1=Times2(indxy2(4:end));
p2=Times2(indxz2);
for i = 1:length(p1)-1
    diff1(1,i)=p1(i+1)-p1(i);
    diff2(1,i)=p2(i+1)-p2(i);
end
5*mean(diff1)
5*mean(diff2)
ay=mean(sqrt(ax3(locsz3).^2 + ay3(locsz3).^2 + az3(locsz3).^2))
end

 

  

 

标签:plot,峰值检测,变换,Times2,于小波,matlab,Timesa,傅立叶,hold
From: https://www.cnblogs.com/51matlab/p/17327425.html

相关文章

  • m规则LDPC和非规则LDPC误码率matlab对比仿真,并对比不同译码迭代次数的误码率
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要LDPC码是麻省理工学院RobertGallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能逼近香农极限,且描述和实现简单,易于进行理论......
  • 基于FNN模糊神经网络的控制器解耦控制matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要系统的复杂性与所要求的精确性之间存在尖锐矛盾,为此,通过模拟人类学习和自适应能力,人们提出了智能控制的思想。控制理论专家Austrom(1991)在IFAC大会上指出:模糊逻辑控制、神经网络与专家控制是三种典型的智能控制......
  • 基于免疫遗传优化的图像分割算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要      人工免疫算法(ImmuneAlgorithm)是一种具有生成+检测(generateandtest)的迭代过程的群智能搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,免疫算法是全局收敛的。算法主要......
  • 基于空间矢量控制的永磁同步电机状态反馈控制转速系统设计及仿真,仿真平台基于MATLAB S
    基于空间矢量控制的永磁同步电机状态反馈控制转速系统设计及仿真,仿真平台基于MATLABSimulink搭建。联系默认发仿真系统文件。另外包含设计文档,高清仿真结果示意图,出图程序设计文档包括,建模、各部分仿真模块设计,控制算法详解ID:85200676106734132......
  • 基于MPC的三相变流器设计及仿真,仿真平台基于MATLAB Simulink搭建
    基于MPC的三相变流器设计及仿真,仿真平台基于MATLABSimulink搭建。内含仿真文件,源代码,设计文档,仿真图。设计文档包括建模,各部分仿真模块设计,控制算法详解。ID:65335674963764486......
  • MATLAB代码:基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法
    MATLAB代码:基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法关键词:合作博弈纳什谈判风–光–氢系统综合能源 参考文档:《基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法》基本复现仿真平台:MATLAB平台优势:代码具有一定的深度和创新性,注释清晰,非烂大街的......
  • 基于FNN模糊神经网络的控制器解耦控制matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要       系统的复杂性与所要求的精确性之间存在尖锐矛盾,为此,通过模拟人类学习和自适应能力,人们提出了智能控制的思想。控制理论专家Austrom(1991)在IFAC大会上指出:模糊逻辑控制、神经网络与专家控制是......
  • MATLAB:考虑安全约束及热备用的电力系统机组组合研究
    机组组合直流潮流优化调度MATLAB:考虑安全约束及热备用的电力系统机组组合研究仿真平台:MATLAB+CPLEX平台代码具有一定的深度和创新性,注释清晰主要内容:考虑潮流约束的机组组合问题,目前大部分的机组组合都是直接按照经济最优进行计算,实际上有些调度结果可能不满足网络约束,如可......
  • MATLAB:基于概率距离快速削减法的风光场景生成与削减方法
    风光场景生成场景削减概率距离削减法蒙特卡洛法MATLAB:基于概率距离快速削减法的风光场景生成与削减方法参考文档:《含风光水的虚拟电厂与配电公司协调调度模型》完全复现场景削减部分仿真平台:MATLAB平台 代码具有一定的深度和创新性,注释清晰主要内容:风电、光伏以及电价场......
  • MATLAB:基于模型预测算法的含储能微网双层能量管理模型
    储能优化模型预测控制MPC微网优化调度能量管理 MATLAB:基于模型预测算法的含储能微网双层能量管理模型参考文档:《ATwo-layerEnergyManagementSystemforMicrogridswithHybridEnergyStorageconsideringDegradationCosts》完全复现主要内容:代码微网双层优化调......