Forum: Digitale Signalverarbeitung / DSP / Machine Learning Audiosignal - Downsampling


von Supa M. (supa_micha)


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

von die ??? (Gast)


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.

von Martin (Gast)


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

von locker (Gast)


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.

von Hans H. (hanshein)


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

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.