Signal addition {x1(n)}+{x2(n)}={x1(n)+x2(n)}
41 次查看(过去 30 天)
显示 更早的评论
hello I am currently studying DSP in matlab from a book . and in the book the is signal addition {x1(n)}+{x2(n)}={x1(n)+x2(n)}
while x1(n)!=x2(n) how ever for some reason my function does not work :
x1=1:1:5
x2=1:0.2:2.2
n1=length(x1)
n2=length(x2)
[y,n]=sigadd(x1,n1,x2,n2)
the function itself :
function [y,n]=sigadd(x1,n1,x2,n2)
max_n=max(max(n1),max(n2))
min_n=min(min(n1),min(n2))
n=(min_n:max_n)
y1=zeros(1,length(n))
y2=y1
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2
y=y1+y2
end
1 个评论
Adam
2018-6-21
What are you expecting to be the result of this addition? Your sigadd code only takes into consideration a small section of signal length representing the difference in signal lengths ( +1 ) and your find instructions are hard to understand.
But again, it is hard to see what the expected result is of adding these two signals. If x1 and x2 are meaningful then do you really want to be adding together signal values with different x values?
Those x1 and x2 values suggest you have two bits of signal of differing sample rate, one of which only goes as far as 2.2 while the other ranges up to 5.
回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!