Forum: Digitale Signalverarbeitung / DSP / Machine Learning digitaler Filter für AD Wandler


von Patrick (Gast)


Lesenswert?

Mit einem 8bit-Mikrocontroller lese ich eine Spannung vom 
10bit-AD-Wandler ein. Jetzt möchte ich mit Hilfe eines digitalen Filters 
in Software das Rauschen des AD-Signals minimieren.
Welcher Filter ist da geeignet? Woher bekomme ich die Grenzfrequenz?

von Patrick (Gast)


Lesenswert?

Digitalwert (AD-Wandler) --> Mikrocontroller --> Softwarefilter

Wie könnte man dies realisieren?

von pumpkin (Gast)


Lesenswert?

Es macht keinen Sinn! Antialiasingfilter davor, dann wird rauschen 
ohnehin unterdrückt. Es sei denn dein Antialaisingfilter hat eine so 
hohe Grenzfrequenz (weil sehr schneller AD Wandler) und dein Signal ist 
weit überabgetastet, dann kann man noch ein digitales Filter ansetzen. 
Aber um das zu beantworten fehlen, wie so oft, wichtige Informationen 
deinerseits. Zum Beispiel:

- Wie hoch ist die Abtastrate?
- Wie groß ist deine höchste Signalfrequenz?

pumpkin

von rene (Gast)


Lesenswert?

Nimm einen Exponentialaverage :
http://www.ibrtses.com/embedded/exponential.html
Es ist faktisch dasselbe wie ein RC-Tiefpass.

von Patrick (Gast)


Lesenswert?

>>Wie hoch ist die Abtastrate?

Ich lese im Hauptprogramm in der while(1) Schleife den AD Wert aus.
Wahrscheinlich müsste ich mit dem Oszi mal messen.

>>Wie groß ist deine höchste Signalfrequenz?

Wie könnte ich diese ermitteln?

von Fly (Gast)


Lesenswert?

"das Rauschen des AD-Signals minimieren"

Rauschen bringst du meiner Meinung nach mit Filtern nicht weg, da 
Rauschen halt zufällig ist. Ich würde von mehreren Samples den 
Mittelwert bilden oder das Layout optimieren.

von Hmmm... (Gast)


Lesenswert?

Filtern ist ja auch zufällig und ein Mittelwert ist kein Filter sondern 
eine Abfolge von arithmetischen Operationen.
Das Layout ist sowieso immer schuld.

Frei nach Herrn N**r: Wenn man keine Ahnung hat, einfach mal die Fresse 
halten.

von pumpkin (Gast)


Lesenswert?

> Ich lese im Hauptprogramm in der while(1) Schleife den AD Wert aus.
> Wahrscheinlich müsste ich mit dem Oszi mal messen.

Mach das.

> Wie könnte ich diese ermitteln?

Du wirst doch wissen, wie hoch die maximale von dir gemessene Frequenz 
sein soll?!?


pumpkin

von Björn (Gast)


Lesenswert?

>> Filtern ist ja auch zufällig

das wäre sehr schlecht!

>>  und ein Mittelwert ist kein Filter sondern
>> eine Abfolge von arithmetischen Operationen.
>> Das Layout ist sowieso immer schuld.

Was ist den ein Filter? Keine "Abfolge von arithmetischen 
Operationen"??? Über ein geeignetes Filter kann man sehr schön "mitteln"

>> Frei nach Herrn N**r: Wenn man keine Ahnung hat, einfach mal die Fresse
>> halten.

Merkst Du selbst, oder?

von Gast (Gast)


Lesenswert?

Schau zuerst einmal ins Datenblatt des µC´s bis zu welcher 
Sample-Frequenz der µC "rauscharm" arbeitet. Diese darfst Du auf gar 
keinen Fall überschreiten. Dann mache Dir klar, ob du 10Bit Auflösung 
überhaupt brauchst, wenn NEIN, dann benutze einen der oben genannten 
Filter (mit 10Bit berechnung!) und verwende vom Filterergebnis nur 8Bit. 
Dann solltest Du ein schön sauberes Signal erhalten.

von Fly (Gast)


Lesenswert?

@ Hmmm....

Du hast ja von Tuten und Blasen keine Ahnung, zwar von Blasen vielleicht 
schon...

"Filtern ist ja auch zufällig und ein Mittelwert ist kein Filter sondern
eine Abfolge von arithmetischen Operationen.
Das Layout ist sowieso immer schuld."

1. Filtern ist definitiv nicht zufällig!
2. Weisst du überhaupt was Rauschen ist und wie es zu stande kommt?
   nicht...
3. Rauschen bringt man mit Abstand am einfachsten mittels optimieren des 
Layouts hin.

von Klöte (Gast)


Lesenswert?

Nachdem die Frage nur unzureichend beantwortet wurde und ich das selbe 
Problem hab noch ne Frage von mir:

Möchte mit Controller der 12Bit und 1MSPS ADC macht immer so vieleicht 
aus 100 oder 1000 Werten n Mittelwert bilden um ein gewisses Rauschen 
bzw. eventuelle Spitzen rauszubekommen.
Bei der normalen Mittelwertbildung bekomm ich vieleicht n klareren Wert, 
aber ne Fehlmessung mit enormer Spitze kann sich da schon ganz gut auf 
das Ergebnis auswirken und verfälschen (zumindest bei nur 100Werten).

Was für ne Mittelwertsbildung oder Filter empfehlt ihr mir?
Wär da n PT1-Filter angebracht?

Schöne Grüße

von Detlef _. (detlef_a)


Lesenswert?

Einzelne Fehlmessungen entfernt ein Medianfilter:
http://de.wikipedia.org/wiki/Medianfilter

Cheers
Detlef

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ich nehme an, die Frage bezieht sich auf Dithering
http://de.wikipedia.org/wiki/Dithering_%28Audiotechnik%29
"Anstatt die "überflüssigen" Bits einfach abzuschneiden 
("Truncation"),...sollte Dither hinzugefügt werden..."

von Klöte (Gast)


Lesenswert?

Also Medianfilter klingt schon mal gar nicht so schlecht. Aber da wirds 
Programmtechnisch n bischen schwierig, wenn ich nicht unbedingt n Array 
mit 1000 Werten anlegen will. Oder hat da jemand n code dafür?

Hab ja hier im Forum schon von einigen Filtern gelesen, aber welcher ist 
für so ne Anwendung auch am Besten???

von 2921 (Gast)


Lesenswert?

Nein, ein Medianfilter ist nicht geeignet fuer einen ADC. Ein Median ist 
ein Bildverarbeitungsfilter, um einzelne, isolierte Ausreisser 
wegzumachen. Wenn man vor derm ADC das uebliche Antialiasing RC hat, 
bringt ein Median gar nichts, da keinerlei isolierten Ausreisser 
vorkommen.

von hal (Gast)


Lesenswert?

Gar nicht. Filter sind dazu da, Signalrequenzen in einem oder mehreren 
Frequenzbändern zu unterdrücken. Wenn dich Signal-Rauschen-Abstand 
interessiert, dann musst du die Signalleistung erhöhen, Leitungslänge 
verkürzen, Leitung mit niedrigerem Dämpfungswert wählen.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wenn das Spektrum von Nutz- und Rauschanteil unterschiedlich ist kann 
man das SNR durch ein Filter schon verbessern.

von Michael (Gast)


Lesenswert?

Moving Average Filter ist ausch immer ganz gut und vor allem einfach zu 
implementieren

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.