【发布时间】:2012-12-10 15:30:15
【问题描述】:
我目前正在将 MATLAB 算法转换为 C,以便在 iOS 应用程序中使用它。
我一直在努力使用 MATLAB 的 xcorr 函数。这是相关的MATLAB代码。
xcr = xcorr(A,A,maxlags);
这个,根据 MATLAB 文档
返回滞后范围 [-maxlags:maxlags] 上的互相关序列。输出 c 的长度为 2*maxlags+1。
Apple Accelerate.Framework 提供了一个名为vDSP_conv 的卷积/相关函数,但我不知道如何使用它来产生与xcorr 相同的输出。这可能吗 ?如果是,任何人都可以帮助我。
最好的问候,
相思
【问题讨论】:
-
也许看看 GNU Octave 的实现会有所帮助——他们实现了它octave.sourceforge.net/signal/function/xcorr.html
-
如果Pete所指的问题没有为你解决问题,那么请贴出
A为[1, 2, 3]且maxlags为3时MATLAB的xcorr结果,或者另一个小例子.这可能会显示有助于将其与vDSP_conv行为匹配的函数的详细信息。 -
你好,结果是[0,3,8,14,8,3,0]。我用 maxlags = 2 运行它并得到 [3,8,14,8,3]。我还用 A = [1,2,3,4,5,6,7] 和 maxlags = 3 进行了尝试,得到了 [60,85,112,140,112,85,60]。感谢您的帮助。
标签: ios matlab fft accelerate-framework cross-correlation