Forum: Digitale Signalverarbeitung / DSP / Machine Learning Berechnung des theoretischen Rauschens eines PWM-Amps


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rolf S. (audiorolf)


Bewertung
0 lesenswert
nicht lesenswert
Ich möchte auf einem digitalen Pin "Ein-Bit-Audio" ausgeben und stehe 
vor der Frage, dies mit einem hochfrequenten Kleinsignal zu tun, dass 
auf einen liearen Verstärker geführt wird, oder einen PWM Verstärker zu 
nehmen.

Die Sache sieht im Fall 1 so aus, dass mir aus einem PLD 20MHz zur 
Verfügung stehen, um eine PWM zu machen. Gfs wäre auch eine PDM möglich, 
muss ich sehen. Danach käme ein zu definierendes Tiefpassfilter und ein 
käuflicher 25 Watt Sinus AMP mit unsymmetrischem Eingang von +/-125 mV 
Empfindlichkeit gegen GND.

Die Alternative wäre eine preiswertere PWM Vollbrücke, die 60 Watt 
Dauerlast kann und die direkt auf einen Lautsprecher arbeitet. Diese 
würde ich vorziehen, habe aber das Problem, dass die nur bis maximal 
1MHz zu betreiben ist, weil da die Verluste auf 25% hochgehen. Es 
handelt sich wohl um die Umschaltverluste der Transistoren. Die Brücke 
ist unter anderem für Leistungsmotoren empfohlen, wobei dort 100kHz als 
ideale Taktfrequenz geraten werden. Am Liebsten wäre mir eine Frequenz 
um 300kHz (Verluste geringer als 10%).

Aber: Ich sorge mich um die Güte des Signals!

Im Fall1 kann ich ja beliebig steil steuern und eine Filtergrenzfrequenz 
von z.B. 5kHz nehmen und bekomme ein sehr gutes Audiosignal, das von der 
Linearstufe auch noch gut verarbeitet wird.

Im Fall 2 gibt es aber nicht soviel headroom zwischen 300kHz und dem 
Audioband, gerade Faktor 10.

Ich tue mich nun schwer, die Verzerrungen / das digitale Rauschen zu 
berechnen, die ein solches PWM Signal hat.

Wie gelange ich zu einem Spektrum, auf das ich das analoge 
Rekonstruktionsfilter loslassen könnte?

Idee? Formel?

