Forum: Digitale Signalverarbeitung / DSP / Machine Learning Audio DSP Programmierung


von Tobias Kieser (Gast)


Lesenswert?

Hallo,

ich schätze mal diese Frage habt ihr schon tausend mal gehört. Trotzdem
wollte ich nachfragen, was euerer Meinung nach die beste Lösung für den
Einstieg in die DSP programmierung ist. Ich hätte mir da z.B. die DSP`s
von Analog genauer angeschaut. Vorallem die SigmaDSP Serie wäre für mich
interessant, da sie mit der Software SigmaStudio graphisch programmiert
werden könnte. Da ich aber noch Schüler bin kann ich mir die Software
nicht leisten. Gibt es also eine mögliche alternativen die eine
graphische programmierung zulassen oder würdet ihr mir davon
vollständig abraten? Mir geht es derzeit vorrangig um die Software.
Hardware währe das kleinere Problem.
Ich hoffe ihr könnt mir weiterhelfen und bedanke mich schon mal im
Vorraus für die Antworten.

MfG

Tobias Kieser

von Golimar (Gast)


Lesenswert?

Naja, wie es halt immer so ist. Bei der grafischen Programmierung geht
immer so bisschen der Hintergrund verloren. Gerade der ist durchaus
wichtig, um vernünftig programmieren zu können.

Ich habe DSPs (von TI) bisher immer in C programmiert, und komme damit
eigentlich gut zurecht. Der erzeugte Code erreicht ca. 80% der
Geschwindigkeit, die man erreichen würde, wenn man das Problem direkt
in Assembler umsetzt.

Zusammengefasst: ich persönlich halte von den grafischen
"Programmiersprachen" nichts. Wenn man mal was schnell ausprobieren
möchte, ist es allerdings schon nützlich.

Übrigens solltest du dich fragen, was du genau im Bereich Audio machen
möchtest. Einfache Filteraufgaben etv. können schon µC mit
DSP-Funktionalität (z. B. dsPIC) übernehmen. Für diese gibt es
kostenlose Compiler und Entwicklungsumgebungen. Auch die Anforderungen
an die Hardware sind sehr gering: µC, Quarz, Codec und ein paar
Kondensatoren. Als erster Einstieg vielleicht eine echte Alternative...

von Thomas (Gast)


Lesenswert?

Also ich sehe kein Problem bei grafischen Programmiersprachen, kann mir
auch nicht vorstellen, dass die wesentlich langsamer als C sein sollen.
Für die Filterroutinen werden diese letzendlich genauso auf
handoptimierten Assemblercode zurückgreifen wie der Linker bei C auch,
wenn du denn Herstellerlibs verwendest. Was hat denn der Codegenerator
bei grafischen DSP Sprachen schon groß zu tun? Man benutzt vertige
Blöcke und leitet den Signalfluß entspechend um, und dann müssen noch
die Filterkoeffizenten erzeugt werden, aber das machst du ja für C auch
mit Matlab.
Ich habe in meiner Diplomarbeit mit dem "Embedded Target for Motorola
MPC555" für Matlab/Simulink gearbeitet und bin wirklich begeistert
davon. In weniger als 4h(!) habe ich damit eine adaptive
Drehzahlregelung aufgebaut, mit der Sprungantworten in der
Führungsgröße immer gleich aussehen, egal wie ich den Motor belaste.
Mach sowas mal von Hand in C, da sitzt du aber mindestens ne Woche
dran.

von Matthias Ratei (Gast)


Lesenswert?

>Man benutzt vertige Blöcke und leitet den Signalfluß entspechend um,
>und dann müssen noch die Filterkoeffizenten erzeugt werden, aber das
>machst du ja für C auch mit Matlab.

Solange es um C geht, ja! Aber was ist mit VHDL ? Wie bringst Du die 
zusätzliche Dimension Fläche<->Latenz ins Spiel?

Bei C++ Objekten ist es egal wie er es baut, da am Ende sowieso alles 
per Sequenziellem Prozessor gerechnet wird.

Aber wie löst du die Systempartitionierung ?

Die Grafik ist niemals der einzige Input, aus dem der Output generiert 
werden kann. Vielmehr ist die Grafik bereits Ergebnis solcher 
Überlegungen. wie könnte man diese vorgeben, soßaß ein MATLAB Tool das 
optimieren kann?

von MaWin (Gast)


Lesenswert?


von Frank K. (fchk)


Lesenswert?

Wir früher haben uns vor 20 Jahren ein DSP56002 EVM für 100 DM gekauft 
und unsere Algorithmen in Assembler auf das Board gebracht. Ging auch 
ohne Maus.

Was willst Du? Nur irgendwelche Effekte zusammenschubsen oder wirklich 
wissen, wie es geht? In ersten Fall kannst Du irgendwelche Audiosoftware 
verwenden. Im zweiten Fall führt am selber programmieren mit C und/oder 
Assembler kein Weg vorbei.

Und der DSP56k ist mit 24 Bit Wortbreite und 56 Bit Akkumulatoren immer 
noch eine schöne Plattform für Audio. 16 Bit interne Wortbreite ist für 
Audio etwas knapp.

fchk

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.