Filterkoeffizienten aus zeitkontinuierlicher Impulsantwort

Gast #253087
Lesenswert?

Hallo,
ich bin gerade dabei ein bestimmtes linearphasiges FIR-Filter mit einer
vorgegebenen zeitkontinuierlichen Impulsantwort auf einem DSP zu
Implementieren. Z.Zt. bin ich ein wenig verwirrt was die Berechnung der
Koeffizienten anbelangt.

Hier als Beispiel eine der analogen Impulsantworten:
g(x)=((x^2-s^2)/s^4)*(1/sqrt(2*pi)*sigma)*exp(-(x.^2)/(2*sigma.^2));

Nur wie bekomme ich jetzt meine Koeffizienten (9 Taps sollten es sein).
Fourrierapproximation?Frequenzabtastmethode? Da ich bisher nur Filter in
Matlab mit vorgegebenem Toreranzschema über das FDATool erstellt habe
stehe ich hier ein wenig auf dem Schlauch...
Wer kann mir also ein paar Tipps geben?

Gruß
Hans
Gast #253088
Lesenswert?

Wenn die Impulsantwort des Filters bekannt ist:

Sie läuft ja von -T/2 bis T/2. Diesen Abschnitt in x Segmente
(ordnungsabhängig) teilen und dann jeweils als Filterkoeffizient g(x)
nehmen. Die Koeffizienten sind in deinem Fall logischerweise
symmetrisch.

Im Endeffekt tastest du die Impulsantwort einfach ab.
Gast #253090
Lesenswert?

Ok, nächste Anlauf :)

Du hast ja eigentlich eine Fensterfunktion die du über deine
Eingangswerte bewegst. Diese Werte wurden mit einer bestimmten Frequenz
abgetastet.
Von dieser (diskreten) Fensterfunktion berechnest du die DFT. Diese ist
in diesem Fall gleich der Impulsantwort im Zeitbereich (Beweis siehe
Literatur). Diese diskrete Impulsantwort multiplizierst du mit deinem
diskreten Signal (Stichwort Faltung).

Die T/2 siehst du schon in der DFT, da dein Spektrum periodisch sein
wird. Wähle nur einen größeren Bereich auf der Frequenzachse. T ergibt
sich durch die Abtastfrequenz.

Darum musst du in Matlab beim Filterdesign immer die normierte
Schnittfrequenz (beim Tiefpass) angeben.
Gast #253091
Lesenswert?

Achso, da es hier kein RTFM gibt:

Richard G. Lyons
Understanding Digital Signal Processing

Das beste Buch für Anfänger was ich bis jetzt in den Händen hatte (auch
eines der teureren), und ich hatte einige in der Mangel :)
Gast #253092
Lesenswert?

Achso, zu den Koeffizienten nochmal:

Stell dir einfach vor, dass du das Fenster abtastest. Von diesen N
Werten machst du eine N-Punkte DFT. Die N Punkte die du dann erhälst
sind deine Koeffizienten.
Je mehr Werte desto genauer ist die DFT, also desto besser die
Filtereigenschaften.

Hoffe es ist klar geworden :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren