Forum: Digitale Signalverarbeitung / DSP / Machine Learning PWM Audio Signal


von Chrysler001 (Gast)


Lesenswert?

Hallo Leute,

ich lese mit meinem TMS320C6713 ein analoges Audio Signal über den Mic 
oder LINe Eingang ein und sample ihn mit 44 oder 48KHz. Nun möchte ich 
dieses Signal in eine PWM Wandlen. Diese PWM sollte so rund 700-800KHZ 
also das 16 Fache haben. Ich muss also das Abgetastete Signal 
oversampeln (interpolieren) und dann über einen Komparator schicken um 
meine High und Low (0 und 1) zu erhalten.
Meine Frage liegt nun bei der überabtastung! Wie realisiere / 
programmiere ich die?

Ich lese mein input mit 48KHz ein
1
interrupt void c_int11(void){
2
  union { Uint32 combo; short channel[2]; } AIC23_data;
3
  DSK6713_AIC23_read(hAIC23_handle, &AIC23_data.combo);
4
  input = AIC23_data.channel[RIGHT];
nun würde ich einen zweiten interrupt erstellen welchen ich 16 mal öfter 
aufrufe (oversampling von 16) wo ich meine PWM erstelle.
1
interrupt void c_int14(void){
2
// wie erstelle ich jetzt genau meine normale PWM oder Delta Sigma Modulation oder so. eine Reine PWM mit 16 facher Frequenz. da fehlt mir irgendwie gerade das denken.
3
}

LG

von Mitleser (Gast)


Lesenswert?

Das ist doch gerade die Tage hier schon durchgegangen. Geht die Suche 
bei Dir nicht?

von Andi (Gast)


Lesenswert?

Ich denke du verwendest einfach den falschen DSP. Dieser hat zwar jede 
Menge Audio Interfaces und Floatingpoint, aber keine PWM Hardware.

PWM per Software kannst du vergessen, du bräuchtest einen Interrupt mit 
zig MHz. Auch DeltaModulation geht nur in Hardware genügend schnell um 
eine gute Audioqualität zu erreichen.

Nimm also einen DSP mit eingebauten PWM Generatoren (meist als 
Motorcontroller bezeichnet).

Mit genügend schneller PWM kannst du eigentlich einfach jedes 48kHz 
Sample direkt ins PWM Register schreiben (evt Offset addieren und 
skalieren).

Andi

von J. S. (engineer) Benutzerseite


Lesenswert?

Auch das müsste dann recht schnell gehen, denn mit PWM kriegt man das 
Signal bei Weitem nicht auf die Qualität wie z.B. einer PDM und er hat 
ja eh schon kaum Taktreserve. 800kHz ist viel.

Beitrag #5070400 wurde von einem Moderator gelöscht.
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.