Kennt jemand den Weg / Möglichkeiten eines 50Hz Filter in Software?
:
Verschoben durch Moderator
gilt das auch für Gleichspannungssignale? Also einfache Spannungsmessung am ADC? Die dort abgebildeten Filter sind doch für AC - oder? function highpass(real[0..n] x, real dt, real RC) var real[0..n] y var real α := RC / (RC + dt) y[0] := x[0] for i from 1 to n y[i] := α * y[i-1] + α * (x[i] - x[i-1]) return y
Mini Maus schrieb: > gilt das auch für Gleichspannungssignale? Wenn du nur Gleichspannung hast, was willst du dann wegfiltern? Gut, mit einem Hochpass kannst du auch die Gleichspannung wegfiltern, aber es ist dann einfacher, einfach das Kabel durchzuschneiden ...
Mini Maus schrieb: > Kennt jemand den Weg / Möglichkeiten eines 50Hz Filter in Software? Such mal nach "WinFilter", der erzeugt dir dann auch C-Code. Bei mir hab ich ein Bandpass 4 Ordnung für 380Hz laufen, funktioniert super. Für den Offset nutze ich dies:
1 | struct offset_filter_t |
2 | {
|
3 | long last_f; |
4 | uint32_t last_s; |
5 | int32_t filtered; |
6 | };
|
7 | typedef struct offset_filter_t offset_filter_t; |
8 | |
9 | |
10 | int32_t dc_offset_filter(offset_filter_t *data, uint32_t sample) |
11 | {
|
12 | data->filtered = 0.999 * (data->last_f + (long)sample - (long)data->last_s); |
13 | |
14 | data->last_f = data->filtered; |
15 | data->last_s = sample; |
16 | |
17 | return (int32_t)data->filtered; |
18 | }
|
:
Bearbeitet durch User
"Wenn du nur Gleichspannung hast, was willst du dann wegfiltern? " störende Wechselspannung dazwischen?!... Im Audiobereich habe ich Wechselspannung und will dort Wechselspannungen filtern..ich messe aber Gleichspannung und will die Wechselspannung filtern.könnte ja sein das das einen Untetrschied macht.. Habe Beispiele gesehen, wo ein C in Reihe und ein R Parallel ist..kannte vorher aber nur R in reihe und C Parallel.. Danke für die restlichen Hinweise, ich werde mir auch mal Winfilter ansehen
Beitrag #5836577 wurde von einem Moderator gelöscht.
Mini Maus schrieb: > könnte ja sein das das einen Untetrschied macht.. > Habe Beispiele gesehen, wo ein C in Reihe und ein R Parallel ist..kannte > vorher aber nur R in reihe und C Parallel.. Es macht insofern einen Unterschied, dass diese Beschreibungen auf einen Hochpass (C in Reihe und R parallel) und einen Tiefpass (R in Reihe und C parallel) hindeuten (wenn ich deine Prosa richtig verstehe, einen Link auf deine Infos oder ein Bild wären nützlich gewesen). Beide Lösungen können 50Hz dämpfen, mit einem Hochpass ist die Gleichspannung dann aber auch weg.
Es gibt Hochpass, Tiefpass, Bandpass und Bandsperre. Filtern ist leider immer die zweitbeste Möglichkeit, da die URSACHE oft woanders liegt! Gegen Brummen hilft z.B. auch ausreichende Abschirmung.
Mini Maus schrieb: > gilt das auch für Gleichspannungssignale? > Also einfache Spannungsmessung am ADC? Ein HP wäre da nicht passend. Wichtig zu wissen wäre, welche Signalanteile du nicht herausfiltern möchtest. Wenn die Frequenz für die du dich interessierst unterhalb 50 Hz liegt (sagen wir mal, die Abtastrate des ADC ist ohnehin < 25 Hz), hilft ein Tiefpass mit Grenzfrequenz (deutlich) unterhalb von 50 Hz. Möglichst höherer Ordnung, denn ein Filter 1. Ordnung reduziert den Brumm nur um 6dB pro Oktave. Falls auch Frequenzen oberhalb 50 Hz durchgelassen werden soll hilft ein Notch-Filter bei genau 50 Hz.
:
Bearbeitet durch User
Mini Maus schrieb: > Im Audiobereich habe ich Wechselspannung und will dort Wechselspannungen > filtern. Was hast Du denn überhaupt vor? Nachträglich Brumm aus Aufnahmen entfernen? Audacity -> Effekt -> Notch oder HP -> Filtergüte (Q) wählen -> speichern Oder was ganz anderes? Und wie groß ist der Brumm im Vergleich zum Nutzsignal? BTW: 50 Hz entspricht in etwa dem Kontra-G (E-Seite) auf dem Bass - das fehlt dann nach dem Filtern
@Burkhard K. (buks) "Was hast Du denn überhaupt vor?" "gilt das auch für Gleichspannungssignale? Also einfache Spannungsmessung am ADC?"
Burkhard K. schrieb: > Nachträglich Brumm aus Aufnahmen entfernen? > Audacity -> Effekt -> Notch oder HP -> Filtergüte (Q) wählen -> > speichern Würde ich auch, als Test auf jeden Fall mal empfehlen. Könnte sich nämlich herausstellen, das es sich hier nicht um einen reinen, 50Hz-Sinus handelt, sondern um verformte 100Hz (nach der Gleichrichtung), schlimmstenfalls sogar um Nadelimpulse mit der entsprechenden Grundfrequenz, in diesem Falle mit einer reinen Bandsperre kaum auszufiltern.
Mini Maus schrieb: > gilt das auch für Gleichspannungssignale? > Also einfache Spannungsmessung am ADC? > Die dort abgebildeten Filter sind doch für AC - oder? > function highpass(real[0..n] x, real dt, real RC) > var real[0..n] y > var real α := RC / (RC + dt) > y[0] := x[0] > for i from 1 to n > y[i] := α * y[i-1] + α * (x[i] - x[i-1]) > return y Vielleicht grundlegend nochmal anschauen was überhaupt der Sinn eines Filters ist. Ich weiß nicht ob ich lachen oder weinen soll.
Oder was ein Signal und eine Frequenz, AC und DC überhaupt bedeuten. Du scheinst das grundlegend nicht zu verstehen.
Burkhard K. schrieb: > Was hast Du denn überhaupt vor? Ja, das habe ich mich auch lange gefragt. Wenn man gut ist im Lesen zwischen den Zeilen, könnte man ahnen, dass er eine verbrummte Versorgungsspannung überwachen will. Nix Audio etc. @Mini Maus (Gast): Ist das so? Dann bitte bestätigen! Dann hilft auf der analogen Seite ein schön tief angelegter Tiefpass oder eben ein Tiefpass in Software. Wenn man bei der Spannungsüberwachung einen langsamen Drift aus den Spezifikationen erfassen will, dann reicht vermutlich schon eine einfache oder eine gleitende Mittelwertbildung über eine Reihe von Samples.
"zwischen den Zeilen, könnte man ahnen, dass er eine verbrummte Versorgungsspannung überwachen will. Nix Audio etc. @Mini Maus (Gast): Ist das so? Dann bitte bestätigen!" Ja, logo ist ja irgendwie naheliegend.. Ich schrieb Spannungsmessung, ADC 50Hz Filter..da muss man ja kein Genie sein, zu wissen was ich meine ;-)
Mini Maus schrieb: > Ja, logo ist ja irgendwie naheliegend.. > Ich schrieb > Spannungsmessung, ADC 50Hz Filter..da muss man ja kein Genie sein, zu > wissen was ich meine ;-) So glasklar war dein Anliegen nicht. Ich war ja offensichtlich nicht der Einzige, der länger gebraucht hat um es zu verstehen. Spannungen sind nicht nur bei DC vorhanden. Auch das ist dann sinnlos und wenig hilfreich, um auf eine DC-Messung zu kommen: Mini Maus schrieb: > function highpass(real[0..n] x, real dt, real RC) Und du redest von "Gleichspannungssignale". Oder meinst du doch nur Versorgungsspannungen? Signal wechseln irgendwann, sonst könnten sie nichts signalisieren ... Mini Maus schrieb: > gilt das auch für Gleichspannungssignale? 50Hz stören auch oft in Audiosignalen und bei vielen anderen Anwendungen. Warum hast du überhaupt auf einer DC-Spannung unerwünschte 50Hz? Oder werden die dort benötigt? Wenn nicht, solltest du da schon mal ansetzen, das hilft auch andere Probleme zu vermeiden. Ansonsten: ein Widerstand und ein dickes C vor den ADC-Eingang.
Mini Maus schrieb: > Ich schrieb > Spannungsmessung, ADC 50Hz Filter..da muss man ja kein Genie sein, zu > wissen was ich meine ;-) Ein sehr netter Tonfall um Hilfe zu bekommen :-( Beschreibe endlich eindeutig, wie Dein zu messendes Signal aussieht und aus welcher Quelle es stammt.
Adam P. schrieb: > Bei mir hab ich ein Bandpass 4 Ordnung für 380Hz laufen, funktioniert > super. Na? Wer hat da die Aufgabenstellung nicht gelesen? Mini Maus schrieb: > Kennt jemand den Weg / Möglichkeiten eines 50Hz Filter in Software? 1. Falsche Frequenz 2. Faslche Filterkurve 1+2 = falsche Antwort!
Logikpolizei schrieb: >> Bei mir hab ich ein Bandpass 4 Ordnung für 380Hz laufen, funktioniert >> super. > > Na? Wer hat da die Aufgabenstellung nicht gelesen? Hättest du verstanden, dass meine Filter ebenfalls mit WinFilter erzeugt wurden, dann würdest du erkennen, dass es lediglich ein Erfahrungsbericht war und "Mini Maus" sich ihren eigenen Filter selbst zusammenklicken kann...
Mini Maus schrieb: > Möglichkeiten eines 50Hz Filter in Software? Man könnte durch die Software ermitteln mit welcher Amplitude und Phasenlage das 50 Hz Signal im Nutzsignal vorkommt. (Fourier Analyse) Kennt man diese beiden Werte, dann kann man dieses Signal vom Nutzsignal abziehen. Man kann natürlich auch mit den Oberwellen so verfahren.
GEKU schrieb: > Man könnte durch die Software ermitteln mit welcher Amplitude und > Phasenlage das 50 Hz Signal im Nutzsignal vorkommt. Kommt aber einer Filterung gleich :-)
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.