Hallo,
ich möchte eine etwas aufwändigere Frequenzweiche für Aktivboxen
gestalten. Dafür suche ich einen DSP welcher möglichst wenig
infrastruktur (selfboot, etc. pp.) benötigt aber dennoch genügend
Rechenleistung hat.
Er muss keine AD / DA wandler an bord haben, da ich dafür extra hardware
verwenden möchte.
Gibt es da etwas ordentliches von Ti ?
Über welche schnittstelle wird dieser dann Programmiert, wo gibts den
Programmer und die Entwicklungsumgebung.
Grüße Johannes
P.S.: Oder Fragen wir andersrum: was ist der größte DSP von Ti welcher
stand-alone arbeiten kann ;-)
Ich würde dafür einen aus der C5000 Serie verwenden.
Programmiert wird der normal über JTAG. Ein Programm kann er alternativ
auch über andere Schnittstellen laden.
Ein einfacher Einstieg ist mit dem folgenden Entwicklungsboard möglich:
http://www.mikrocontroller.net/articles/TMS320VC5505_eZDSP_USB_StickJTAG wird da über einen virtuellen Parallelport über USB gefahren. Die
Entwicklungsumgebung ist dabei, bzw. kann beim Hersteller runtergeladen
werden:
http://support.spectrumdigital.com/boards/usbstk5505/revb/
Ich gehe davon aus, dass es maximal 3 Kanäle pro Lautsprecherbox werden.
Bei ganzen Mischpulten in Software kommt man um einen C6000 nicht rum.
Da geht dann nichts mehr ohne richtigen externen Speicher.
Grüße,
Peter
richtig, es sollte nur ein x-over werden, welcher bis zu 3-6 kanäle
unterstützt. Allerdings wäre es mir der einfachheit halber sehr recht
mit einem floatingpoint prozessor zu arbeiten.
Desweiteren sollte er double precision und am besten Samplingraten von
bis zu 192kHz unterstützen ... (ja ich weiß, jetzt wirds esoterisch :D
).
Spdif in wäre auch ein nice-to-have.
Ich habe mir bislang den AD SigmaDSP ausgesucht, wollte jedoch mal
schauen was die konkurenz so kann ;-).
Das mit dem Jtag ist interessant. Wie sieht es da mit den Treibern aus,
funktioniert das zusammen mit allen entwicklungsumgebungen, auch denen
von AD. Dann könnte man ja auch einen Sharc verwenden (welcher ein
quäntchen internen speicher hat).
Und noch generell: wieviele Taps darf so ein FIR filter lang werden für
einen DSP ?!?
grüße Johannes
Double precision ist vollkommen übertrieben und mit ein wenig Nachdenken
ist ein Festpunktprozessor keine Einschränkung.
In welchem Format man rechnet, sollte man erst nach einer gründlichen
Fehlerabschätzung festlegen und nicht von vornherein sagen, dass man
double braucht. Sonst braucht man nämlich von vornherein einen PC für
die Berechnungen.
Samplingraten von 192 kHz sind keine hohe Anforderung. SPdif ist ja eine
AES/EBU Schnittstelle, dafür gibt es Codecs, die an I²S betrieben
werden, das ist kein Problem.
>Das mit dem Jtag ist interessant. Wie sieht es da mit den Treibern aus,>funktioniert das zusammen mit allen entwicklungsumgebungen, auch denen>von AD. Dann könnte man ja auch einen Sharc verwenden (welcher ein>quäntchen internen speicher hat).
Der C5000 hat doch mehr als genug Speicher für eine Frequenzweiche.
Für den C5000 gibt es nur CCS als Entwicklungsumgebung, mit welchen
sollte das sonst noch funktionieren? AD braucht ganz andere Hardware.
>Und noch generell: wieviele Taps darf so ein FIR filter lang werden für>einen DSP ?!?
Ganz einfach: so viele, dass der Speicher und die Rechenleistung
reicht...
In der Regel ist bei IIR-Filtern zuerst die Rechenleistung am Ende, bei
FIR-Filtern auch manchmal zuerst der Speicher.
Wenn dir der C5000 nicht gefällt, dann schau dir auch den F28335 an, der
hat eine Floatingpoint-Unit.
Grüße,
Peter
Nun gut, double precision klingt einfach (vom wort her gut).
Mit "ein wenig" nachdenken ist es glaube ich noch nicht ganz getan mit
dem Festkommaprozessor. Ständig normieren etc. pp., im vornherein
abschätzen wann additionen, multiplikationen überläufe erzeugen .... :S
da grauts mir leider ein bischen davor, ich matlab verwöhnter fratz ;-).
Und nicht verwundert sein, allerdings hab ich angst um speicher,
leistung. Kann dieser mit 4-6 FIR Filtern mit jeweils mind. 2000 taps
umgehen? Klingt komisch, soll aber was besonderes werden ;-).
Ansonsten schon mal herzlichen danke, ich werde wohl mir mal ein sample
des schnellsten TI C5000 holen und mir überlegen ob ich eine platine
dazu layoute, und mich genauer mit fixed precision signal verarbeitung
auseinander setzen.
mfG Johannes
Mit der IQmath Festpunkt-Bibliothek ist Festpunktarithmetik kein großes
Problem.
Der USB-Prog ist weder ein JTAG Interface, noch für DSPs.
Die hier sind für die Ti DSPs:
http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=103http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=23
Warum sollen das FIR-Filter werden? Jede normale Frequenzweiche
verwendet IIR-Filter, z.B. vom Typ Bessel. Der ist im Durchlassbereich
auch nahezu linearphasig.
Man sollte schon 3-4 Takte pro Tap und Filter rechnen. 6 Filter * 2000
Taps * 4 Takte sind 48000 Takte, die pro Sample gerechnet werden. Bei
192 kHz braucht man demnach rund 9,2 GHz, wenn man nichts
parallelisiert. Ein C6000 kann viele Arithmetikfunktionen
parallelisieren, damit hat man vielleicht eine Chance, ansonsten einfach
IIR-Filter verwenden.
Grüße,
Peter
Sorry, die Antwort kam sehr spät.
Dennoch herzlichen, herzlichen dank für den link. Das baut mich wieder
auf :-).
Der Versuch war keine einfache, gewöhnliche Frequenzweiche, das wäre ja
langweilig ;-) sondern noch der versuch die Impulsantwort der
Lautsprecher zu optimieren.
Das ganze wird nicht einfach werden, gänzlich nicht, zur not kann man ja
immernoch auf nette FIR filter zurückgreifen falls das unternehmen, wie
vllt. von vornherein schon zu erahnen ist den bach herunter geht :-( .
mfG Johannes
P.S.: das ganze soll natürlich mit überteuerten high end ad / da
wandlern (hab da welche mit 123 dB SNR gefunden) und extrem rauscharmen
op-amps realisiert werden. Der Esoterik sind da keine grenzen gesetzt
:D.
Deine supertolle Dynamic Range bringt dir mal gar nichs, wenn du nicht
fähig bist, das ganze im Design&Layout auch umzusetzen. Und nein, in die
Richtung "ich hab doch schon ein paar Atmega Platinen gemacht und schon
etwas über sauberes Layout gelesen, ich krieg das schon hin"
funktioniert nicht.
Zum Thema DSP: Für die Anwendung ist ein FPGA zu empfehlen.
>Der Versuch war keine einfache, gewöhnliche Frequenzweiche, das wäre ja>langweilig ;-) sondern noch der versuch die Impulsantwort der>Lautsprecher zu optimieren.
Du könntest für den Anfang auch einfach einen PC mit Audiointerface
verwenden. Für jeden Kanal einfach einen eigenen Ausgang verwenden. So
kann man recht leicht Versuche machen, ohne, dass man Hardware aufbaut,
die am Ende eventuell ungeeignet, zu schwach oder überdimensioniert ist.
Ich würde als Interface eins von MOTU nehmen, z.B. ein 896HD, das hat 8
Analogausgänge bei 192 kHz Samplingrate. Vorteil: Das hat auch 8
Eingange für die dazu notwendigen Messmikrofone.
Zum Thema Esoterik: Das Motu wird dich daran nicht hindern. Ich hab das
o.g. Gerät hier, da rauscht einfach nichts. Kurzschlussstecker in den
Eingang und mit höchstmöglicher Verstärkung auf den Kopfhörerausgang und
es rauscht nichts. Man hört definitiv nichts. Kann ich also wirklich
empfehlen.
Grüße,
Peter
Hallo Peter,
genau diesen weg gehe ich jetzt auch. Zunächst mithilfe von Matlab
wavfiles "bearbeiten". Diese dann einzeln abspeichern.
Daraufhin mit einem Sample wie Cubase, oder Reaper FM ein multichannel
file erzeugen (gibt sicher auch kleinere tools dazu) und dann die
einzelnen wege auf die lautsprecher aufteilen.
Hallo Stefan L. Auch dein Beitrag scheint sehr produktiv zu sein. Wenn
du meine Layout "Künste" (welche natürlich, zugegebener maßen nicht sehr
vortgeschritten sind) anzweifelst, wie kannst du mir dann zu einem FPGA
raten? Vllt. am besten noch im BGA gehäuse?
Das FPGA's deutlich leistungsfähiger sind, ist mir bekannt, gerade was
die parallelisierung von threads angeht.
Ich bedanke mich jedoch bei Peter sehr und hoffe doch dass das Projekt
bald Früchte Trägt. Jedoch hab ich bislang eins in meiner Theorie
vergessen, Lautsprecher sind stark nichtlinear ... nun gut, nochmal
zurück in die Ideenkammer.
Liebe grüße Johannes