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
Convolution of two one-dimensional arrays
Started by ●March 28, 2005
Reply by ●March 28, 20052005-03-28
"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