Convolution without conv() function
Mostrar comentarios más antiguos
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 comentarios
John D'Errico
el 11 de Abr. de 2015
Surely you can write down the convolution on paper as a sum?
So now write it using a loop.
Geoff Hayes
el 11 de Abr. de 2015
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
el 11 de Abr. de 2015
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
el 11 de Abr. de 2015
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
el 11 de Abr. de 2015
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
el 11 de Abr. de 2015
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
el 11 de Abr. de 2015
@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
el 11 de Abr. de 2015
Manolis Michailidis
el 11 de Abr. de 2015
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
el 11 de Abr. de 2015
Image Analyst
el 11 de Abr. de 2015
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
Respuestas (1)
Sk Group
el 25 de Oct. de 2021
0 votos
Convolution without conv function in MATLAB | Complete CODE | Explanation | Example And Output
For complete detailed post visit: https://www.swebllc.com/convolution-without-function-in-matlab/
Categorías
Más información sobre Correlation and Convolution en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
