cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Understanding Convolution

MarkBuckton
4-Participant

Understanding Convolution

I am trying to understand the process of constructing a time-area hydrograph i.e. a Runoff Computation by Convolution (linear superposition and addition)

Qn = k=1,n An-k+1 ik (ik = rainfall excess)

Q1 = A i1

Q2 = A2 i1 + A1 i2

Q3 = A3 i1 + A2 i2 + A1 i3

Q4 = A4 i1 + A3 i2 + A2 i3 + A1 i4 . . . etc.

I don't want to use the build-in function viz. convol(x,y) which is part of the Signal Processing Pack but rather develop my own algorithm or function which will help me understand the convolution process that I further explain in the attached worksheet. The best and simplest procedure that I have come across is to develop a function using the summation procedure viz Sum(xk,yn-k) from which I have constructed a function called CONVOLUTE. However this procedure when compared to the inbuilt function convol(x,y) only produces half the necessary ordinates (to see I show the output of each function and have graphed both solutions for comparison). Does anyone know a more general and/or more adroit way to emulate the output of the "convol" built-in function?

Your help will be much appreciated.

Regards, Mark Buckton

2 REPLIES 2

Mark,

You need to fill the x and y vectors with 0s from the end of the data to n+1 rows. See attached.

Wayne

Dear mark,

while convolution using multiplication operator is easy, when vector dimensions become high it is very time consuming, attached you find convolution using fast fourrier transform which is much more efficient for high dimension vectors.

br

pierre navidi

Top Tags