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
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.
Danke schonmal für die Antwort, so weit war ich auch schon (s. Anhang). Nur weiß ich nicht genau wo ich die Grenzen für T/2 ansetzen soll!?
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.
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 :)
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 :)
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.