Seite 1 von 1

Impulsantwort als Variable speichern

Verfasst: Mittwoch 6. Januar 2021, 15:37
von Primzahl13
Hallo,

ich habe ein zeitdiskretes System, dass durch folgende DGL gegeben ist:

1/4 x[n] + 3/8 x[n - 1] + 3/4 x[n - 2] + 3/8 x[n - 3] + 1/8 x[n - 4]

Nun soll die Impulsantwort davon als Variable in Python gespeichert werden, so dass ich anschließend Audiofiles damit falten kann.

Die Impulsantwort wird ja theoretisch durch durch das Anregen des Systems mit einen Dirac-Impuls berechnet.
Jetzt habe ich zum Beispiel folgende Werte für die Impulsantwort bekommen:

h[0] = 1/4
h[1] = 3/8
h[2] = 3/4
h[3] = 3/8
h[4] = 1/8

Nun bin ich etwas überfordert, die Impulsantwort als Variable abzuspeichern.

Die DGL wurde bereits als Funktion diffgl(x) implementiert. Wenn ich diese jedoch von einem Dirac-Impuls berechnen möchte mit diffgl(ssig.dimpulse()) bekomme ich eine Fehlermeldung, weil dimpulse ja eine Länge benötigt. Die weiß ich doch im aktuellen Moment nicht, da ich die Impulsantwort ganz allgemein formuliere.

Hat jemand eine Idee, wo ich gerade hänge?
Hoffe es ist einigermaßen verständlich.

LG

Re: Impulsantwort als Variable speichern

Verfasst: Mittwoch 6. Januar 2021, 15:45
von __deets__
Dein h ist doch die Impulsantwort, als Variable. Denn die Impulsantwort wird doch dann fuer die Faltung einfach mit dem Signal multipliziert.

diffgl und ssig.dimpulse kenne ich nicht, da musst du schon weiter ausholen, woher die kommen und was die machen.

Re: Impulsantwort als Variable speichern

Verfasst: Mittwoch 6. Januar 2021, 16:22
von Primzahl13
Mir geht es darum, ob ein Speichern von h als Array genügt oder ob es da ein anderes Verfahren gibt, wenn es um Impulsantworten geht.

Re: Impulsantwort als Variable speichern

Verfasst: Mittwoch 6. Januar 2021, 16:31
von __deets__
Ob das genuegt haengt davon ab, wie du die Faltung vornimmst.