User Tools

Site Tools


conv:conv

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
conv:conv [2008/01/10 13:47] devaconv:conv [2008/01/23 12:19] jsc
Line 1: Line 1:
-=====Convolution implementation pages=====+=====Convolution implementation pages (Spring 2008 studies group under Ole Caprani)===== 
 +Our goal is to implement a realtime plugin to do convolution.\\ 
 +The basic "Input Side" is way too slow (convolution implemented with two for loops), so we will be experimenting with a dft-multiply-idft algorithm (sometimes called "The Overlap-and-Save algorithm") instead.\\ 
 +To do the actual fft we will use the fftw3 library (http://www.fftw.org), which implements the "Fastest Fourier Transform in the West" algorithm.\\ 
 +The next step is to implement at test the "Partitioned Overlap-and-Save" algorithm, where the filter is split into partitions prior to convolution. 
 + 
 +====Group==== 
 +  * Jonas Suhr Christensen - //suhr@daimi.au.dk// - 20032491 
 +  * Bent Bisballe Nyeng - //deva@daimi.au.dk// - 20001467
  
 ====Links==== ====Links====
-  * http://archive.cnmat.berkeley.edu/~adrian/Csigproc.html +  * http://www.fftw.org - The fftw library. 
-  * http://sunsite.univie.ac.at/Linux-soundapp/dsp.html +  * http://archive.cnmat.berkeley.edu/~adrian/Csigproc.html - Some C optimizations that can be used when programming DSP. 
-  * http://www.dspguide.com/ch9/3.htm +  * http://sunsite.univie.ac.at/Linux-soundapp/dsp.html - A list of links to various sites about audio and DSP programming. 
-  * http://people.scs.fsu.edu/~burkardt/c_src/fftw3/fftw3.html +  * http://www.dspguide.com - A very good online book about audio convolution
-  * http://www.ludd.luth.se/~torger/brutefir.html#bruteconv_3+  * http://people.scs.fsu.edu/~burkardt/c_src/fftw3/fftw3.html - Some info about the fftw3 library. 
 +  * http://www.ludd.luth.se/~torger/brutefir.html#bruteconv_3 - Some info about partitioned convolution. 
 +  * http://www.aurora-plugins.it/Public/Papers/164-Mohonk2001.PDF - More on partitioned convolution. 
 +  * http://www.linuxdevcenter.com/lpt/a/586 - A LADSPA tutorial
  
 ====Code==== ====Code====
Line 17: Line 28:
 g++ -O2 -mmmx -msse -msse2 conv_opt.cc -o conv_opt -DFFTW_FLOAT -lfftw3f -lsndfile g++ -O2 -mmmx -msse -msse2 conv_opt.cc -o conv_opt -DFFTW_FLOAT -lfftw3f -lsndfile
 </code> </code>
-to use floating point fftw instead of double.+to use floating point fftw instead of double.\\
  
 +The actual code is shown below:
 <code c> <code c>
 #include <stdlib.h> #include <stdlib.h>
conv/conv.txt · Last modified: 2008/09/04 12:09 by deva