@Daniel,
mit starken Abstrichen, was die Quantisierung (Auflösung) anbelangt, ist
soetwas durchaus machbar. Inwieweit die Qualität Deinen Vorstellungen
entspricht sei dahingestellt.
Nun aber generell zum Konzept, d.h. heißt der konkreten Umsetzung, eines
analogen Eingangssignals in ein PWM-Signals:
Im Analogen wird die Eingangsspannung mit einem Dreieckssignal (oder
auch Sägezahn) via Komparator verglichen und das Ausgangssignal an die
PWM-Ausgangsstufe gegeben.
Diese Methode müßte man nun (einfach) digital nachahmen. Dazu benötigt
man einen ADC, um die Eingangsspannung zu digitalisieren, einen
digitalen Inkrementalzähler (in Hard- oder Software), der das
Sägezahnsignal generiert, und einen Komparator. Eigentlich alles was
selbst der kleinste Controller zur Verfügung stellt.
Aber kommen wir mal zu den kleinen, aber notwendigen,
Überschlagsrechnungen:
Wenn Du ADC-Werte mit 48kHz bekommst und Du eine Quantisierung mit 8 Bit
machst, was 256 Stufen sind, so müsste der Hard- oder Software-Zähler
mit 48kHz mal 256 Stufen 'laufen', was immerhin schon 12,288 MHz
wären!!! Mit dieser Geschwindigkeit müsste nun auch der Komparator und
die PWM-Ausgabe laufen. Wenn Du dafür einen entsprechend schnellen µC
findest, gut.
Aus genau diesen Gründen hat sich aber eine rein digitale PWM bei der
Audiosignalverarbeitung nicht durchgesetzt. Eine Audio-CD z.B. nach dem
Redbook-Standard hat eine Sample-Frequenz von 44.1kHz bei 16 Bit
Auflösung. Dies ergibt eine Taktfrequenz des Sägezahnsignals von 44100
Hz mal 65536, was schon krasse ~2,89 GHz wären. Es gibt da schon einige
Ansätze (und sicher auch entspr. Patente) bei denen Quantisierungsfehler
zunächst in Kauf genommen, durch Fehlerkorrekturalgorithmen aber wieder
ausgebügelt werden (sollen), um mit der Taktfrequenz in Regionen zu
kommen, die mit µP oder µC in den Griff zu kriegen sind.
Aus diesem Grund findet die Komparator-Mimik und
Dreieck-/Sägezahngenerierung (bislang) noch rein Analog statt.
Ein weiteres Beispiel sind z.B. die sogenannten 1-Bit-DACs bei
CD-Spielern, die mittels 256-fach Oversampling kontrolliert einen Stream
von Nullen und Einsen ausgeben (müssen). 44,1 kHz mal 256 sind auch
schon 11.2896 MHz, was für einen µC durchaus zu schnell sein könnte,
denn er muss ja zuvor noch die korrekte Bitfolge via digitalem Filter
errechnet haben.
Ergo, mit gewissen Abstrichen, was die Anzahl der Quantisierungstufen
und der Sample-Frequenz betrifft, halte ich Dein Vorhaben für durchaus
machbar. Die 8-Bit Quantisierung reicht durchaus für Sprache, die 48 kHz
Samplingfrequenz halte ich jedoch (zunächst) für viel zu hoch. Mach's
erst mal so langsam wie nötig, schreibe die Algorithmen, optimiere sie,
und schaue dann wie weit Du die Sample-Rate wieder anheben kannst, bevor
sich der µC 'überschlägt'.
Ich wünsche Dir viel Spass.