Forum: Digitale Signalverarbeitung / DSP / Machine Learning Bandpass Filter erstellen in Matlab (mit Gruppenlaufzeit)


von Tom D. (thomyyy)


Angehängte Dateien:

Lesenswert?

Hallo Leute...!!!

Ich bin zurzeit dabei, ein Bandpass filter zu erstellen, nur bin ich 
nicht so sehr fit und hab nur wenig Ahnung davon.

Genauer gesagt, ich muss 3 verschiedene Bandpassfilter in Matlab 
erstellen mit einer Bandbreite von 50MHz.

Jedes Filter muss dann so eingestellt sein, dass man danach 3 
verschiedene Gruppenlaufzeiten Arten bekommt (wie auf den Bild im Anhang 
- B;C;D); z.B. eine parabel, wie bei (D).

Ich hoffe jemand kann mir dabei helfen. Dankeschön!

Grüße Thomyyy

von Tom D. (thomyyy)


Angehängte Dateien:

Lesenswert?

kann mir denn keiner helfen??? :(

Das eine Bandpassfilter hab ich schon bauen können wie auf den bilder 
oben zu sehen ist, und habe danach eine Parabolische Form der 
Gruppenlaufzeit bekommen...

Weiss jetzt nicht wie ich die anderen 2 Formen hinkriege... die Linie 
nach unten und nach oben für den Group Delay... welchen Frequenzgang 
muss ich einstellen oder was muss ich genau machen damit ich es 
rauskriege...???

Danke!

von Johannes (Gast)


Lesenswert?

Hallo,

muss das ein IIR Filter sein oder wäre auch ein FIR Filter erlaubt?

Beim FIR-Filter hat man wesentlich mehr Freiheitsgrade, dafür ist für 
die Umsetzung mehr Rechenaufwand notwendig.

Eine lineare Phase, also konstante Gruppenlaufzeit ist mit dem 
FIR-Filter relativ einfach zu erreichen, wenn man symmetrisch 
Filterkoeffizienten hat. Mit einem IIR-Filter geht es eigentlich gar 
nicht, man kann das höchstens in einem bestimmten Frequenzbereich 
annähern.

Ich kenn mich mit Matlab nicht so gut aus, aber mit einem FIR-Filter 
sollte das eigentlich relativ einfach gehen.

von Tom D. (thomyyy)


Lesenswert?

Also da bin ich zurzeit frei da wurde mir nix gesagt, ich denk schon, 
muss aber halt ein Bandpass sein mit 50MHz Bandbreite.

Bild A mit der linearen Phase und konstante Gruppenlaufzeit muss ich 
nicht machen, Bild D mit der Parabelförmigen Gruppenlaufzeit hab ich 
soweit hingekriegt mit den Tool (siehe Screenshots), ich brauche jetzt 
also nur Bild B und C...

Weiß nicht wie ich die bestimmte Phase für ein Bandpassfilter kriege, 
oder wie soll ich den Bandpassfilter einstellen damit ich bestimmte 
Phasenkurve bekomme für die Gruppenlaufzeiten (Graphen die mit den 
grünen Pfeil gezeigt werden) mit linearer Steigung (positiv und 
negativ)?

also du meinst wenn ich es mit den FIR Filter versuche werde ich diese 2 
Gruppenlaufzeiten hinbekommen? hab das etwas versucht aber nicht 
wirklich hingekriegt...

Mein Betreuer meinte: " Wenn ich sehe dass ich es nicht hinkriege, muss 
ich suchen warum es nicht geht oder was für alternativen ich habe".

Außerdem hatte er vorher noch gemeint dass es danach anders wird (also 
nachdem ich die 3 geschafft habe), weil ich ein Filter mit 
Passiven-Elementen simulieren muss um die S-Parameter des Filters zu 
bekommen. Deswegen ist es wichtig dass  ich die Zero-Pole Plot des 
filters schaue, damit ich die Übertragungsfunktion berechnen kann.

Ich hoffe du hasst jetzt einen besseren Überblick darauf bekommen.... :)
Also ich werde es jetzt nochmal mit den FIR Filter versuchen, mal 
sehen... Trotzdem Danke!

