Spektrum PWM-Sinus

Feb 04, 2005 22 Replies

Hallo Martin,

viel Erfolg! Bei mir spielt die Zeit keine Rolle, es ist eine Untersuchung so nebenbei.

Nein, die beiden eingangs aufgeführten Fourierreihen sind keineswegs gleich, deren Spektren auch nicht. Die Zeitfunktionen sind doch anders definiert, warum sollten die gleich sein? Das rekonstruierte Signal am Ausgang ist wieder gleich, weil das das Ziel der PWM war. Die symmetrische Fourierreihe hat ja nur cos-Koeffizienten und die Hälfte der Linien im Spektrum.

Die analoge unsymmetrische Variante (2. Fourierreihe) ist identisch mit dem Fall, daß bei Deiner uC-Lösung die fallende Flanke des Dreieck senkrecht abfällt, also Sägezahn. In beiden Fällen tritt kein Jitter auf, das Signal wird nicht verzerrt und läßt sich ideal rekonstruieren. Das mit dem Jitter ist hier schwer zu erklären, weil es von der üblichen Definition bei einem AD-Wandler abweicht. Die Abtastung ist hier weder periodisch noch äquidistant, das macht es so schwierig. Deshalb benutze ich als Kriterium das Spektrum der FFT, bei der der Sinus unverfälscht zu sehen sein muß. Das ist in 3 Fällen auch so, also fehlerfreie Funktion.

Ja genau, das was in Bild 9 zu sehen ist. In Bild 7 ist das die grüne Funktion, die verzerrt das Signal, die rote nicht.

Das kommt wie bei allen digitalen Systemen hinzu, das Quantisierungsrauschen, eine quasi zufällige Funktion, pro Bit Auflösung 6 dB S/N. Wenn Du einen 8-Bit AD-Wandler hast, kommst Du dann schon in den Bereich der Jitter-Störungen. Dieses Rauschen wird bei der PWM IMHO auch so zu betrachten sein, das Sinus-Signal muß ja auch von einem AD-Wandler kommen. Auch das Abtasttheorem gilt hier in verschärfter Form.

Das mit dem Klirrfaktor in Abhängigkeit der Frequenz muß ich mal simulieren.

sich

Das geht auch in C, es wird aber z.B. komplex gerechnet, kann man natürlich ersetzen. Von Fortan nach C umsetzen ist auch nicht so schwer, in der FFT werden nur komplexe Additionen und Multiplikationen gemacht. Die Frage ist, ob Du das selbst programmieren willst. Oder ich könnte auch ein kleines FFT-Programm schreiben, das nur Listen einliest und ausgibt, die Grafik würde dann in GNU-Plot darstellbar sein.

Ich muß unterbrechen, am Montag erst kann ich das weiter fortsetzen.

mfg. Winfried

ich habe mir den Klirrfaktor in Abhängigkeit der Signalfrequenz nochmal angesehen. Der Zusammenhang scheint leider quadratisch zu sein, d.h. bei doppelter Signalfrquenz oder halber Pulsfrequenz ist die von mir betrachtete 1. Oberwelle des Signals 4mal so groß. Das tritt nur bei der uC-Variante mit symmetrischem Dreieck auf, bei den 3 anderen Varianten ist keine Verzerrung zu sehen.

Aber wie gesagt, ich bin nicht sicher, ob mein Modell stimmt, muß sowieso noch einige kleine Bugs beseitigen, da das Programm sozusagen ein schneller Hack ist. Ich hab einfach ein anderes Programm zur Untersuchung von Quantisierungs- und Bitfehlern von AD-Wandlern umgebogen. Natürlich weiß ich nicht mehr genau, was ich damals eigentlich genau gemacht habe, deshalb ist es auch nicht so ganz leicht ;-).

Ich überlege grade,ob ich ein kleines FFT-Programm schreibe, das in der DOS-Konsole aufgerufen wird und ASCII-Tabellen für die FFT aufruft und das Spektrum wieder als Tabelle abspeichert. Das wäre eine einfache, aber effektive Methode, die Länge der FFT hinge nur von Speicher ab. Die Felder könnte man dynamisch allozieren mit Hilfe von C, da Fortran 77 IMHO nur statischen Speicher verwaltet, das sollte kein Problem sein. Bei mir war eine 2**22 FFT möglich und die Grenze war noch nicht erreicht, das ist schon 'ne sehr hohe Auflösung. Kann aber etwas dauern, da ich auch nicht so viel Zeit habe, vielleicht 'ne Woche oder so.

mfg. Winfried

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required