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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.