Convolutia 1D

    Un sistem liniar care foloseste convolutia 1D este ilustrat in figura de mai jos.

Acest sistem efectueaza convolutia 1D conform algoritmului urmator

void conv_input(){
for (int i=0;i<N+M;i++) y[i]=0;
for (int i=0;i<N-1;i++)
for (int j=0;j<M-1;j++) y[i+j]+=x[i]*h[j];
}

unde M este dimensiunea nucleului, iar N este dimensiunea semnalului de intrare. Evident dimensiunea semnalului va fi N+M.

Nota. Prin dimensiune a unui semnal intelegem lungimea (numarul de elemente/componente ale) vectorului asociat. Aici sunt implicati trei vectori, x, y si h, repectiv pentru semnalul de intrare, iesire si nucleu.

Modul in care operreaza un sistem convolutiv este exemplificat de appletul urmator pentru doua semnale de intrare si mai multe nuclee. Appletul permite si crearea unui nucleu oarecare folosind functia drag a mouse-ului asupra patratelor rosii.


You can't run applets. Here's what you'd see if you could:

 

© Cornel Mironel Niculae, 2004-2005
05-May-2008