Equalizer mit HP/TP auf STM32F4?

Gast #4140312
Lesenswert?
• ▲
▼
Hello,

ich bräuchte als Ersatz für einen Analogen Equalizer/Filter (welcher 
ziemlich rauscht und leider wenige Konfigurationsmöglichkeiten 
bietet...) ein neues Board. Diesmal dachte ich an eine digitale 
Umsetzung des Ganzen.

Anforderungen:
- Signal wird via 3,5mm Klinke eingespeist (Mono)
- Signal soll dann:
1. Je nach Stellung von drei Potis (Bässe/Mitten/Höhen) verändert werden
2. über zwei Filter laufen: linker Kanal am Ausgang soll über einen 
Hochpass laufen, der rechte Kanal soll über einen Tiefpass laufen.
- Ausgabe auf einem 3,5mm Klinke stecker oder Cinch

Ich bin derzeit mit dem STM32F4 am basteln, würde sich das dafür eignen?

Was wären Anlaufpunkte? Eine erste Suche ergab einen Equalizer Builder:
https://www.mathworks.com/examples/embedded-coder/4506-parametric-audio-equalizer-for-stm32f4-discovery-board

oder wie könnte man das regeln?

Ausgabe auf einem kleinen Display etc. Hätte ich soweit schon fertig.. 
jetzt fehlt nur noch die Musikverarbeitung.

Danke & Grüße
Gast #4140355
Lesenswert?
• ▲
▼
Required MathWorks™ products:

◾MATLAB
◾Signal Processing Toolbox™
◾DSP System Toolbox™
◾Simulink
◾MATLAB Coder™
◾Simulink Coder™
◾Fixed-Point Designer™
◾Embedded Coder™
◾Embedded Coder Support Package for STMicroelectronics STM32F4-Discovery 
Board
◾DSP System Toolbox Support Package for ARM Cortex-M Processors

Lizenzen ohne Ende - Na viel Spass! :-)
Gast #4140386
Lesenswert?
• ▲
▼
Für deine Aufgabe sind iir filter geeignet. Die filter lassen sich in 
wenigen Zeilen code umsetzen und erfordern nicht viel Rechenzeit. Mit 
octave(open source alternative zu matlab) können die Koeffizienten 
berechnet und der resultierende filter simuliert werden. Ein stm32f4 
bietet ausreichend Rechenleistung um dein  Vorhaben auch mit höheren 
sampelraten umzusetzen.
Hier ein link zur Berechnung der Koeffizienten:
http://de.mathworks.com/help/signal/ug/iir-filter-design.html
Persönliche Seite #4140419
Lesenswert?
• ▲
▼
Tobi schrieb:
> Hier noch ein link zur Umsetzung der filter
das sind aber FIR-Filter. Die sind für 3 Kanäle nicht so zweckmässig, 
weil man keinen nach unten / oben offenen Verlauf generieren kann.

Für den vorliegenden Fall würde ich 2 IIR-Filter empfehlen:

Bässe = LowCut1 (Input) mit Grenzfrequenz 1

Mitten = LowCut2 (Input-Bässe) mit Grenzfrequenz 2

Höhen = (Input - Bässe - Mitten)

Damit erhält man:

Bässe von 0 Hz - von 0Hz bis Grenzfrequenz 1
Höhen von Grenzfrequenz 1 bis unendlich

Damit lässt sich der Originalklang bei Verstärkung 0 exakt 
rekonstruieren.


Der einfachste Filter mit einem musiktauglichen flachem Verlauf 
funktioniert nach der Methode:

Neuer Wert = Input * k  + Alter Wert * (1-k)

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [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.