首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用vDSP_conv来模拟MATLAB的xcorr函数?

如何使用vDSP_conv来模拟MATLAB的xcorr函数?
EN

Stack Overflow用户
提问于 2012-12-10 15:30:15
回答 1查看 1.4K关注 0票数 2

我目前正在将MATLAB算法转换为C,以便在iOS应用程序中使用它。

我一直在挣扎于MATLAB的xcorr函数。这是相关的MATLAB代码。

代码语言:javascript
运行
复制
xcr = xcorr(A,A,maxlags);

根据MATLAB的文档

返回滞后范围-maxlags:maxlags上的互相关序列。输出c有长度2*maxlags+1。

苹果Accelerate.Framework提供了一个名为vDSP_conv的卷积/相关函数,但我不知道如何使用它来产生与xcorr相同的输出。这有可能吗?如果是的话谁能帮我。

诚挚的问候,

阿卡西奥

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-11 15:13:20

要复制MATLAB的xcorr结果,需要在之前和之后用零填充向量:

代码语言:javascript
运行
复制
#include <stdio.h>

#include <Accelerate/Accelerate.h>


int main(void)
{
    #define NF  3
    #define NC  (2*NF+1)

    float A[3*NF] = {0, 0, 0, 1, 2, 3, 0, 0, 0};
    float C[NC];

    vDSP_conv(A, 1, A+NF, 1, C, 1, NC, NF);

    for (vDSP_Length i = 0; i < NC; ++i)
        printf("C[%u] = %g.\n", (unsigned) i, C[i]);

    return 0;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13803950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档