function [x, n] = signalplus(s1, n1, s2, n2)% n1 is the sample positions of s1
% n2 is the sample positions of s2
i understood it but i can write in matlab
example:
s1=[2 5 7]; n1=2 s2=[3 2 6]; n2=3 s=s1 + s2 = [3 4 11 7]
thank you 🙂
i find a code but it not work , i use : sigadd([2 5 7],2,[3 2 6],3) error
function [y,n] = sigadd(x1,n1,x2,n2)% implements y(n) = x1(n)+x2(n)
% -----------------------------
% [y,n] = sigadd(x1,n1,x2,n2)
% y = sum sequence over n, which includes n1 and n2
% x1 = first sequence over n1
% x2 = second sequence over n2 (n2 can be different from n1)
%
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duration of y(n)
y1 = zeros(1,length(n)); y2 = y1; % initialization
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % x1 with duration of y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % x2 with duration of y
y = y1+y2; % sequence addition
Best Answer