Hallo zusammen, ich beschäftige mich hobbymäßig mit DSP und hatte vor einiger Zeit mal mit Matlab und dem Kommando "filter" einen Filter erstellt, der auf einen Impuls mit einer abklingengenden harmonischen Schwingung geantwortet hat. Fand ich ganz lustig, weil ich mir das Signal dann auch anhören konnte und so schön "ping" machte. Kann mir jemand sagen, wie ich die Filterkoeffizienten wählen muss, damit ich dieses Verhalten erreiche. Ich möchte in Matlab das filter Kommando nutzen. Die Syntax ist y = filter(b,a,X). Besten Dank, SignalFan
http://www.mathworks.de/de/help/matlab/ref/filter.html "y = filter(b,a,X) filters the data in vector X with the filter described by numerator coefficient vector b and denominator coefficient vector a. If a(1) is not equal to 1, filter normalizes the filter coefficients by a(1). If a(1) equals 0, filter returns an error." Das ist ja ein sehr allgemeines Digitalfilter, noch ohne Berechnung der Koeffizienten. "Nachklingeln" machen vor allem vielstufige Filter hoher Güte mit üblem Phasengang. Gutmütige Filter wie Bessel oder Gauss-Charakter sollten das weniger tun.
"filter(b,a,X)" erstellt kein Filter, sondern filtert (über eine diskrete Faltung) den Vektor X mit der aus Nenner (b) und Zähler (a) bestehenden Übertragungsfunktion! Hast du damals die Impulsantwort selbst vorgegeben, oder hat sich das "so ergeben"? Schöne Grüße, Jan
Hallo Jan, danke für Deine Antwort. Ich muss ehrlich sagen, ich weiß nicht mehr wie ich dazu gekommen bin. Ich glaube, es war so, das verschiedene Filter (wohl definiert durch die Koeffezienten in der Übertragungsfunktion) charakterisiert habe durch die Antwort auf den Dirac-Impuls. Das heißt doch Impulsantwort oder? Ich fand's ziemlich erstaunlich, dass diese paar a/b Koeffizienten in einer Differenzengleichung das Verhalten von - sagen wir - einem selbst schwingendem System simulieren kann. Wie gesagt, ich hatte ein bisschen rumprobiert mit den a/b koeffzienten und einen Impuls reingegeben und es gab als output (wenn über die entsprechend audio-play-funktion von matlab) einen richten schönen piiiing - ungefährt so wie von einder Fahrradklingel. Vielleicht gibt es ja eine Möglichkeit, das Eigenschwing-Verhalten von IIR oder FIR-FIltern zu bestimmen. Sollte man das nicht an der Übertragungsfunktion ablesen können? Beste Grüße SignalFan
SignalFan schrieb: > Ich fand's ziemlich erstaunlich, dass diese paar a/b Koeffizienten in > einer Differenzengleichung das Verhalten von - sagen wir - einem selbst > schwingendem System simulieren kann. Das ist eigentlich garnicht erstaunlich, weil so ein selbstschwingendes System eigentlich etwas ziemlich simples ist: Eine Rückkopplung der Position auf die Beschleunigung. Durch den Integralverlauf der Geschwidigkeit und später der Position entsteht die Verzögerung, die das System in die entgegensetzte Richtung zwingt. Am Ende gibt es soviele normierte Parameter, wie es Endwerte gibt: Amplitude, Phase und Frequenz. Mehr baucht es nicht. Verzichtet man auf die Phase, sind es 2 Parameter.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.