Forum: Digitale Signalverarbeitung / DSP / Machine Learning FIR, HP


von Gerhard (Gast)


Lesenswert?

Hi,

ich versuche gerade einen FIR HP zu implementieren, scheitere aber an 
der DC-Verstärkung. Wenn ich DC anlege, kommt auch ein DC-Wert heraus, 
was natürlich so nicht sein sollte.

Die DC-Verstärkung beim Tiefpass ist die Summe der Coeffizienten, und 
die korrekte Skalierung ist einfach. Beim HP ist es wohl auch so, aber 
die Summe der Coeffizienten sollte 0 sein, was aber schwer zu 
realisieren ist, soweit ich bisher gesehen habe.

Was nun?

Oder habe ich irgendwo was übersehen?

Würde man die Coeffizienten links und rechts der Mitte subtrahieren 
hätte man Null, aber das wird in der beispielimplementierung die ich 
habe nicht gemacht.

Irgendwelche Ideen?

Sprache ist C# oder VB, es geht um Messwertnachbearbeitung, Echtzeit ist 
kein Thema.

DANKE

Gerhard

von Alex (Gast)


Lesenswert?

Deine Infos sind leider noch zu gering ...

Filterordnung?
Entwurfsverfahren?

Prinzipiell wird die Summe der Koeffizienten für einen Hochpass (nur 
gerade Ordnung möglich!) für sehr hohe Filterordnung gegen Null gehen. 
Wenn du einen Filter der Ordnung 10 ... 1000 nimmst muss das jedoch 
nicht so sein.

Beschreibe mal dein Messsignal (Frequenzanteile usw.) und vielleicht 
kann ich dir helfen.

von Janosh (Gast)


Lesenswert?

Sprungantwort? Impulsantwprt? hast du es erst in Matlab oder Scilab 
simuliert.

von Karsten (Gast)


Lesenswert?

>die Summe der Coeffizienten sollte 0 sein, was aber schwer zu
>realisieren ist, soweit ich bisher gesehen habe.

nein, ist es nicht:
y(i)=x(i)-x(i-1) ist ein 1A Hochpass mit DC-Anteil 0. Wenn du die 
Koeffizienten links und rechts der Mitte subtrahierst, hast du 1-(-1)=2, 
also nicht Null. Bei so viel falschen Behauptungen ist es unmöglich, 
irgendwelche Hilfen zu geben ausser: fang von vorne an!

von Detlef _. (detlef_a)


Lesenswert?

Karsten, bleib cool, Du machst den Fehler: man muß addieren, Du 
subtrahierst.

Wenn man in nen FIR viele Einsen reinschiebt, kommt am Ausgang für nen 
Filter n-ter Ordnung ab dem (n+1)ten Abtastwert als Ergebnis Summe(bn) 
mit den bn als den Koeffizienten des Filters raus. Sollte diese Summe 
zufällig oder absichtlich 0 sein wie im Beispiel, dann ist das nen 1A 
Hochpaß, wie Karsten richtig sagt, der läßt DC nicht durch. Sollte als 
Summe(bn) beispielsweise 1/100 rauskommen, dann macht das Filter bei DC 
nen Dämpfung von 40dB.

So siehts aus
Ja
Cheers
Detlef

von Karsten (Gast)


Lesenswert?

Detlef, warum schreibst du:
>Karsten, bleib cool, Du machst den Fehler: man muß addieren, Du
>subtrahierst.

wenn Gerhard behauptet:
>Würde man die Coeffizienten links und rechts der Mitte subtrahieren
>hätte man Null

Wenn ich irgendwelche Koeffizienten addiere, ist das zunächst einmal 
eine Summe und kein Fehler. Und ich habe gezeigt, das Gerhards 
Behauptung, bei einem HP müßte die Differenz der Koeffizienten "links 
und rechts" Null sein, nicht zutrifft. Mehr nicht. Überhaupt ist sein 
ganzer Beitrag irgendwie sinnfrei, so dass es nichts bringt, sich weiter 
damit zu beschäftigen.

von Daniel W. (Gast)


Lesenswert?

Karsten, du bist anstrengend. Wir erwarten von den Usern nicht, dass sie 
selbst denken geschweige denn sich ausdrücken können. Wir haben einfach 
Langeweile und freuen uns über die sinnlosesten Fragen. Diese kann man 
nämlich am Besten nach eigenem Gutdünken interpretieren und keiner muss 
zeigen dass er eigentlich auch gar keine Ahnung hat. Von daher hast du 
dich schon sehr gut dem Niveau hier angepasst. Du muss aber noch daran 
feilen, dass deine Antworten den Anschein haben, dass sie einen 
irgendwie verwertbaren Inhalt haben. Versteh mich nicht falsch, keiner 
postet hier wirkliche Information, aber der Fragesteller sollte erstmal 
den Eindruck bekommen, als ob es so wäre, damit er für einige Zeit 
ruhiggestellt ist, während er ob des grenzenlosen Wissens, welches aus 
der Antwort hervorstrotzt, ins Grübeln gerät.

Daniel

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.