www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Audiosignal - Downsampling


Autor: Supa Micha (supa_micha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe ein Audiosignal mit 8 kHz Bandbreite, sample das mit 32 kHz und 
möchte das dann gerne digital wieder downsamplen auf 8 kHz.

Wie digitale Filter grundlegend funktionieren ist nicht mein Problem, 
aber habt ihr vielleicht Tipps, welche Form sich am besten und 
effizientesten implementieren lässt?

Meine Plattform ist ein 16-bit Mikrokontroller mit 
Hardwaremultiplizierer. Irgendwie Beispiele oder Literatur wären sonst 
auch schön. Oder gibt es evtl. irgendwelche standardisierten Filter von 
der ITU oder ähnlichen Normungsbehörden.

Vielen Dank schonmal,
Michael

Autor: die ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe die Frage wahrscheinlich nicht recht, aber was willst du 
genau wissen? Wenn du weisst wie Filter funktionieren und warum man 
filtert bevor man die Rate veringert (bzw. nachdem man die Rate erhöht), 
dann sollte es kein Problem mehr sein, effiziente Implementierungen der 
Filter für dein Target zu finden. Das wegwerfen von Samples (bzw. Nullen 
hinzufügen) wird dir wahrscheinlich keine Probleme machen   ;-)

Klär' mich bitte auf.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das Signal sowieso nur Frequenzanteile bis 8kHz enthält brauchst Du 
gar nicht mehr filtern sondern verwendest einfach nur jedes 4. Sample - 
fertig. (Und sollte es doch ein paar Anteile über 8kHz geben wird es 
halt ein paar Aliassignale geben die aber vielleicht gar nicht so stören 
- 8 kHz sind ja wahrlich kein HiFi Audio)

Viele Grüße,
 Martin L

Autor: locker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Verhältnisse feststehen (32kHz / 8kHz) würde ich zu einem FIR 
polyphasen Filter mit ausreichender Anzahl an subsamples greifen. 
Zwischen den Subsamples dann linear interpolieren. Als Literatur fällt 
mir der "Proakis", "Digital Signal Processing" ein, dort ist diese 
Filtervariante auch gut beschrieben.
Und Ja, auch beim Upsamplen von 8kHz auf 32kHz muss nach dem Einfügen 
der Nullen selbstverständlich gefiltert werden ==> nennt sich Anti-Image 
Filter.

Autor: Hans Hein (hanshein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael,

fuer alle Audiospielereien verwende ich das Kommandozeilentool sox.
(http://sox.sourceforge.net). Da sollte alles aus Anwendungssicht
drin sein. Fuer downsampling-read-the-source-fans sollte resample.c
einschlaegig sein.

-Hans

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.