Hallo,
möchte in ein DSP ein FIR Tiefpassfilter "einbauen". Dafür Wollte ich
die Koeffizienten bestimmen, indem ich mit der Inversen ZDFT die
Dirac-Impulsantwort eines Recteckfensters Berechene.
Natürlich habe ich jetzt die Sincfunktion herausbekommen, Allerdings,
mit viel zu großen Amplituden, was zu einer Irren Verstärkung führt.
Was ist falsch?
Habe mich dann im Internet mal auf den Weg gemacht um etwas zu finden,
wo diese Koeffizienten berechnet werden.
Habe das hier gefunden,
http://www.fh-kl.de/~hans.neuschwander/download_skripte/digfil/DigFilter.pdf
Hier wurden die Rohkoefizienten ebenfalls mit der Inversen FT berechnet,
und die Lösungsfunktion entspricht bis auf die Multiplikation mit 2*fa
genau der Meinen.
Was habe ich falsch gemacht? Danke schonmal.
Detlef Kunz schrieb:> Wieviel Taps (Stützstellen bzw. Koeffiziente) verwendest Du und was> kommt dabei heraus, wenn Du alle Koeffizienten deines FIR addierst?
Mit Samplerate 1Khz und Fg= 100Hz
ist die Summe aller Koefizienten 1146,56
Das habe ich mit der Formel, die ich hergeleitet habe berechnet, nicht
mit der aus dem Script.
sein.
Desweiteren ist dein Sinus-Argument falsch (si-Funktion ist stets
sin(x)/x, das seh ich bei dir nicht). Vielleicht auch nochmal eine
anderen Quelle anschauen, da die Fenstermethode meiner Meinung nach in
deiner Quelle schlecht erklärt wird.
bei der formel im skrip kürzt sich fg weg. da Im Zähler und im nenner
.keine ahnung warum das da noch steht. Bei mir bleibt aber Fa stehen,
was seltsam ist.
Ist mein Vorgehen der integration Richtig? Ist FA gleich Fa da einmal
großes A einmal kleines. Ist es auch korekt, die grenzen auf +\- Fg zu
legen, da die grenzfrequenz kleiner der Samplerate sein muss. und
integral von 0, 0 ist.
Jan R. schrieb:> Detlef Kunz schrieb:>> Teile alle Koeffizienzen durch 1146,56>> Die Summe aller Koeffizienten muss 1 ergeben.>> Ja das ergibt 1.
Hmm, lol
Natürlich ergibt das 1.
Du hast mich falsch verstanden.
Denn die Summe der Koeffizienten representiert die Verstärkung deines
Tiefpasses, also im Moment G=1146,56 (61.2dB)
Wenn Du eine Verstärkung von 1 erwartest, dann musst Du jeden einzelnen
Koeffizienten durch die Summer aller Koeffizienten Teilen.
Die Summe der neuen Koeffizienten sollte dann 1 ergeben.
:)
Jan R. schrieb:> Aber meine Ursprüngliche Frage, warum bei mir da fa sthenbleibt, ist> noch nicht geklärt. Wo mein Fehler ist.
Das ist natürlich ein bisschen Kaffeesatzleserei, wenn uns die ganzen
Zwischenschritte der Rechnung vorenthalten werden.
Ich kann mich nur wiederholen, such dir ein anderes Skript, die
Erklärung der Fenstermethode deiner Quelle ist meiner Meinung nach
schlecht gemacht.
Dein Ansatz mit der iDTFT von -fg bis fg ist aber korrekt. Wobei dein
Frequenzgang F(f) abhängig von f sein muss, wenn du über f integrierst.
Das mit dem e^N/2-Term erschwert die Sache nur, ich würde das ganze
erstmal für ein nicht-kausales Filter berechnen und dann um N/2
verschieben.
Was laut Glaskugel dein Fehler sein könnte, ist die Normierung auf fA im
e-Term, die gehört da nicht hin, sonst müsstest du Integrationsvariable
und -grenzen anpassen.
Eine eigene Frage?
Dieser Thread ist über 12 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.