如何在matlab中平滑地连接两个信号

时间:2014-04-11 12:32:46

标签: matlab signal-processing

我需要生成两个信号,最后我想要连接。问题是第一信号的结束条件与我的第二信号的初始条件相比可能完全不同。随后它可能导致我的最终信号突然且不切实际地跳跃。最终信号是2个连接信号。

如何在最终信号中平滑连接?

谢谢!

1 个答案:

答案 0 :(得分:5)

某种交叉褪色怎么样:

S1 = rand(1000,1);
S2 = rand(1000,1) + 1;

%\\ cross-fade over last 200 elements
n = 200;

W = linspace(1,0,n)';                                    %'

S1(end-n+1:end) = S1(end-n+1:end).*W;
S2(1:n) = S2(1:n).*(1-W);

S12 = zeros(size(S1,1) + size(S2,1) - n, 1);
S12(1:size(S1,1)) = S1;
S12(end-size(S1,1)+1:end) = S12(end-size(S1,1)+1:end) + S2;

这是使用线性加权来消除衰落,你可能会选择别的东西,但我认为这会有所帮助。