Hi, Ich habe eine Analog-Digital-Wandlung mit einem Delta-Sigma-Modulator 2. Ordnung und einem SINC Filter 3. Ordnung aufgebaut. Funktioniert wunderbar. Mir ist nur nicht so ganz klar warum der Sinc3 Filter eine Ordnung höher sein muss als der Modulator. Weiß von euch jemand warum das so ist? mfg Michael
Hallo, ich verwende einen delta sigma wandler ad7401. der digitale tiefpassfilter wurde auch gleich in vhdl im datenblatt mitgeliefert. jedoch designed für xilinx fpga's. nun verwende ich aber ein altera fpga cyclone 2 und ich bekomme den filter nicht 100%ig zumlaufen mal wird das signal richtig zurückgewonnen und manchmal nicht, ohne das ich etwas am code geändert habe... gibt es dazu erfarhugsberichte bzw kann mir da jemand weiterhelfen? THX
Hallo, habe auch einen Sigma-Delta-Modulator 2. Ordnung, allerdings weiß ich nicht, wie ich in Octave den Tiefpass 3.Ordnung dazu realieiseren kann. Hat jemand ne Idee? Danke
Hallo, ich interessiere mich auch dafür, warum der sinc-Filter ein Ordnung höher sein muss als die Ordnung des SD-Modulators. @Michael Konnest du deine Frage klären? Danke!
Hallo! Ich hab mit die Verilog-Quelle im Datenblatt mal angesehen. Darin wird für die Stufen nach der Decimation ein Ripple-Clock verwendet. Quartus wird da vermutlich auch drüber meckern und Du bekommts möglicherweise Probleme im Timing-Analysator. Ich hab den Code nicht ausprobiert, aber Quartus hat bisher fast immer gejammert, wenn ich in meinen Designs etwas ähnliches mache. Anstatt die hinteren Stufen mit dem dezimierten WordClock laufen zu lassen würde ich ein WordClockEn bauen, der beim Wraparound des Decimation-Counters einen Takt lang aktiv ist. In den folgenden always-Blöcken würde ich nach dem asynchronen Reset ein if (WordClockEn) einbauen. Das ganze Design würde dann mit nur noch einem Takt laufen. 73, Mario
Hallo, das Sinc Filter muss nicht eine Ordnung höher sein als der Modulator. Es ist genauso möglich eine andere Ordnung zu wählen oder sogar ein völlig anderes Tiefpassfilter (z.B. IIR statt FIR). Das Sinc3 Filter liefert aber bei einem Modulator zweiter Ordnung sehr gute Ergebnisse bei vergleichbar geringem Hardware-Aufwand (FPGA-Slices etc.). Das gilt für Downsampling-Raten ab etwa 16. Die Auflösung eines Delta-Sigma-Modulators wird aus seinem Signal-Rausch-Abstand (SNR) unter Annahme eines idealen Tiefpassfilters berechnet. Mit idealen Tiefpassfiltern ist das aber so eine Sache in der Praxis. Das Sinc3 Filter ist bei einem Modulator zweiter Ordnung jedoch ein guter Kompromiss zwischen erreichter Auflösung (berechnet aus SNR) und Hardware-Aufwand. Gruß wp
Hallo zusammen, ich bin ebenfalls im Datenblatt des AD7401 über die Aussage gestolpert, dass ein sinc3 gut zu einem Sigma-Delta-Modulator zweiter Ordnung passen würde. Warum nur... Ein paar Gedanken dazu, bitte um Kommentar. @Moderator: Eigentlich gehört das ins DSP-Forum. Verschieben? Lesenswert als Hintergrund: [1] http://www.embedded.com/design/configurable-systems/4006446/Understanding-cascaded-integrator-comb-filters [2] http://repository.upenn.edu/cgi/viewcontent.cgi?article=1144&context=ese_papers Die Sache mit dem Modulator Wie man als Praktiker weiss (Statistiker bitte weghören oder präzisieren), halbiert sich das Rauschen, wenn man vier verrauschte Messwerte mittelt. Auf einen ADC-Ausgang bezogen bekommt man für jede Halbierung der Abtastrate durch Mittelung ein halbes Bit mehr Auflösung. Wenn man also einen 1-Bit-ADC hätte und 44 kHz mit 16 Bit haben wollte, müsste der 44 kHz*2^(16/0.5) = 189 GHz Abtastrate haben. Nicht praktikabel. Daher spielt man mit dem Rauschspektrum. Typischerweise hat man einen 1-Bit-Wandler, der mit 16 MHz getaktet ist und man möchte ein Signal bis 1 kHz sehen. Man braucht also nur einen winzigen Teil des ursprünglichen Spektrums. Man kann jetzt das Rauschen aus dem Frequenzspektrum von 0... ein paar kHz herausschieben und in den oberen uninteressanten Bereich verlagern. Dort filtert man es heraus und fertig ist die Rauschunterdrückung! Genau das machen Sigma-Delta-Modulatoren. Siehe [2], Bild 12. Wie man sieht, wird das Rauschen von den tiefen in hohe Frequenzen geschoben, je höher die Ordnung des Modulators ist, umso stärker. Präziser ausgedrückt erreicht man bei tiefen Frequenzen durch einen Modulator L-ter Ordnung L+0.5 Bit mehr Auflösung pro Dezimierung um Faktor 2. Für einen Modulator 2. Ordnung (wie im AD7401) also 2.5 Bit pro Faktor 2. Damit würde für CD-Qualität 44 kHz*2^(16/2.5) = 3.7 Mhz reichen, was vernünftiger klingt. Voraussetzung ist natürlich ein Filter, das die oberen Frequenzbänder (wohin das Rauschen geschippt wurde) auch entfernen kann. Sinc3 Sinc3 klingt etwa so kompliziert wie Galliumnitrid-Kaskode oder Unobtainium-Tunnelkontakt. Tatsächlich sind sinc-Filter aber nur gleitende Mittelwertfilter. In der üblichen hardwareoptimierten Inkarnation ist die Länge des Mittelwerts gleich dem Dezimierungsverhältnis, ein 1:16-dezimierendes Filter mittelt also über 16 Werte. Gleitende Mittelwertfilter sind so ziemlich die schlechtesten Filter, die man sich ausdenken kann. Tatsächlich macht es Mühe, ein Filter zu entwickeln, das noch schlechter performt. Verwirrend ist übrigens auch noch die Bezeichnung sinc - sie kommt daher, dass die Amplitude im Frequenzbereich einem sin(x)/x ähnelt (was man sinc nennt). Nicht verwechseln darf man das mit das mit der Impulsantwort (=Kernel) eines idealen Tiefpass. Bei einem idealen Tiefpass (also "Brickwall"-Frequenzantwort) ist die Impulsantwort ein sinc (man kann auch Tiefpass-FIR-Filter so entwerfen - sinc+Fenster - aber Parks-McClellan ist besser). Im Gegensatz hat der gleitende Mittelwert eine "Brickwall"-Impulsantwort und eine sinc-Frequenzantwort. Grad andersherum, nicht verwechseln! Zur Illustration habe ich das einen Sigma-Delta-Modulator 2. Ordnung mit verschiedenen Filtern simuliert. Siehe Bild. Man sieht das Frequenzspektrum des Modulators mit einem Eingangssignal von 1 kHz (klebt links an der Y-Achse) und einer Modulatorfrequenz von 16 kHz. Man sieht schön, wie das Rauschen im unteren Frequenzbereich unter -100 dB geht und oberhalb stark ansteigt. An der orangefarbenen Kurve sieht man, warum der gleitende Mittelwert so schlecht ist: Mit steigender Frequenz ist kaum eine Absenkung der Amplitude vorhanden und abgesehen von regelmässigen Senken (die von der gleichmässigen Verteilung der Filternullstellen auf dem Einheitskreis in der Z-Ebene kommen, siehe auch "Kammfilter") kommt das Signal immer wieder hoch. Warum nimmt man also trotzdem dieses Filter? Weil es mit sensationell geringem Aufwand zu implementieren ist. Man braucht für eine Filterordnung nur ein Register für den Integrator und eins für den Differenzierer - das wars. Ein FIR-Filter mit besserer Qualität bräuchte ein Koeffizienten-ROM und einen Multiplizierer - um Grössenordnungen aufwendiger. Ein IIR-Filter hätte Probleme mit Auflösung und Stabilität. Wie verbessert man ein erbärmliches Filter? Man wendet es mehrfach an. Das nennt man dann sincx - ein sinc3 sind einfach drei Mittelwertfilter hintereinandergeschaltet. Auch das geht unglaublich effizient mit der bekannten CIC-Filterstruktur. In der Grafik sieht man das Ergebnis. Während ein einzelnes sinc-Filter bei höheren Frequenzen keine Absenkung bringt, ist sinc2 etwas besser und sinc3 noch mehr. Tatsächlich dominiert im sinc3-Spektrum der Bereich um 100-300 kHz - die höherfrequenten "Rauschhügel" haben allesamt eine viel niedrigere Amplitude und fallen nicht mehr ins Gewicht. Hier sieht man auch, warum ein sinc4 nicht viel mehr bringen würde: Im unteren Frequenzbereich bringen die sinc-Filter nur wenig Dämpfung (dort wurde aber ja auch das Rauschen vom Modulator weggeschoben) und obenraus ist drei mal sinc gut genug. In der Grafik sieht man übrigens das gesamte Frequenzspektrum vor der Dezimierung. Durch die Dezimierung um den Faktor 32 bleibt ein Spektrum von 0 - 250 kHz übrig und die oberen Frequenzanteile werden einfach nach unten hineingespiegelt (und dazuaddiert). Man braucht also eine gute HF-Unterdrückung (sozusagen), damit das aufsummierte Rauschen der oberen Bänder nicht die SNR im Basisband verringert. Und nochmal zur Wiederholung: Das Rauschspektrum des Modulators (blaue Kurve) hängt von der Ordnung ab. Ein SD-Modulator 1., 3. oder höherer Ordnung würde ein anderes Spektrum erzeugen, wofür dann vielleicht andere Filter optimal passen würden. Die Aussage im Datenblatt des AD7401 stammt wohl von einem Praktiker, der das alles schon ein paar mal durchexerziert hat. Wieviel Knowhow doch in einem so kurzen Satz stecken kann. Kommentare, Korrekturen, Verbesserungen? Gruss Martin PS: Natürlich aus lesenswert das DSP-Buch von Richard G. Lyons
Martin schrieb im Beitrag #4493619 Danke für diese ausführliche Erklärung Martin. Das hat mir gerade sehr dabei geholfen das Datenblatt eines Delta-Sigma-ADC zu verstehen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.