0

それらが整列し、同じ長さを有しているように、私は、次のようにfinddelay使用してオーディオ信号の対をトリム/(同じ周波数)をクリップすることができる午前:クリップ3つの信号MATLABで

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の均等な境界を与えません、私は根本的に何かを誤解しています。誰でも助言がありますか?

答えて

0

だから最初、私は2つの信号のために、それはその後、S3とS2、多分S1とS3、3つの信号、S2との最初のクリップS1をクリップし、その後

d12 = finddelay(t1,t2); 
if(d12 < 1) 
    start1 = -d12+1; 
    start2 = 1; 
    len1 = min(length(t1) - start1, length(t2) - start2); 
    len2 = min(length(t1) - start1, length(t2) - start2); 
    end1 = start1 + len1; 
    end2 = start2 + len2; 
    %note the suffling of +/- 1 
else 
    start1 = 1; 
    start2 = d12+1; 
    len1 = min(length(t1) - start1, length(t2) - start2); 
    len2 = min(length(t1) - start1, length(t2) - start2); 
    end1 = start1 + len1; 
    end2 = start2 + len2; 
    %note the suffling of +/- 1 
end 

する必要があり、それはそう、ミスを犯しました等々。 alignment of 3 signals

関連する問題