Forum: Digitale Signalverarbeitung / DSP / Machine Learning Audiocontroller DSP Empfehlung FIR Filter


von Max M. (dsp)


Lesenswert?

Hallo,

ich bin auf der Suche nach einem DSP der sehr leistungsfähig im Bezug 
auf Audio Signalverarbeitung ist.

Dabei sollte er FFT und FIR Filter sehr effizient Rechnen können. Eine 
hohe verarbeitbare Sample Rate von 192kHz aufwärts wäre wünschenswert.

Prinzipiell hätte ich Sharc und Tiger Sharc im Kopf. Wo bestehen 
zwischen den beiden gravierende Unterschiede. Sind diese überhaupt zu 
empfehlen, oder gibts da noch einen deutlichen Sprung nach oben.
Multi Processing ist nicht ausgeschlossen!

Ich freue mich auf eure Ideen.

von Strubi (Gast)


Lesenswert?

Tja, die Frage wurde oefters gestellt, und die Gegenfrage ist meistens: 
Float oder Fixkomma? Dazu gibts hier schon so ein paar Beitraege, die 
Suchfunktion wird Dir helfen.
TigerSharc scheint mir zu sehr 'high end' fuer nur Audio. Sofern Du 
nicht gerade irgendwelche Wavelet-Radars bauen willst, tut's ev. auch 
was schwaecheres und ist auch einfacher anzubinden, denn der TigerSharc 
hat nicht die in der A/D-Converter-Welt ueblichen SPORTs (i2s).
Habe bzgl Audio nur mal mit einem EZKIT BF533 und 96 kHz Mehrkanal 
rumgespielt, gehe mal von aus, dass die Power dann fuer 192 Mono auch 
noch reicht.
Am besten mal die Zyklen ungefaehr abschaetzen, und die MIPS-Angaben 
gleich schon mal um die Haelfte runterskalieren, die sind naemlich meist 
nur sehr theoretisch zu erreichen.

Gruss,

- Strubi

von Michael O. (mischu)


Lesenswert?

Welche Filterlängen möchtest Du berechnen, wieviele Filter und wieviele 
Kanäle sollen es sein?

Ohne Vorüberlegung gibts keine saubere Empfehlung.

Als ich vor 10 Jahren ein Audioprojekt (48kHz) mit dem DSP gebaut habe, 
tats ein ADSP21065L. Mit 192kHz kommt der zurecht, dann aber nur mit 
einem Viertel der Filterlänge. Der ist aber in die Jahre gekommen - gibt 
heute wesentlich bessere.

Die reine Rechenleistung ist nur die halbe Wahrheit - schließlich musst 
du die Daten hinein und wieder heraus bekommen. Schau dir mal den 
ADSP-21369 an. Der ist noch im TQFP zu bekommen, hat SPDIF RX/TX 
Einheiten mit Samplerateconverter, precision frequency generator an 
Board.
Vom 21367/8 kann ich Dir nur abraten. Die haben noch Bugs in der 
DMA-Unit!!!

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wenn du nur filtern möchtest solltest du dir anwendungsspezifische DSPs 
anschauen (z.B. Analog Devices SigmaDSP), statt allgemeiner. Das macht 
die ganze Sache einfacher und billiger.

von Michael O. (mischu)


Lesenswert?

SigmaDSP können meiner Meinung nach nur IIR-Filter rechnen.
Für allgemeine "Mischer" oder "Equalizer" Funktionen gehen die ganz gut.

Alles darüber hinaus ist mit den Sigmas nicht zu machen.

von Max M. (dsp)


Lesenswert?

Sigma DSP kenne ich, die kommen aufgrund zu geringer Rechenleistung 
nicht in Frage. Zudem gibt es zu wenige Freiheitsgrade in der 
Programmierung.

Ich versuche das Ziel konkreter zu beschreiben:
Es soll sehr gut klingen, daher ist natürlich die AD/DA Wandlung auch 
sehr wichtig. Mit 32 Bit Wortbreite sollte eigentlich alles abzudecken 
sein.

Für die AD/DA Konversion und den look ahead limiter sind 5ms eingeplant. 
Die FIR Filter dürfen max. 5-10ms erreichen, sodass die gesamte 
Signallaufzeit im Bereich von 10-15ms liegt.

Dafür muss der Prozessor in jedem Fall das Signal Down- und Upsamplen um 
die Anzahl der Koeffizienten in den Griff zu bekommen.

Frequenzwege sollen es 4 werden. Über FIR Filter sollen nicht nur die 
Filter realisiert werden, sondern auch eine lineare Phase.

Zusätzlich soll das System auch IIR Filter bis zu 8.ter Ordnung können. 
Zahlreiche EQs und Signaldelay bis zu 500ms.

