mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP NCO mit PDM Ausgang


Autor: Burkhard K. (buks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eine Möglichkeit, den Wert des Phasenakkumulators eines NCOs 
unmittelbar für die Erzeugung/Berechnung pulsdichtemodulierter Signale 
herzunehmen - ohne den Weg/Umweg über eine Phasen-Amplitudenwandlung mit 
nachfolgender Delta-Sigma-Modulation?

Die Frage beschäftigt mich, seitdem ich mal für Testzwecke PDM-Signale 
mit vorgegebener Frequenz benötigte. Tante Google weiss dazu anscheinend 
nichts.

Autor: Digitaler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Phasenakku ist doch praktisch eine Gerade. Wie wisst Du da eine PDM 
rausholen? Du kannst höchstens der höchste Bit nehmen und filtern.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PDM kann Pulsdauermodulation oder Pulsdichtemodulation heissen. Ersteres 
ist wohl identisch mit PWM
https://de.wikipedia.org/wiki/Pulsweitenmodulation
da könnte man die Treppenspannung aus dem NCO mit einem Komparator 
benutzen.

Aber die Pulsdichtemodulation ist anscheinend dasselbe wie 
Deltamodulation
https://de.wikipedia.org/wiki/Deltamodulation
"nicht zeitdiskret" also da ist eine konstante Frequenz eines NCO erst 
mal unnötig. Zur Trägerfrequenzerzeugung wäre der NCO anschließend zu 
gebrauchen, wenn man das digitale Signal aus dem Deltamodulator über 
Funk übertragen möchte.

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Burkhard K. schrieb:
>Gibt es eine Möglichkeit, den Wert des Phasenakkumulators eines NCOs
>unmittelbar für die Erzeugung/Berechnung pulsdichtemodulierter Signale
>herzunehmen

Welche Signalform sollen die denn haben? Das muss ja irgendwie in der 
PDM versteckt werden. Wenn es ein Sinus sein soll, müsste man den schon 
berechnen.
Weiter wird die Kombination NCOs + PDM wird ja in der Regel benützt, um 
aus einer geringen Abtastrate des Quellsignals eine Hohe für das 
Reko-Filter zu erzielen, also für einen 10kHz AudioSinus einige MHz 
herzustellen.

Wenn Du die Signalform einfach herleiten kannst, könnte man z.B. 1024 
Takte als PWM je Wert rausgeben. Mit einer kontinuierlichen Verschiebung 
bekommst Du dann z.B. eine Dreiecksfunktion mit der einfachen 
Datenfrequenz. Der Phasenakku ist dann die Vorgabe für das D.C.

Das ist jetzt noch keine PDM, hat aber bei hoher Überabtastung praktisch 
die gleiche Qualität, was Oberwellen angeht. Beim Synthie werden Dreieck 
und Sägezahln ja so hergestellt. Beim Sinus ist das dann was anderes, 
weil der unterschiedliche Steigungen hat.

Wenn es mehr Richtung PDM sein soll, weil die Überabtastung geringer 
ist, braucht es dann eine Strategie zur Kürzung des d.c. 
Teilerverhältnisses, aber wie schon angedeutet, brächte der Gewinn an 
overhead nicht viel, da ganzzahlige Verhältnisse vorliegen.

Ich halte das auch insgesamt nicht für zielführend. Festfrequenzen 
dieser Art laufen meist mit optimierter Tabellenlänge und vorberechneten 
1/0 Werten, weil sich das am Einfachsten hinterlegen lässt. Der gesamte 
Rechenaufwand zur Optimierung der PDM, inklusive Vorverzerrung wird 
damit ausgelagert. Das kann man dann auch zusätzlich noch RLE-codieren. 
Wurde mit den Samples in PCM-Synthesizern der 90er oft so gemacht - 
inklusive optimierter EQ-Kennlinie und Oberstimme.

Autor: Burkhard K. (buks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke soweit für die Antworten. Ich meinte tatsächlich 
Pulsdichtemodulierte Signale - oder Bitstreams. Mein Interesse ist 
zunächst rein theoretisch - das damals benötigte Testsignal hatte ich 
"klassisch" per NCO +2nd. order DSM realisisiert.

Jürgen S. schrieb:
> Festfrequenzen
> dieser Art laufen meist mit optimierter Tabellenlänge und vorberechneten
> 1/0 Werten, weil sich das am Einfachsten hinterlegen lässt. Der gesamte
> Rechenaufwand zur Optimierung der PDM, inklusive Vorverzerrung wird
> damit ausgelagert.

Dazu habe ich folgendes Paper gefunden: 
https://www.researchgate.net/publication/3723205_S...
  "SIGNAL GENERATION USING PERIODIC SINGLE AND MULTI-BIT SIGMA-DELTA
MODULATED STREAMS"

Interessant scheinen mir aber auch Ansätze zu sein, bei denen der DSM 
selbst als Oszillator eingesetzt wird. Dazu habe ich zwei Paper 
gefunden:

https://web.cecs.pdx.edu/~mperkows/CAPSTONES/MONDA...
  "Bit-stream signal processing and  its  application to communication 
systems"

https://www.researchgate.net/publication/229011157...
  "Stability Analysis of Oscillators Based on a Delta–Sigma Topology"

: Bearbeitet durch User
Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das müsste man sich mal näher ansehen und auswerten. Auf den ersten 
Blick ist mir der technische Vorteil noch nicht ersichtlich, da eine PDM 
ja eigentlich sehr einfach zu realisieren ist. Kann natürlich sein, dass 
man den Aufwand für feste Frequenzen reduzieren kann und trotzdem mit 
einfacher HW auskommt.

Allerdings: Das periodische Reproduzieren von "vorgefertigten" Sequenzen 
(Paper 1) ist ja nicht wirklich was Neues. Ich habe den Ansatz dazu hier 
ja auch schon mal gepostet, siehe das grafischer Beispiel unten:

https://www.mikrocontroller.net/articles/Pulsdicht...

Die kann man sehr einfach auf das am Ausgang agierende Filter anpassen. 
Wir hatten in dem Zusammenhang sogar mal einen thread, um solche 
Datenströme zu optimieren, fällt mir gerade ein.

Und man vergibt sich bei vereinfachten Sequenzen die Möglichkeit der 
Regelung, also der Anpassung auf dynamisch belastete Ausgänge. Das ist 
bei Motorregelungen (auch Festfrequenz) nötig und bei vielen anderen 
Anwendungen zumindest empfehlenswert.

Gerade diese "einfachen" Schaltungen, auf die solche akademischen 
Lösungen gerne fokussieren, sind es, die von Temperatur und Alterung, 
sowie von irgendwelchen Exemplarstreuungen oder Verstärkungen von OPs 
abhängig sind und da muss man einen geregelten Ausgang haben, d.h. 
jedeweite kleine Ungenauigkeit bei einer Verstärkungsdimensionierung am 
OP wird damit weggeregelt. Das ist ja gerade der Vorteil der DS-DACs.

Ich sehe da nach wie vor nur 2 Lösungen:

Entweder Du nutzt eine Billiglösung mit schnöder RC-Filterung und 
regelst den allerletzten Ausgang über ein feedback oder Du hast einen 
sehr sauberen DAC, der das in sich geschlossen tut und hängst eine 
geregelte linear OPV-Schaltung dran, wie beim Audio.

Interessant ist im Paper 1, dass die schon in der Präambel die 
Möglichkeit ins Spiel bringen einen DAC zu integrieren, obwohl das paper 
propagiert, man könne mit der Methode bei 1-Bit-Technik einfacher und 
besser sein. Das heisst ja doch im Klartext: DAC ist nach wie vor 
besser.

Die einfachste Form eines hochgenauen und trotzdem einfachen DACs ist im 
Übrigen nach wie vor ein überdimensionierter R2R-DAC, den man kalibiert 
hat und über eine Tabelle fährt. Das übertrifft sogar die DS-DACs. Wenn 
Ich also schon mehr Intelligenz ins System stecken will, um an der HW zu 
sparen, dann würde Ich das so machen.

Aber wie angedeutet: Weniger Invest in HW bedeutet automtisch entweder 
weniger Robustheit im Feld oder mehr Kalibrierungsaufwand.

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.