Guten Abend
eine kleine Frage zum Aufbau: Ein Arbitrary Waveform Generator ist doch
vereinfacht nichts anderes als n-Samples die zyklisch durch einen DAC in
ein Analogsignal gewandelt werden. Dabei filtert ein TP-Filter am
Ausgang alles oberhalb der halben Taktfrequenz heraus.
Wie wird das in den käuflich erhältlichen AWGs, dort kann ja die
Taktfrequenz variiert werden. Passt sich der Antialiasingfilter an oder
werden die Sampledaten auf eine feste Taktfrequenz hochgerechnet?
Von einem AF Filter redet man bei der Abtastung von Eingangssignalen,
also bei einem ADC.
Bei der PWM am Ausgang nennt sich das Rekonstruktionsfilter und ist in
der Regel ein einfacher Tiefpass.
Der wird auch nicht auf die halbe Signalfrequenz berechnet sondern so,
dass bei der PWM-Schaltfrequenz eine gewisse Dämpfung erreicht wird
(gute 40dB strebt man da vermutlich an).
Ergo muss sich der TP nicht anpassen, der ist nämlich von der
PWM-Frequenz abhängig.
Allerdings moduliert das "arbitrary signal" natürlich in die PWM mit
rein, was dazu führt dass gewisse Signale stärker vom TP gedämpft werden
als andere.
Also müssen Signalfrequenz, TP Grenzfrequenz und PWM Frequenz jeweils
ein gutes Stück auseinanderliegen.
@ Sascha (Gast)
>Bei der PWM am Ausgang nennt sich das Rekonstruktionsfilter und ist in>der Regel ein einfacher Tiefpass.
Nö. Gerade im Audiobereich sind dort Filter höherer Ordung Gang und
Gäbe!
>Ergo muss sich der TP nicht anpassen, der ist nämlich von der>PWM-Frequenz abhängig.
Wer redet denn von PWM? Der OP redet von einem Arbitrary Waveform
Generator, dort werden die Samples selten bis nie mit PWM ausgegeben
sondern mit einem echten DAC. Die Frage lautet, ob der Generator IMMER
mit maximaler Samplingrate die Daten ausgibt und demzufolge einen festen
Ausgangsfilter hat oder ob sich die Ausgabefrequenz der Samples anpasst,
wodurch dann auch der Filter angepasst werden muss. Ich tippe auf 1.,
wenn gleich ich es nicht beschwören würde.
Na, meinetwegen Rekonstruktionsfilter. Aber keine PWM, sondern
Wavetable->DAC.
Ich glaube nicht, dass käuflich erhältliche AWGs die Signale über eine
PWM synthetisieren. Bei 100MSamples/s und aufwärts müsste eine 16bit PWM
ziemlich schnell rennen.
Also, wie machen das kommerzielle AWGs? Filterfrequenz variabel? Oder
Filterfrequenz fest und es erfolgt ein Oversampling mit nem digitalen
Zwischenfilter?
> vereinfacht nichts anderes als n-Samples die zyklisch durch einen DAC
Etwas zu stark vereinfacht. Die benutzen den DDS-Algorithmus, damit man
für jede Frequenz den selben Takt und die selben Antialiasfilter
benutzen kann.
Wie kann ich mir das Filter vorstellen? Gibt es ein verständliches
Modell aus der Analogwelt, z.B. ein Tiefpass variabler Frequenz dessen
Ausgangssignal mit der festen Frequenz abgetastet wird?
Ich finde zwar einige Links zu Interpolationsfiltern, aber so gut ist
mein Verständnis von digitaler Signalverarbeitung noch nicht um das zu
verstehen :( Ist das ein digitaler Tiefpass mit fg-Koeffizienten=halbe
Samplefrequenz welcher die Daten aber mit der Samplefrequenz des
Ausgangs bekommt?
Noch einer schrieb:> Etwas zu stark vereinfacht. Die benutzen den DDS-Algorithmus, damit man> für jede Frequenz den selben Takt und die selben Antialiasfilter> benutzen kann.
Den DDS-Algorithmus kann ich doch bei x-beliebigen Wellenformen nicht
nehmen? Oder ist das auch bei x-beliebigen Wellenformen möglich, aber
dann muss die Frequenz des wiedergegebenen Signals um Größenordnungen
kleiner sein als die Samplefrequenz, quasi wie Random-Sampling beim
Oszi?
@ Torben Kuhn (Gast)
>Den DDS-Algorithmus kann ich doch bei x-beliebigen Wellenformen nicht>nehmen?
Doch. Man muss nur die Sinustabelle durch die beliebige Wellenform
ersetzen.
>Oder ist das auch bei x-beliebigen Wellenformen möglich, aber>dann muss die Frequenz des wiedergegebenen Signals um Größenordnungen>kleiner sein als die Samplefrequenz,
Sicher. Das gilt aber immer.
> quasi wie Random-Sampling beim Oszi?
Nicht ganz.
Falk B. schrieb:>>Den DDS-Algorithmus kann ich doch bei x-beliebigen Wellenformen nicht>>nehmen?> Doch. Man muss nur die Sinustabelle durch die beliebige Wellenform> ersetzen.
Hm, ich glaub da stehe ich noch auf dem Schlauch für den Fall, dass der
Akkumulatorinkrement größer als 1 Sample aus der Tabelle ist. Bei einem
Sinus kann ich das noch verstehen, da reichen wenige Stützstellen. Aber
schon bei einem Dreiecksignal benötige ich doch jede Menge Stützstellen
damit das auch ein Dreieck bleibt, d.h. Akkumulatorinkrement < 1 Sample.
Wie ist es bei dem DDS Prinzip mit dem Oversamplingfilter? In den
Datenblättern zu div. DDS-Chips sehe ich keinen Oversamplingfilter vor
dem DAC.
Torben Kuhn schrieb:> Ein Arbitrary Waveform Generator ist doch vereinfacht> nichts anderes als n-Samples die zyklisch durch einen> DAC in ein Analogsignal gewandelt werden.
Doch, es ist etwas anderes.
Du gehst offenbar davon aus, dass eine konstante Anzahl von
n Samples mit variabler Geschwindigkeit ausgegeben wird.
Dem ist aber nicht so. Es wird eine variable Anzahl Samples
mit konstanter Geschwindigkeit ausgegeben.
Je Sampling-Taktintervall geht der Phasenakku also um 3.14
Samples oder um 0.0775 Samples o.ä. weiter. Das läuft praktisch
darauf hinaus, entweder Samples mehrfach auszugeben oder welche
zu überspringen. Und - ja, dabei entstehen nichtharmonische
Störungen (Nebenwellen).
> Dabei filtert ein TP-Filter am Ausgang alles oberhalb der> halben Taktfrequenz heraus.
Richtig.
> Wie wird das in den käuflich erhältlichen AWGs, dort kann> ja die Taktfrequenz variiert werden.
Ist das tatsächlich so? Das wäre mir neu.
> Passt sich der Antialiasingfilter an oder werden die> Sampledaten auf eine feste Taktfrequenz hochgerechnet?
Weder - noch.
Possetitjel schrieb:> Je Sampling-Taktintervall geht der Phasenakku also um> 3.14 Samples oder um 0.0775 Samples o.ä. weiter.
Der Satz ist sprachlich missraten. Neuer Versuch:
"Je nach gewünschter Ausgangsfrequenz geht der Phasenakku
je Taktintervall immer um z.B. 3.14 Samples (das gibt eine
relativ hohe Frequenz) oder um 0.0775 Samples (das gibt eine
relativ niedrige Frequenz) oder um beliebige andere Werte
weiter."
Possetitjel schrieb:> "Je nach gewünschter Ausgangsfrequenz geht der Phasenakku je> Taktintervall immer um z.B. 3.14 Samples (das gibt eine relativ hohe> Frequenz) oder um 0.0775 Samples (das gibt eine relativ niedrige> Frequenz) oder um beliebige andere Werte weiter."
So war das mal vor 20 Jahren. Aktuell wird entweder Resynthese für die
gewünschte Frequenz betrieben, oder komplexe Sampleinterpolation für die
nicht vorhandenen zwischenwerte, um das Aliasing (sic!) dramatisch zu
reduzieren.
Dazu gibt es Tonnen an Material und wenn man das nicht richtig
verstanden hat, kommt doch recht erbärmliches Gekrächtze aus einem
eigenen Gerät.
Wenn ich das nun so alles auf mich wirken lasse, habe ich den Eindruck,
dass es, bezogen auf das Ausgangssignal, keinen großenUnterschied macht
ob die Sampletable mit einem geringeren Takt durch den DAC ausgegeben
wird oder ob per DDS-Prinzip ein und derselbe Wert aus der Sampletable
entsprechend häufiger ausgegeben wird. Vom Rauschen durch durch die
endliche Größe des Akkumulators mal abgesehen.
256 Byte Table (8 Bit) mit f1 wiedergegeben entspricht 256 Byte Table (8
Bit) mit 256*f1 wiedergegeben und einem 16 Bit Akkumulator, dessen
oberste 8 Bit zur Adressierung verwendet werden, richtig?
Torben Kuhn schrieb:> Wenn ich das nun so alles auf mich wirken lasse, habe ich> den Eindruck, dass es, bezogen auf das Ausgangssignal,> keinen großenUnterschied macht ob die Sampletable mit> einem geringeren Takt durch den DAC ausgegeben wird oder> ob per DDS-Prinzip ein und derselbe Wert aus der Sampletable> entsprechend häufiger ausgegeben wird.
Theoretisch und mit Blick auf das Ausgangssignal ist das
richtig.
Man hätte bei einem festen Increment von 1.0 und variablem
Takt sogar noch den Vorteil eines deutlich saubereren
Spektrums, da keine nicht-harmonischen Nebenwellen, sondern
ausschließlich harmonische (Ober-)Wellen erzeugt werden.
Trotzdem bevorzugt man aus praktischen Gründen das
DDS-Prinzip mit konstanten Takt und variablem Increment,
und zwar weil:
1. Man will keinen variablen Takt haben, weil VCOs i.d.R.
aufwändiger als Quarzoszillatoren sind und schlechtere
Eigenschaften haben (Frequenzstabilität, Rauschen).
2. Man will keinen variablen Takt haben, weil man dann
ein nachgeführtes Filter braucht, was sich beschissen
bis gar nicht realisieren lässt.
Possetitjel schrieb:> 2. Man will keinen variablen Takt haben, weil man dann> ein nachgeführtes Filter braucht, was sich beschissen> bis gar nicht realisieren lässt.
Das funktioniert aber wohl nur, wenn ich mit irgendwelchen Maßnahmen
dafür sorge, dass das Signal auch tatsächlich mit einer resultierenden
hohen Frequenz synthetisiert wird. Ohne diese Maßnahmen müsste sich,
wenn ich nun alles richtig verstanden habe, die Taktfrequenz im Spektrum
bei Verringerung des Phaseninkrements in niedriger werden.
Wenn ich eine Sinustabelle ausgebe, und aufgrund des Phaseninkrements
jeden Wert doppelt hintereinander ausgebe ist das ja dasselbe wie wenn
ich die Taktfrequenz halbiere.
Wobei ich in den Datenblättern zum AD9834 und AD9851 (mit denen spiele
ich z.Zt.) nichts hierzu finde