Eine weitere Besonderheit ist ein Eingangssignal, dass Strom und 
Spannung am Endstufenausgang abgreift und eine Division von FFT Strom 
und Spannung druchführt.

Ob Fließ oder Festkomma könnt ihr hier sicher besser abschätzen. Aber 
ich habe einige Male gelesen, dass IIR mit Fließkomma besser zu 
realisieren sein soll.

von Michael O. (mischu)


Lesenswert?

Wozu benötigst Du die Lautsprecherimpedanz?

Fixed / Float - da kann man sich endlos streiten :)
Die Frage ist relativ einfach beantwortet - schau Dir die Auflösungen im 
Detail an.
Mit Float kann man einen sehr großen Dynamikumfang darstellen. Die 
Auflösung der Mantisse ist aber kleiner als bei ganzzahligen Formaten 
(bei gleicher Bitanzahl).
Das führt grundsätzlich dazu, dass die Addition zweier Zahlen mit stark 
unterschiedlichem Exponent das Ergebnis nicht mehr in dem Format der 
größeren Zahl dargestellt werden kann und quasi entfällt.
Bei IIR-Filtern können Rechenfehler (abhängig von der Implementierung) 
aufgrund der Rückkoppelung zu Instabilitäten führen.

Fixed, Float oder ganze Zahlen sind im Prinzip gleichgut oder schlecht. 
Bei Floatingpointzahlen entfällt meistens die Normierung der Werte, um 
einen zahlenmäßigen Überlauf zu verhindern. Allerdings können 32bit 
float (24bit mantisse, 8bit Exponent) eine zu schlechte Auflösung 
bedeuten.
Wenn Du dann auf 64bit umsteigst, gibt es meiner Meinung nach nur wenige 
DSP die 64Bit direkt berechnen können. Dann greift eine 
Softwareemulation die den Prozessor stark ausbremst.
In dem Fall ist eine Implementierung in long int eigentlich fast das 
Beste.

Beim Sharc gibt es einen extended Precision mode für 4bit 
Floatgenauigkeit.

von Mark B. (markbrandis)


Lesenswert?

Michael O. schrieb:
> SigmaDSP können meiner Meinung nach nur IIR-Filter rechnen.

Und natürlich auch FIR.

von Max Max (Gast)


Lesenswert?

Hallo,

Sigma DSP kann FIR Filter rechnen. Allerings muss man die Koeffizienten 
auch selbst erarbeiten. Wenn man schon so einen Aufwand treibt möchte 
man nicht mehr mit einem so beschränkten Sigma DSP arbeiten.

Mischu: Durch Messung der Lautsprecherimpedanz ergeben sich eine Menge 
neuer Möglichkeiten sehr exakt auf den Lautsprecher einzugehen. 
Herkömmliche DSPs betrachten den Lautsprecher vereinfacht immer nur als 
Keinsignallautsprecher und das ist einfach falsch.

Ich habe jetzt schon mehrmals den Sharc empfohlen bekommen. Meine 
Universität arbeitet mit TI oder Sharcs. Beide seien sehr gut für die 
Anwendung geeignet.
Darf ich so direkt fragen ob du schon Erfahrung auf den Sharcs gesammelt 
hast?

von josef (Gast)


Lesenswert?

Mit diesem preisguenstigen Starterkit kann man schon einiges mit Audio 
machen -> 
http://focus.ti.com/docs/toolsw/folders/print/tmdx5505ezdsp.html

von Max Max (Gast)


Lesenswert?

TI Eval Boards und Code Composer Studio ist für mich einfach zugänglich. 
Ebenso Sharc Boards.
Eine gewisse Schwierigkeit wird das Layout des PCBs. Fertige kommen 
aufgrund der schlechten integrierten AD DA Wandler nicht in Frage.

Ich frage ganz gezielt ob hier tiefer greifende Erfahrung mit den Sharcs 
hat?

von Michael O. (mischu)


Lesenswert?

Hallo Max,

habe 2000/2001 mit dem 21065L und dem alten VisualDSP in Assembler 
gearbeitet (darf man als Basteln bezeichnen).

2003/2004 habe ich eine DSP-Karte plus Software mit dem 21161 entwickelt 
und in den folgenden Jahren viel mit VisualDSP++ und sowohl dem HPPCI 
als auch dem USB JTAG Emulator gearbeitet. Insbesondere der Compiler ist 
meiner Meinung nach absolute Spitze.
Die DSP-System stehen bei verschiedenen Kunden und sind Jahrelang im 
Betrieb.
Teuer ist das VisualDSP++ wenn man es anschaffen muss (nur einmalig), 
dafür gilt die Lizenz ein Leben lang.
Als Uni bekommt man dicke Rabatte, auch auf den Emulator.

Die TIs sind auch nicht schlecht - wobei ich die Doku der DSPs bei ADI 
deutlich besser finde als bei TI (persönlicher Geschmack).

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.