KKkk--0926 2023-05-30 22:44 采纳率: 0%
浏览 17

如何利用Matlab计算图像上两点的空间自相关函数C以及空间自相关长度d及其相关曲线

已有文献通过图一计算出图二的曲线。但是本人试了xcorr2等多种方法无法计算出相同曲线,求各位指点!
文章中给出的公式如图三。
原文链接如下https://doi.org/10.1038/s41563-022-01194-5
希望大家给予指点!
万分感谢!
空间自相关长度就是图一中肉眼可见的螺旋的大小,希望通过计算的方法将其可视化的展现出来。

img

img

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-31 08:19
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: 信号相关性学习笔记及matlab分析声波(振动)信号相关性实例中的 matlab中相关性函数xcorr在声波(振动)信号处理中的应用 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
      • matlab中xcorr函数的用法
      xcorr(x,y,'option);
      

      其中x,y,表示两个序列,就是所说的信号。在具体应用时可以手动导入,或者使用程序的方法读取;option表示不同的参数,当option是
      "biased"为有偏的互相关函数估计;
      "unbiased"为无偏的互相关函数估计;
      "coeff"为0延时归一化序列的自相关计算;
      "none"为原始的互相关计算

      • 在声波(振动)信号中的应用
        matlab应用程序:
      clc;
      subplot(3,1,1);
      plot(CH1);//绘制手动导入的原始数据
      DATA1=CH1(53540:66060);//截取一个脉冲响应数据
      DATA2=CH1(103700:116220);//再截取一个脉冲响应数据
      t1=TIME(53540:66060);
      t2=TIME(103700:116220);
      subplot(3,1,2);
      plot(t1,DATA1);
      hold on;
      plot(t2,DATA2);//将两个脉冲响应波形绘制在同意坐标系下
      
      [a,b]=xcorr(DATA1,DATA2,'coeff');//采用归一化的相关系数表示相关性分析结果
       subplot(3,1,3);
      plot(b,a);//绘制相关性序列
      
      

      如下图所示为使用示波器采集的振动信号原始波形数据:
      原始声波波形数据
      上图中时一连串的冲击响应,取其中两个冲击响应作为分析他们的相关性,以此为依据研究冲击响应的稳定性。截取的两个响应数据如下图:
      截取的两个冲击响应的数据
      采用xcorr函数分析后的结果如下:
      相关性分析结果
      上图中横坐标为延迟时间,纵坐标为相关系数。
      结果表明两个脉冲信号的相关性达到了0.65左右,有很强的相关程度。证明该冲激响应的稳定性很高。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 5月30日