Forum: Mikrocontroller und Digitale Elektronik Arbitrary Waveform Generator Antialiasingfilter?


von Torben Kuhn (Gast)


Lesenswert?

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 Sascha (Gast)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@ 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.

von Torben Kuhn (Gast)


Lesenswert?

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?

von Falk B. (falk)


Lesenswert?

Oversampling

von Noch einer (Gast)


Lesenswert?

> 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.

von Torben Kuhn (Gast)


Lesenswert?

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?

von Torben Kuhn (Gast)


Lesenswert?

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?

von Falk B. (falk)


Lesenswert?

@ 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.

von Torben Kuhn (Gast)


Lesenswert?

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.

von Possetitjel (Gast)


Lesenswert?

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.

von Possetitjel (Gast)


Lesenswert?

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."

von Hannäs (Gast)


Lesenswert?

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.

von Torben Kuhn (Gast)


Lesenswert?

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?

von Torben Kuhn (Gast)


Lesenswert?

PS: Und einem 256er Inkrement

von Possetitjel (Gast)


Lesenswert?

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.

von Torben Kuhn (Gast)


Lesenswert?

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

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.