Forum: Mikrocontroller und Digitale Elektronik PDM in PWM umwandeln


von Bla (Gast)


Lesenswert?

Mal kurz eine Frage.

Angenommen ich hätte einen PDM-Stream der synchron zu einer 1 MHz clock 
ist.
Im Idle sollte der PDM stream ziemlich genau 1010101010... ausgeben, 
welches einem Switching dann von eben auch 1 MHz führt.

Wenn ich aber das gleiche Signal auf eine niedrigere Frequenz 
runterbrechen muss, z.B. auf 1/8, wäre es möglich, mithilfe digitaler 
Logic, den PDM bitstream in z.B. 8 Teile einzuteilen und den in diese 
eine PWM zu überführen.
Man zählt also die 1en in einem gewissen Zeitfenster mit und überführt 
es in eine Kette aufeinanderfolgender 1en.
Sind da im Signal Qualitätseinbußen / Distortion zu erwarten?


z.B.

PDM: 11010001 -> PWM: 11110000
PDM: 00010000 -> PWM: 10000000
PDM: 11111010 -> PWM: 11111100

von Elektolurch (Gast)


Lesenswert?

Die PDM hat 8x höhere Frequenzen als deine PWM. Der Abstand zum 
Nutzsignal ist ca. 8x höher, lässt sich besser filtern.
Verzerrungen entstehen, wenn die PWM-Frequenz zu nahe an die höchste 
Signalfrequenz kommt -> Nyquist ist nur der theoretische Grenzwert.
In der Praxis eher Faktor 10 bis 100!
Aber die Frage ist ja, warum willst du PDM in PWM verwandeln?
Was für einen Vorteil soll es bringen?

von Falk B. (falk)


Lesenswert?

Bla schrieb:
> Mal kurz eine Frage.
>
> Angenommen ich hätte einen PDM-Stream der synchron zu einer 1 MHz clock
> ist.

Soso, clock. Früher (tm) war das im deutschen Sprachraum ein Takt.

> Im Idle sollte der PDM stream ziemlich genau 1010101010... ausgeben,

Das hat mit Idle nix zu tun. Das sind halt 50% Tastverhältnis bzw. 
Pulsdichte.

> welches einem Switching dann von eben auch 1 MHz führt.

Welches zum Hochrollen der Fußnägel führt! Mann O Mann, was für eine 
grauenhafte Grammatik!

> Wenn ich aber das gleiche Signal auf eine niedrigere Frequenz
> runterbrechen muss, z.B. auf 1/8, wäre es möglich, mithilfe digitaler
> Logic,

Die man im deutschen Sprachraum mit k schreibt.

> den PDM bitstream in z.B. 8 Teile einzuteilen und den in diese
> eine PWM zu überführen.
> Man zählt also die 1en in einem gewissen Zeitfenster mit und überführt
> es in eine Kette aufeinanderfolgender 1en.

Kann man machen.

> Sind da im Signal Qualitätseinbußen / Distortion zu erwarten?

Warum willst du ein PDM-Signal in ein PWM-Signal überführen? Aus Sicht 
der Filterung ist PDM deutlich besser, weil deutlich höherfrequenter, 
wurde bereits geschrieben. Der einzige Nachteil ist die deutlich höhere 
Frequenz der Pegelwechsel. Für eine Signalübertragung ist das 
unbedeutend. Für eine Leistungsendstufe kann das zuviel sein (zu große 
Schaltverluste).

Qualitätseinbußen gibt es so direkt erstmal nicht, die Information 
bleibt erhalten.

von Bla (Gast)


Lesenswert?

Danke für eure Information!

Ich möchte mir einen alten Druckkammerlautsprecher in ein Megaphon 
umbauen:

Meine Idee war es daher, ein PDM Mikrofon zu nehmen, welches 
normalerweise mit 3.072 MHz geclocked wird und hat dann einen synchronen 
PDM stream da raus.

Um den Class-D Amp aufzubauen möchte ich einfach einen Gate-Treiber + 
Mosfets nehmen. Allerdings können die alle nicht so schnell schalten. Da 
ist bei 1 MHz spätestens schluss.

Daher die Idee mit einem kleinen billigen 2€ FPGA den PDM Stream in eine 
PWM zu überführen und die Frequenz dann auf 3.072 / 8 = 384 kHz zu 
überführen.

Ich werde es mal probieren.

von Falk B. (falk)


Lesenswert?

Bla schrieb:
> Danke für eure Information!
>
> Ich möchte mir einen alten Druckkammerlautsprecher in ein Megaphon
> umbauen:
>
> Meine Idee war es daher, ein PDM Mikrofon zu nehmen, welches
> normalerweise mit 3.072 MHz geclocked wird

geclocked, soso.

https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjY9_j4ub3qAhVI_aQKHdRDCzoQFjAAegQIBBAC&url=https%3A%2F%2Fwww.stupidedia.org%2Fstupi%2FDenglisch&usg=AOvVaw1-R_xmD9Ofgh8CyLN78hnI

> Um den Class-D Amp aufzubauen möchte ich einfach einen Gate-Treiber +
> Mosfets nehmen. Allerdings können die alle nicht so schnell schalten. Da
> ist bei 1 MHz spätestens schluss.

Aha!

> Daher die Idee mit einem kleinen billigen 2€ FPGA den PDM Stream in eine
> PWM zu überführen und die Frequenz dann auf 3.072 / 8 = 384 kHz zu
> überführen.

Sollte machbar sein, zumal die Qualitätsanforderungen sicher nicht bei 
24 Bit HiFi liegen. Das sollte ein Standardproblem sein, das man mit 
einer Standardlösung lösen kann. Im Prinzip ist es ja ein decimation 
filter zur Verminderung der Abtastrate.

Google decimation filter for sigma-delta adc

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.