I have two signals represented by x and y values respectively. I have to find the convolution between the two signals. I am attaching the graph plotted from the two signals. can someone help. Thanks.

Antworten (4)

José-Luis
José-Luis am 12 Jun. 2014

0 Stimmen

You could use the conv() function. It seems to do exactly what you want.
conv(x,y)
Please read the documentation.
doc conv

4 Kommentare

Yuvashree Mani Urmila
Yuvashree Mani Urmila am 12 Jun. 2014
how to represent the waveforms with x and y values as signals in matlab. i have to import the data from excel. I have four columns of data with x and y values of two signals. Thanks for your help
That is a totally different question.
doc xlsread
The documentation explains quite well how to import data from excel.
Please accept an answer once your problem has been solved.
Yuvashree Mani Urmila
Yuvashree Mani Urmila am 13 Jun. 2014
thanks for your help after importing the data i have four sets of values. but in conv function i have to input the two signals(signal 1 and signal 2) i suppose. but how to represent the x and y values as signal 1 and signal 2
José-Luis
José-Luis am 13 Jun. 2014
Use conv() two times? I am sorry but I don't understand.

Melden Sie sich an, um zu kommentieren.

Image Analyst
Image Analyst am 13 Jun. 2014

0 Stimmen

numbers = xlsread(excelFullFileName);
x1 = numbers(:, 1); % x1 assumed to be in column 1.
y1 = numbers(:, 2); % y1 assumed to be in column 2.
x2 = numbers(:, 3); % x2 assumed to be in column 3.
y2 = numbers(:, 4); % y2 assumed to be in column 4.
out1 = conv(x1,y1);
out2 = conv(x2,y2);
Shahin Alam
Shahin Alam am 4 Jan. 2017
Bearbeitet: Image Analyst am 4 Jan. 2017

0 Stimmen

x=[1,1,1];
y=[1,1,1];
How can I find its convolution ?

1 Kommentar

output = conv(x, y, 'full');
plot(output, 'bo-', 'LineWidth', 2);
grid on;

Melden Sie sich an, um zu kommentieren.

Sandeep Maurya
Sandeep Maurya am 28 Aug. 2017

0 Stimmen

x=input('Enter x: ') h=input('Enter h: ') m=length(x); n=length(h); X=[x,zeros(1,n)]; H=[h,zeros(1,m)]; for i=1:n+m-1 Y(i)=0; for j=1:m if(i-j+1>0) Y(i)=Y(i)+X(j)*H(i-j+1); else end end end Y stem(Y); ylabel('Y[n]'); xlabel('----->n'); title('Convolution of Two Signals without conv function');

Tags

Noch keine Tags eingegeben.

Beantwortet:

am 28 Aug. 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by