【问题标题】:Cross Correlation in MatlabMatlab中的互相关
【发布时间】:2014-05-20 13:48:08
【问题描述】:

我被要求在 Matlab 中实现 cross correlation,并将其与 Matlab 提供的 xcorr 进行比较。

从我搜索的内容来看,互相关似乎类似于convolution,但我仍然不完全了解它们中的任何一个是如何工作的,因此不可能在代码上得到它。

如果有人以前这样做过并且愿意分享代码并解释其工作原理,我们将不胜感激。

PS:有人告诉我,除了简单的函数之外,我不能使用inbuilt 函数。(for、if 等)

【问题讨论】:

  • 欢迎来到 SO。谷歌一下,弄明白,然后回来问有关编程的问题。
  • 在最好的情况下,这是一道基本的数学题,而不是编程题。确保知道您需要编程什么,然后如果您在此过程中遇到困难,可以在这里提问。如果您想了解更多关于xcorr 函数的信息,只需输入doc xcorr

标签: matlab convolution cross-correlation


【解决方案1】:

相信你对这个卷积的 GIF 很熟悉:

你在那里看到了什么?您计算两个函数下的值(它们之间的关系是乘法),这是一个积分(在离散系统中是积分限制内的值的总和),并且您在另一个函数的积分限制的每一步中对一个函数的整个积分限制(这是一个内部循环)执行此操作,对于第二个函数的整个积分限制( 嵌套在第二个循环中)。

这样就可以了,卷积可以编程为两个嵌套循环内的两个函数的值在积分限制上的乘积之和。对于互相关,您只需改变一个方向。

尝试对此进行编程,如果不起作用,请返回。祝你的任务好运!

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 2011-09-11
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多