PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FIR Tiefpass Koeffizienten berechnen



Kampi
16.07.2014, 12:09
Hallo,

ich grübel schon seit ein paar Stunden dadrüber wie ich für einen digitalen FIR Tiefpass die Koeffizienten berechnet bekomme. In den Praktikumsterminen wo wir in Matlab mit dem Tool zum designen für Filter gearbeitet haben, wurden uns die Koeffizienten von dem Tool ausgespuckt. Ich möchte nun (theoretisch) wissen wie das funktioniert um es ggf. mal selber zu implementieren.
Dazu habe ich schon mal etwas gegooglet....

http://www.fh-schmalkalden.de/schmalkaldenmedia/Realisierung_Digitaler_Filter_in_C-p-419.pdf
http://info.php-4.info/attachment.php?attachmentid=385&sid=1887badd70653b8350f0af6105ae9db5
http://de.wikipedia.org/wiki/Z-Transformation

Wenn ich das richtig verstanden habe, guckt man sich im Frequenzspektrum an welche Frequenzen der Filter rausfiltern soll. Dafür definiert man dann eine Funktion und überführt diese Funktion mittels Z-Transformation in den Zeitbereich. Aus der daraus entstandenen Funktion kann man dann die Koeffizienten berechnen.
Jetzt habe ich aber bisher nur Beispiele gefunden, wie man dies für zeitkontinuierliche Signale macht, sprich wie man mittels Fourier Transformation von der Rechteckigen Filterkurve im Frequenzbereich auf die si()-Funktion im Zeitbereich kommt.
Wie kann ich den Kram anschließend diskret ausdrücken oder war meine Idee schon falsch?

Danke für eine Antwort :)

shedepe
16.07.2014, 18:29
Eine möglichkeit ist es einen zeitkontinuierlichen Filter zunehmen und diesen mit einen Abtastfrequenz T_a zu diskretisieren. Dabei entstehen unterumständen Approximationsverluste.
Das Funktioniert im groben so:
1. Zeitkontinierlichen Filter aufstellen
2. Diesen durch wahl der Pole auf der Linken Seite stabil halten
3. Daraus mittels der einseitigen Laplace Trafo die Impulsantwort berechnen
4. Abtasten der Impulsantwort auf einen zeitdiskrete Funktion
5. Diese Funktion mit einer Kausalen Fensterfunktion so fenstern dass einen zeitbegrenzte Impulsantwort entsteht
6. Durch DFT überprüfen ob die gewünschten Toleranzen eingehalten wurden.


Es steckt allerdings schon etwas mehr Theorie dahinter. Wenn du es genau wissen willst würde ich dir zu einem Buch wie dem hier raten:
http://www.amazon.de/Signale-Systeme-Fernando-Puente-Le%C3%B3n/dp/3486597485/ref=sr_1_1?ie=UTF8&qid=1405531130&sr=8-1&keywords=signale+und+systeme

Kampi
16.07.2014, 19:18
Hey,

danke für die Info.
Ja, ein bissl Signalübertragung hatten wir bereits im Studium. Aber da ist nicht wirklich viel dran gekommen....
Aber das Buch sieht an für sich gut aus....vielleicht gönne ich es mir mal...30€ sind nicht viel Geld und von der Kritik her gibt es auch nichts zu meckern :)

ePyx
16.07.2014, 19:54
Mann kann auch ein analoges Filter entwerfen und die Übertragungsfunktion mit der bilinearen Transformation in die z-Ebene übertragen. Ist für FIRs meist der einfachere Weg, als die Impulsinvarianzmethode.

Kampi
18.07.2014, 06:06
Hey,

danke für die Antworten.
Mmh das hört sich doch bissl komplizierter an als ich gedacht habe....
Naja, ich habe mir mal das Buch bestellt und schau mir das dann mal an!