mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP PWM und PDM Signale einfach und genau auswerten


Autor: Markus F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Sensor gibt es Kontrollsignal ab, das im Bereich von 1 bis 100 kHz 
schwingt. Laut Datenblatt ist es PDM-Signal, das einfach gefiltert 
werden muss, um es auszuwerten.

Ich habe ein R-C-Glied genommen, komme aber bei weiterer Überlegung zu 
dem Schluss, das das zu ungenau sein dürfte, weil ein "normales" 
Sigma-Delta-Signal über einen Integrator laufen müsste.

Wie könnte man das Signal, das aus dem R-C-Glied kommt, einfach 
korrigieren, um zu einer richtigen information zu kommen? - also ohne
einen Integrator aufzubauen? Das wäre nämlich etwas redesign.

Autor: Analog OPA (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Was denn nun, PDM oder PWM? Bei PWM könnte man das leichter 
reinterpretieren, meine ich. Normalerweies braucht man eine Stromquelle, 
die auf den C arbeitet. Nachher entzerren ist vielleicht durch eine 
Diodenkenntlinie möglich. Keine Ahnung.

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Marius F. schrieb:
> das einfach gefiltert werden muss
Kann es sein, dass da digital gefilter werden soll?

Autor: Le_Bassiste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marius F. schrieb:

>
> Ich habe ein R-C-Glied genommen, komme aber bei weiterer Überlegung zu
> dem Schluss, das das zu ungenau sein dürfte, weil ein "normales"
> Sigma-Delta-Signal über einen Integrator laufen müsste.
>
> Wie könnte man das Signal, das aus dem R-C-Glied kommt, einfach
> korrigieren, um zu einer richtigen information zu kommen? - also ohne
> einen Integrator aufzubauen? Das wäre nämlich etwas redesign.

ein integrator kann keinen mittelwert bilden, sondern nur integrieren, 
also daten aufsummieren. er würde also in deiner anwendung immer "in den 
anschlag" laufen.

ein "normales" tiefpass-filter in einer solchen anwendung ist bereits 
extrem genau, denn es bildet exakt den mittelwert in verwendung mit 
rein passiven, unveränderlichen komponenten. wenn du also nicht 
digital filtern willst, ist ein analoger tiefpass die richtige wahl, sei 
er nun aktiv oder passiv.

der befürchtete fehler in der mittelwertbildung rührt woanders her: dein 
digitales PWM-signal ist zwar sehr genau hinsichtlich der pulsbreite, 
aber u.u. relativ ungenau in der amplitude. und das ist der springende 
punkt: ein digitaler tiefpass ist unempfindlich gegen 
spannungsamplituden (er sieht ja nur 1 oder 0), ein analoger tiefpass 
generiert jedoch den mittelwert aus Uavg = t/T * Udig. 
(t/T=pulsbrteitenverhältnis)

fazit: du musst das digitale signal zunächst einmal amplitudenstabil 
bekommen, bevor du es in den tiefpass speist. das kannst du dadurch 
machen, dass du mit dem digitalen signal einen analogmultiplexer 
ansteuerst, der bei log "1" eine bekannte referenzspannung(!) und bei 
log "0" enstprechend 0V auf den tiefpass schaltet.

Autor: An Fi (chefdesigner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Le_Bassiste schrieb:
> ein integrator kann keinen mittelwert bilden, sondern nur integrieren,
> also daten aufsummieren. er würde also in deiner anwendung immer "in den
> anschlag" laufen.

Wieso das denn? Wenn das PDM-Signal aus einer Differenziation kommt, ist 
ein Integrator doch genau das Richtige. Oder nicht?

Autor: Markus F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Le_Bassiste schrieb:
> fazit: du musst das digitale signal zunächst einmal amplitudenstabil
> bekommen, bevor du es in den tiefpass speist. das kannst du dadurch
> machen, dass du mit dem digitalen signal einen analogmultiplexer
> ansteuerst, der bei log "1" eine bekannte referenzspannung(!) und bei
> log "0" enstprechend 0V auf den tiefpass schaltet.

Kapiere ich nicht. Warum sollte das Signal nicht amplitudenstabil sein? 
Digital ist Digital! Oder nicht?

Autor: Stefan K. (stefan64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marius F. schrieb:
> Kapiere ich nicht. Warum sollte das Signal nicht amplitudenstabil sein?
> Digital ist Digital! Oder nicht?

Die Amplitude ist von Deiner digitalen VCC abhängig. Und die ist 
meistens deutlich ungenauer als eine analoge Referenzspannung. Zudem 
kann die VCC lastabhängig sein (Leds an VCC, ...).

Gruß, Stefan

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube, das skizzierte Problem liegt weniger in der analogen 
Präzision des Integrators, wobei die Ausführungen von Stefan vollkommen 
richtig sind, sondern in dem Verständnis des PDM-Signals. In der Tat 
muss hier ein richtiger Integrator dran und nicht nur ein einfaches 
RC-Filter, weil dies zum Sättigen neigt und damit das Signal verfälscht, 
es sei denn, das Signal sei ausdrücklich dafür ausgelegt: In einem 
anderen Bereich des Forums wurde das schon mal diskutiert und 
ausgeführt, wie man das handhaben kann. Stichwort: Vorverzerrung. Siehe 
auch den Artikel zur Pulsdichtemodulation

Theoretisch kann man das mit Signalverarbeitung sicher ineinander 
überführen, aber  das dürfte kaum zweckmäßig sein. Ein Integrator ist 
nicht so schwierg zu realisieren. Es muss aber ein leicht 
verlustbehafteter sein, der eine Bandbegrenzung nach unten realiziert, 
weil das Ergebnis ansonsten infolge von kummulierenden Fehlern weglaufen 
wird. Zudem ist der Ausgangswert ja nicht bekannt und muss sich erst 
"hinziehen".

Autor: Hi-Tech-Progger S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte man das etwas detaillierter Beschreiben?

Ich habe ein ähnliches Thema mit auch einer analogen Auswerteschaltung, 
die jetzt möglichst digital werden soll:
Beitrag "Decimator-Schaltung für Puls-Datenstrom"

Ich habe mir auch das hier angesehen, werde aber so recht nicht schlau 
daraus:
Beitrag "Auswertung eines PDM Signals um die Lautstärke zu messen"
Beitrag "Interpretation und Auswertung eines PDM-signals per Filter"

Wie baue Ich digital diesen Integrator auf? Ein einfacher 
Vorwärts-Rückwärtszähler läuft weg (habe Ich mit den Daten probiert).

Und es gibt noch das Problem der Messung der Perioden mit ausreichender 
Genauigkeit.

Autor: Wolfgang (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Reinhard S. schrieb:
> Wie baue Ich digital diesen Integrator auf? Ein einfacher
> Vorwärts-Rückwärtszähler läuft weg (habe Ich mit den Daten probiert).

So ist das mit Integratoren. Wenn der Mittelwert des Eingangssignals von 
Null verschieden ist, wächst die Summe immer weiter.

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Es gibt ja einen Grund für diesen impliziten offset in dem Quellsignal. 
Oft sind das Verluste. Der Integrator, der das nachbildet, muss also 
auch Verluste haben, z.B. als IIR oder es muss ein FIR-Filter sind.

Autor: An Fi (chefdesigner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard S. schrieb:
> Wie baue Ich digital diesen Integrator auf? Ein einfacher
> Vorwärts-Rückwärtszähler läuft weg (habe Ich mit den Daten probiert).

Das ist das eingehende Signal kein differenziertes, dass durch einen 
Integratior muss. Probiere es mit einem proportionalen Filter ohne 
I-Anteil.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.