von Johannes (Gast)


Lesenswert?

> also du meinst wenn ich es mit den FIR Filter versuche werde ich diese 2
> Gruppenlaufzeiten hinbekommen? hab das etwas versucht aber nicht
> wirklich hingekriegt...

Beim FIR-Filter ist es ja so, dass man jede beliebige Impulsantwort 
machen kann; die Filter-Koeffizienten sind im Prinzip die Impulsantwort.

Es müsste deshalb so funktionieren, dass man die gewünschte 
Übertragungsfunktion mit der inversen Fourier-Transformation in den 
Zeitbereich transformiert; das ist dann die Impulsantwort. Daraus kann 
man dann die Filterkoeffizienten ermitteln.

Ich hab das selber aber noch nicht gemacht; ist nur einer Idee, wie es 
funktionieren könnte. Also ich übernehme keine Gewähr, dass es 
funktioniert.

Gibt es eigentlich eine Vorgabe für die Abtastfrequenz und die 
Mittenfrequenz oder ist wirklich nur die Bandbreite vorgegeben?

von Tom D. (thomyyy)


Lesenswert?

Hey,

also paar Tage sind vergangen und ich hab nur geschafft die 
parabelförmige Gruppenlaufzeit hinzubekommen, könnt ihr mir vielleicht 
erklären warum es nicht (so leicht) geht, eine linear förmige(positiv 
und negative Steigung) Gruppenlaufzeit zu erzeugen???


Der nächste Schritt ist jetzt, passive Filter zu bauen (Bandpass) mit 
R-L-C in Agilent ADS, um die S-Paramter rauszufinden und die 
Gruppenlaufzeiten zu untersuchen (3 Arten sind hinzubekommen: 
Parabolische, Lineare Kurve mit Positiv und Negative Steigung).
Kennt sich da jemand aus mit ADS, der mir da helfen kann damit.

Danke

Grüße Thomyyy

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Für passive RLC-Filter gibt es kostenlos das Programm von aade.com:
http://www.aade.com/filter32/download.htm
ich weiß aber nicht, ob man da auch die Gruppenlaufzeit bekommt.

Ein Digitalfilter für 50 MHz wäre schon etwas aufwändiger. Ein paar 
Samples pro Schwingung sollten es ja schon sein, das werden dann gleich 
Taktfrequenzen von mehreren hundert MHz.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Im Scilab-Tutorial von 1998 zur Signalverarbeitung wird auch die 
Gruppenlaufzeit besprochen (Kapitel 2):
http://wiki.scilab.org/Tutorials%20archives
->Signal Processing with Scilab (205 pages) (PDF) 1998

von Tom D. (thomyyy)


Lesenswert?

Hey,

danke nochmal für die Links.
Also die Sache mit den passiven Filter in ADS können wir vorerst 
vergessen, muss es doch net jetzt machen.


Meine Fragen sind die folgenden:

- Ich habe die parabelförmige Gruppenlaufzeit hinbekommen mit den 
fdatool in Matlab (siehe Bilder oben), könnt ihr mir vielleicht erklären 
warum es nicht (so leicht) geht, eine linear förmige(positiv und 
negative Steigung) Gruppenlaufzeit zu erzeugen (siehe erste Bild ganz 
oben) ??? Einfach sagen wieso es nicht geht, was die Gründe sein 
könnten...?!

- Wie kann man folgendes verstehen bzw. was muss ich genau machen: 
'Überblick über die verschiedenen Arten von Group Delay (in welchen 
Elementen entsteht Group delay, wie wird er beschrieben) z.B. im 
Frequenzgang.'


Also ich weiß das Gruppenlaufzeit im Filter entsteht, richtig oder???

von Tom D. (thomyyy)


Lesenswert?

kann mir denn keiner dazu helfen??? :(

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ja wo denn sonst? Schwankende Gruppenlaufzeit ist eine Folge der 
frequenzabhängigen Bauteile, also C und L, aber nicht R.
Ein Kabel verzögert alle Frequenzen gleich, daher hat es eine konstante 
Gruppenlaufzeit.

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
Noch kein Account? Hier anmelden.