在 Matlab 中,我可以使用 finddelay 剪辑/修剪音频信号对(相同频率),如下所示,以便它们对齐并具有相同的长度:
d12 = finddelay(s1,s2);
if(d12 < 1)
start1 = -d12+1;
start2 = 1;
end1 = length(s1);
end2 = min(length(s1(-d12+1:end)), length(s2));
else
start1 = 1;
start2 = d12+1;
end1 = min(length(s2(d12+1:end)), length(s1));
end2 = length(s2);
end
clipped_s1 = s1(start1:end1);
clipped_s2 = s2(start2:end2);
我想对 3 个或更多信号做同样的事情,到目前为止,我试图为信号对取开始/结束界限,即 d12、d23、d31,然后取起始索引的最大值和最小值相应索引的结束索引。但是,它并没有给我 s1、s2、s3 的平等界限,我从根本上误解了一些东西。有人有什么建议吗?