Ich hoffe ich bin hier mit meiner Frage richtig. Im Moment experimentiere ich mit einem TEENSY 3.2 und einem Analogboard. Leider habe ich noch fast keinerlei Erfahrung mit Digitaler Signalverarbeitung und wollte daher mit diesem Board mir etwas erarbeiten, da mir ein richtiger DSP einfach eine Nummer zu groß ist. Es gibt zu diesem Board das AUDIO SYSTEM DESIGN TOOL, mit dem man graphisch sein Signalpfad erstellen kann. Im Anhang habe ich gezeigt mit was ich mich da gerade so beschäftige. I2s2 ist der analoge Line Stereoeingang, welcher abgetastet wird und der rechte Kanal direkt auf dem i2s1 durch den DAC an den Kopfhörerausgang gelangt. Der linke Kanal wird mit einem Sinussignal (440Hz) gemischt und dem zweiten Kanal des DAC zugeführt. Alles wunderbar. Der Programmcode besteht aus einem generierten Programmteil durch das DESIGN TOOL und der Einstellung einiger Parameter, hier nur der Amplitude und der Frequenz des Sinus. Ein Hauptprogramm gibt es eigentlich nicht. Außer einem Delay passiert dort nichts. Dies bedeutet doch nun, dass das Sampeln des Audiosignals, die Sinuserzeugung und die Rückwandlung in das Analogsignal, parallel völlig losgelöst von meinem Hauptprogramm erfolgt. Wenn ich aber wie im unteren Bild gezeigt nach dem Mischer z.B. eine Signalbearbeitung einbauen will (hier einfach jetzt eine Verstärkung um 2) wie geht so etwas? Das Ganze läuft ja irgendwie durch den Abtasttakt getriggert ab, ich müsste also irgendwie ein Interrupt bekommen und dann auf die Daten nach dem Mischer zugreifen können um sie dann nach der Bearbeitung wieder in den „Datenstrom“ einschleusen können? Ist das jetzt alles kompliziert ums Eck gedacht oder kann man das so irgendwie machen. Wie gesagt, ich will das zunächst in kleinen Schritten verstehen und hoffe die Frage ist jetzt nicht ganz konfus. Besten Dank
nun, wenn man es richtig schön umständlich und kompliziert machen möchte, kann man das so machen. Michael schrieb: > AUDIO SYSTEM DESIGN TOOL das wohl wenig Einsatz im professionellen Umfeld finden dürfte, denn dort werden leistungsfähige DSPs eingesetzt, wenn es um das schnelle Prototyping geht. Geht es aber um effizientes Arbeiten mit kleinen Prozessoren, kommt der code direkt aus MATLAB und nicht aus extra vorgefertigten LIBs. Und wenn, dann sind es die optimierten LIBs der Hersteller wie z.B. VisualDSP+ / ADSP.
Michael schrieb: > und einem Analogboard Was kann das Analogboard - hat das einen ADC? Hast Du ein Datenblatt dazu? Andersherum gefragt, wie oft (Samplerate) wird der ADC abgefragt bzw. der DAC angesteuert?
Hi Michael, so du des Englischen mächtig bist solltest du die Frage ins Teensy-Forum bei PJRC stellen. Dort antworten dir womöglich auch die Entwickler. LG, Sebastian
Michael schrieb: > 2) wie geht so etwas? Das Ganze läuft ja irgendwie durch den Abtasttakt > getriggert ab, ich müsste also irgendwie ein Interrupt bekommen und > dann... Ich vermute mal, daß du mit allem, was du bislang angestellt hast, bereits in einer ISR gesteckt hast. Aber mal ne ernsthsfte Frage: Was willst du da eigentlich lernen bzw. üben? Den Umgang mit besagtem DSP-Tool? Oder wie man ein maschinell erzeugtes Programm in einen Teensy hineinkriegt? Oder wie man die digitale Signalverarbeitung als solche tatsächlich macht? W.S.
W.S. schrieb: > Michael schrieb: > > Aber mal ne ernsthsfte Frage: Was willst du da eigentlich lernen bzw. > üben? Den Umgang mit besagtem DSP-Tool? Oder wie man ein maschinell > erzeugtes Programm in einen Teensy hineinkriegt? Oder wie man die > digitale Signalverarbeitung als solche tatsächlich macht? > W.S. Zunächst besten Dank, dass ihr es mit meiner verqueren Frage versucht. Nun das Analogboard ist einfach nur ein SGTL5000 Codec. Was will ich lernen: Einfach ein bisschen mehr als nur zu wissen, dass ein Analogsignal (Audio) abgetastet wird und dann mathematisch bearbeitet wird bevor es wieder durch den DAC als Analogsignal ausgegeben wird. Mir fehlt der Mathematische Background aber wenn ich die Funktion eines Tiefpasses erster Ordnung realisiert bekomme wäre das schon mal nicht schlecht. Klingt jetzt vielleicht verrückt aber mit Excel habe ich schon einige Sachen durchgespielt. Ist aber halt sehr umständlich. Ein Audiosignal einspeisen und im Kopfhörer prüfen.
Es wird, habe mich ins PJRC Forum gestürzt, denke da finde ich die Antworten auf meine Frage. Besten Dank
Michael schrieb: > Mir fehlt der Mathematische Background Dann lies zuerst die DSP-Guide. Ist kostenlos, bloß herunterladen und lesen und verstehen. Dafür brauchst du keine Hardware. http://www.dspguide.com/editions.htm W.S.
Michael schrieb: > Mir fehlt der Mathematische Background aber wenn ich > die Funktion eines Tiefpasses erster Ordnung realisiert bekomme wäre das > schon mal nicht schlecht. Du kannst das Signal per I2S einlesen, dann durch Deinen Filter jagen und per I2S wieder an den Codec übergeben. Filter lassen sich z.B. als FIR realisieren. Dazu bietet die Teensy Audio Library (Arduino IDE mit Teensyduino Plugin) eine ganze Menge an Funktionen und Beispielen: /opt/arduino-1.8.13/hardware/teensy/avr/libraries/Audio/. Um das zu nutzen, müsstest Du dich wohl von Deinem Audio Design Tool verabschieden - es sei denn, es benutzt genau diese Bibliothek und Du könntest den generierten Code einfach erweitern. Ein bißchen zum Thema einlesen solltest Du Dich schon (das Buch von Stephen Smith / dspguide ist sehr gut verständlich). Um Beispiele und Filter durchzurechnen, lohnt es sich GNU Octave oder SciLab zu installieren.
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.