Faltung und Kreuzkorrelation
Copyright: Sebastian Tilders
Lizenz: GPL-v3
Beschreibung:
convolute(...)
führt für rev = True
eine diskrete Faltung und für rev = False
eine Kreuzkorrelation durch.
#### Copyright: Sebastian Tilders
#### License: GPL-v3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
def extendAndReverseList(l1, l2):
for i in range(2):
l2.reverse();
for i in range(len(l1)-1):
l2.append(0);
def convolute(list1, list2, rev = True):
if rev is True:
list1.reverse();
extendAndReverseList(list1,list2);
res = [];
for i in range(len(list2)-len(list1)+1):
sum = 0;
for j in range(len(list1)):
sum += list1[j] * list2[j];
res.append(sum);
list2.pop(0);
return res;