Digitales Audiosignal mit Lautstärkeregler

Gast #2056287
Lesenswert?
• ▲
▼
Hallo,

ich habe da eine Frage. Ich arbeite mich gerade in VHDL und FPGAs ein.
Und da wollte ich nun über einen Sigma Delta DAC digitale Audiodaten 
ausgeben. Die Audiodaten liegen als 16Bit PWM vor.

Meine Frage nun kann ich wenn ich die Lautstärke ändern möchte das 
irgendwie mit den PWM Daten machen? Also die Wertigkeit verändern?? So 
das am Ausgang der Sound leise oder lauter wird? Hardware Technisch über 
einen Amplifier geht nicht.

Danke
Gruß
Gast #2057390
Lesenswert?
• ▲
▼
Macht auch so schon nicht viel Sinn, von Dynamikverlust zu reden, wenn 
man die Lautstärke reduzieren willst.

Wenn man das Umrechnen will, muss man wenigstens über ein PWM-Period 
hinweg integrieren und rechnen.
Gast #2134540
Lesenswert?
• ▲
▼
Moin Moin

ich wollte auch sowas ähnliches machen wie der Peter.
Habe aber das mit dem skalieren nicht ganz verstanden.

Ist das in etwa so:
z.B.: ein 16Bit Signal in 24Bit eingebettet.

Mittel:
AUDIO_LEFT_VOL_24BIT(31 + 6 downto 0 + 6)  <= AUDIO_LEFT_VOL_16BIT;
AUDIO_RIGHT_VOL_24BIT(31 + 6 downto 0 + 6) <= AUDIO_RIGHT_VOL_16BIT;

Leiser:
AUDIO_LEFT_VOL_24BIT(31 + 3 downto 0 + 3)  <= AUDIO_LEFT_VOL_16BIT;
AUDIO_RIGHT_VOL_24BIT(31 + 3 downto 0 + 3) <= AUDIO_RIGHT_VOL_16BIT;

Lauter
AUDIO_LEFT_VOL_24BIT(31 + 9 downto 0 + 9)  <= AUDIO_LEFT_VOL_16BIT;
AUDIO_RIGHT_VOL_24BIT(31 + 9 downto 0 + 9) <= AUDIO_RIGHT_VOL_16BIT;

Gruß
Marco
Gast #2134632
Lesenswert?
• ▲
▼
Du willst mit Faktoren 2 skalieren?
Warum nimmst du nicht den Wert und addierst jeweils die obligaten 0 ... 
3dB?

Du könntest z.B. Faktor 1,125 draufmultiplizieren:

Ergebnis (15downto0) = Input (15downto0) +/-  Input (15downto3)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren