gpt4 book ai didi

c++ - 如何找到样本信号在主信号中的位置?

转载 作者:太空宇宙 更新时间:2023-11-04 04:41:35 25 4
gpt4 key购买 nike

我有一个 14 秒(120000 个样本)的主信号,其中包含一个样本信号,我有 2 秒(20000 个样本)的样本信号(基本上是波形文件)。我想在 matlab 的主信号中找到样本信号(即 2 秒信号)的位置。

我已经尝试了上面的循环逻辑,但是产生输出所花费的时间太长了。

我不想使用 matlab 的内置互相关函数。

请建议一些在最短时间内(少于一分钟)获得结果的方法。

最佳答案

我能想到的一种方法是将主信号样本信号转换为字符串并使用regexp找出信号起点。这是一个例子:

a=randn(1,120000); % main signal
b=a(100:20100); % Sample signal
sig_str=num2str(a); % Convert main signal into string
sampl_str=num2str(b); % Convert sample signal into string
sig_split=regexp(sig_str,sampl_str,'split');
sampl_sig_start_point=length(num2str(sig_split{1}))+1;
sampl_sig_end_point=sampl_sig_start_point+length(b)-1;

希望对你有帮助。

关于c++ - 如何找到样本信号在主信号中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25901611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com