von Sascha (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
lsb Fehler ermitteln, Jitter ermitteln dann kommt es noch auf den PWM an 
welche Art von PWM? Linearitätsabweichung anhand einer geraden Steigung, 
Interpolation des PWM Signals.

Der Gameboy Advance hat doch das auch so gemacht oder?
Also für sprache geht so etwas schon, aber für Audio, ich weiß nicht...

von derguteweka (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

Also prinzipiell sollte das schon gehen. Auch mit besserer Qualitaet als 
im Gameboy Advanced. Google mal nach:
9789400713864-c2.pdf
und guck' dir erstmal nur die Bilder an, insbesondere Fig.2.17. Mit 
einem SigmaDelta-Modulator hoeherer Ordnung und einem dazu passenden, 
steilflankigen Tiefpass (in dem Beispiel waeren das ja dann z.B. 80dB / 
Decade=24dB/Octave - klingt also als passives LC Filter noch machbar) 
vor dem Lautsprecher koennte das hinhauen. Ist bloss die Frage, ob du an 
deinem Digitalausgang sowas erzeugen kannst oder ob du da auf 
"Unterschichten"-PWM ;-D festgenagelt bist.
Bei der PWM wird das Stoerspektrum mutmasslich nicht gleichmaessig 
aussehen, sondern mit Peaks bei der PWM-Frequenz und ihren 
ungeradzahligen Vielfachen. Um die rauszufiltern wirst du wohl eher 
einen Cauerartigen oder Tschebyscheff2-artigen Tiefpass mit den genau 
dazu passenden Nullstellen im Frequenzgang brauchen.
Formeln dazu kann ich aber auch keine aus dem Aermel schuetteln...

Gruss
WK

von Rechenknecht (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rolf Sassinger schrieb:
> Ich tue mich nun schwer, die Verzerrungen / das digitale Rauschen zu
> berechnen, die ein solches PWM Signal hat.

Das könnte ich jetzt auch nicht. Sicher muss man sich auf eine Frequenz 
festlegen. Was wäre denn die höchste zu übertragende Oberwelle?

Für diese und einige darunter müsste man das Funktional aufstellen, oder 
die Schaltung durchsimulieren. Dann hätte man das Spektrum. Es macht 
sicher auch noch einen Unterschied, ob die Schaltung schon 
eingeschwungen ist, oder der transiente Verlauf genommen wird, weil in 
die PWM-Thematik auch deren aktueller Zustand eingeht. Solche 
Schaltungen haben ja eine Regelschleife. Ob man das mit linearer 
Regelungstechnik noch machen kann, weiss ich nicht. Ist zu lange her.

Kannst Du es in Matlab simulieren und einen Filter hinhängen und einfach 
den Sinus abziehen?

von derguteweka (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Auf die Schnelle kann man mit GNU Octave solche lustigen Bilder 
rechnen...
samples=[];
for c=0:4096
  samples=[samples ones(1,128+125*sin(c*pi/32)) -ones(1,128-125*sin(c*pi/32))];
end 
firfilter=firls(1280,[0 0.0003 0.003 1],[1 1 0 0],[1 100]);
spectrum1=(abs(fft(conv([1],samples))));
spectrum2=(abs(fft(conv(firfilter,samples))));
clf;
hold on;
plot(20*log10(spectrum2(1:10000)),'g');
plot(20*log10(spectrum1(1:10000)),'r');

Gruss
WK

von Rolf S. (audiorolf)


Bewertung
0 lesenswert
nicht lesenswert
Ok, MATLAB und Gnu Octave wäre eine Lösung. Leider durchschaue ich den 
Code nicht 100%, was er tut und ob da die PWM drin steckt.

Zur PWM: Ich verwende ein PLD, das die PWM direkt bei Änderung ausgibt. 
Spannung +/- 3Vss.

: Bearbeitet durch User
von derguteweka (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Jepp, die PWM steckt da drinnen; in der Zeile innerhalb der 
for-schleife.
Da wird der Vektor "samples" jeweils um 256 samples verlaengert. Jedes 
dieser Samples kann immer nur +1 oder -1 sein. Es geht immer mit einer 
Anzahl 128+N von Einser Samples los, gefolgt von einer Anzahl 128-N 
Samples mit jeweils dem Wert -1.
D.h. der "samples" Vektor stellt eine Rechteckschwingung dar, deren 
Tastverhaeltnis von N abhaengt. N kommt in dem Listing nicht vor, 
sondern ist dann gleich 125*sin(blafasel) - also wird das 
Tastverhaeltnis der Rechteckschwingung in "samples" mit einem Sinus 
moduliert - PWM halt...

Wenn du noch ein bisschen Platz in dem PLD hast, wuerd' ich eher zur 
SigmaDelta-Modulation statt PWM greifen. Ich bin mir nicht 100% sicher, 
aber ich glaub', dass da das Spektrum des Qantisierungsrauschens 
"schoener" als bei PWM aus dem Spektrum des Nutzsignals rausgemogelt 
werden kann.

Gruss
WK

von Jan R. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bei einer Mithilfe von Komparatoren gebauten Analogen PWM-Stufe, wie sie 
als Teil eines analogen Klasse D Verstärker verkaut wird, gibt es keine 
Quantisierung, sondern nur einen Klirrfaktor. Der berechnet sich wie 
üblich aus den Koeffizienten der Fouierreihe. Bei digital gesteuerten 
PWM Modulatoren, errechnet sich das Quantisierungsraischen wie bei allen 
andern Topologien der DAs auch. Kannst du ja mal Googlen.

Ja, bei der Delta Sigma Geschichte, liegt das Nutzsignal und das 
Spektrum des Carriers weiter auseinander. Das hat den Vorteil, dass du 
auch mit weniger Steilen Filtern, ein annehmbares Resultat bekommst.

von Rolf S. (audiorolf)


Bewertung
0 lesenswert
nicht lesenswert
Ich sehe schon, ich werde messen müssen ..

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.