Convolution without conv() function

Hi everybody,
I have a issue to plot a convolution without using the conv() function.
I have x1=sin(2*pi*f1*n*T) and x2=cos(2*pi*f2*n*T)
And i have to plot x3[n] = x1[n] conv x2[n]
I tried many different function like sum, int, symsum but i don't succeed to do it. Is there someone that can help me please
Thank you very much

댓글 수: 11

John D'Errico
John D'Errico 2015년 4월 11일
Surely you can write down the convolution on paper as a sum?
So now write it using a loop.
Geoff Hayes
Geoff Hayes 2015년 4월 11일
jackal's answer moved here
Can i use a function a sum fonction that will make it?
Or do i have to make a loop because i need to plot it after.
Thank you
John D'Errico
John D'Errico 2015년 4월 11일
No. You cannot write it just with a single call to the function sum. You can write it using a loop and a call to sum, or using a nested pair of for loops.
Just take the formula for a convolution. Then see how it would work using a loop.
Matt J
Matt J 2015년 4월 11일
jackal's answer moved here
First, thank you a lot for your help.
The teacher gives us as information that for the conv we have to use the formula:
x3[n] = sum for m from -infinity to infinity of x1[n-m]*x2[m]
I don't know how i can represent the infinity sum?
Thank you
Manolis Michailidis
Manolis Michailidis 2015년 4월 11일
First i suppose you could say m=1:INF and shift it in a loop every time, the discrete covolution formoula should be ok i think , as for the sum should be computed in the nested loop , so basically you will calculate a new array .
Geoff Hayes
Geoff Hayes 2015년 4월 11일
Jackal's answer moved here
So basically i ll have to calculate for n = 0 to for example 10 and put the result in a array?
Or do i misunderstand?
Geoff Hayes
Geoff Hayes 2015년 4월 11일
@Jackal - if you wish to further the conversation please comment on the above remarks rather than creating answers (which aren't answers to your question).
jackal dr
jackal dr 2015년 4월 11일
oh!! Ok sorry i didn't know how it works ^^
Manolis Michailidis
Manolis Michailidis 2015년 4월 11일
Yes for example if your signal has lenght n=10 samples you will start for i=1:n+1 (matlab indexing starts from 1) and then yous should calculate in each iteration the sum of your signal with the shifted other , there is a function that does what you are asking take a look http://www.mathworks.com/matlabcentral/fileexchange/23402-convolution-in-matlab-without-using-conv-x-h-
jackal dr
jackal dr 2015년 4월 11일
Thank you a lot
I will try it and if i have other inquiries i ll ask.
Thank you very much for your time.
Hope i ll suceed ^^
Image Analyst
Image Analyst 2015년 4월 11일
If he won't let you use conv(), then why would he let you use sum()? Seems inconsistent. http://www.mathworks.com/matlabcentral/answers/38787-what-can-be-programmed-without-any-built-in-functions

댓글을 달려면 로그인하십시오.

답변 (1개)

Sk Group
Sk Group 2021년 10월 25일

0 개 추천

Convolution without conv function in MATLAB | Complete CODE | Explanation | Example And Output

카테고리

질문:

2015년 4월 11일

답변:

2021년 10월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by