matlab - 如何减少 xcorr 函数的执行时间?
问题描述
我想找到 和 的窗口相关值x
,y
它们是大小为 1*20000 的数组。另外,我想从每个窗口中提取最大相关值。
该xcorr
函数执行时间过长。有什么办法可以减少执行时间?我的代码如下:
k=1;
for i = 1 : stepsize : (length(x)-w+1)
corrValue_w = xcorr(x(i:i+w-1),y(i:i+w-1));
maxCorrValue_w(k) = max(corrValue_w);
k=k+1;
end
解决方案
问题是信号的长度。尝试使用 FFT。这里有一些提示:matlab 中的互相关而不使用内置函数?和https://dsp.stackexchange.com/questions/12630/cross-correlation-with-fft-and-fftshift。第一个似乎最相关!
推荐阅读
- c - 在重新分配之后组织指针数组
- javascript - PHP:如何获取单选按钮的值然后在 SQL statemet 中使用它
- c++ - 使用 map 为类创建迭代器
- c# - 是否可以使用模拟对象作为另一种模拟方法的输入?
- ceph - 从失败的 Ceph 集群中恢复 - 非活动 PG(关闭)
- batch-file - 如何以编程方式运行具有管理员权限的批处理脚本?
- r - RODBC oracle 架构与安装的双客户端不匹配
- java - 如何使用 Selenium Java 使用 Krypton 捕获屏幕截图
- google-apps-script - getActiveRange 不返回当前选择
- python - 从命令行运行 python 模块