1d linear convolution in ANSI-C-code?

Anstatt das Rad neu zu erfinden, ich Frage mich, wenn jemand könnte sich mich auf eine 1D linear convolution code-snippet in ANSI C? Ich habe eine Suche auf google und in-stack-overflow, aber konnte nicht finden, dass irgendetwas in C, die ich verwenden könnte.

Beispielsweise für Arrays A, B und C, alle mit doppelter Genauigkeit, wobei A und B sind die Eingänge und C ausgegeben wird, mit Längen len_A, len_B, und len_C = len_A + len_B - 1 bzw.

Mein array so klein sind und so jeder Erhöhung der Geschwindigkeit bei der Umsetzung der schnellen Faltung durch FFT ist nicht notwendig. Suchen für einfache Berechnungen.

Auf welcher Plattform sind Sie targeting? Es ist durchaus möglich, dass eine solche Funktion existiert bereits und Sie können es benutzen.
Ich bin mit gcc4.4.4 und centos 5.7 auf linux 64 bit-server.
Nach viel suchen, fand ich den folgenden code für LinearConvolution(), die in meiner Implementierung funktioniert es schnell und produziert die gleichen Ergebnisse wie Matlab, obwohl der code nicht ganz so einfach zu Lesen und zu verstehen, wie Alex ' s unten. Nicht sicher, ob es irgendwelche Unterschiede gibt ansonsten. Anfangs dachte ich, das war C++ - code, aber es scheint zu laufen gut, wenn kompiliert mit -ansi-Schalter in meinem C-Programm. Ich habe verbunden es hier im Fall ist es nützlich, um andere. dsprelated.com/showmessage/71405/1.php

InformationsquelleAutor ggkmath | 2011-12-07

Schreibe einen Kommentar