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
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! :-)
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
Hier noch ein link zur Umsetzung der filter in c. http://www.fh-schmalkalden.de/schmalkaldenmedia/Realisierung_Digitaler_Filter_in_C-p-419.pdf Auf Seite 14 befindet sich eine Realisierung eines iir filters in c.
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)
Die ersten seiten beschäftigen sich mit fir filtern. Die Seiten 14 und 15 beschäftigen sich mit iir filtern
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.