Forums

Convolution of two one-dimensional arrays

Started by katz March 28, 2005
hello everyone,
i just downloaded the FFTW library, and i read the tutorial (well..i
skimmed through it). 

i'm using dev-C++. in c++, i constructed 2 vectors, and i have to convolve
them using the FFTW library. the stuff in the tutorial seems much more
complex than what i want to do, and i am a newbie. a really slow learning
newbie that needs guidence. so, i was wondering if anyone could please
point me in the right direction??

i've searched through millions of websites, and i couldn't find what i was
looking for. all i want really, is a very basic template of what code from
the FFTW library looks like. i'm really really stuck. also, how shall i go
about solving this problem of mine?? 

i don't want to know the exact code, i would just like a template in
english coz i really want to understand this first. any help given would
be greatly appreciated.

thank u in advance,
katz   


		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
"katz" <f_arikat@hotmail.com> wrote in message 
news:qfCdnVdQhc4pn9XfRVn-pw@giganews.com...
> hello everyone, > i just downloaded the FFTW library, and i read the tutorial (well..i > skimmed through it). > > i'm using dev-C++. in c++, i constructed 2 vectors, and i have to convolve > them using the FFTW library. the stuff in the tutorial seems much more > complex than what i want to do, and i am a newbie. a really slow learning > newbie that needs guidence. so, i was wondering if anyone could please > point me in the right direction?? > > i've searched through millions of websites, and i couldn't find what i was > looking for. all i want really, is a very basic template of what code from > the FFTW library looks like. i'm really really stuck. also, how shall i go > about solving this problem of mine?? > > i don't want to know the exact code, i would just like a template in > english coz i really want to understand this first. any help given would > be greatly appreciated. > > thank u in advance, > katz >
katz, Forgive my criticism.... It seems to me that you're buried in code-ese and not focusing on the *function* of the code. Different kinda template! One can perform a circular convolution in the following way: conv(a,b): A=FFT(a) B=FFT(b) C=A*B D=IFFT(c)=conv(a,b) (with the proper scaling of course) Now, you do have to make sure that the lengths of the arrays is adequate. If A is of length N If B is of length M Then the FFTs need to be at least of length M+N-1 which means you have to zero pad a and b before the FFTs. Then you may need to figure out the (circular) indices of arrays that make sense for your application. Fred