mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Audiocontroller DSP Empfehlung FIR Filter


Autor: Max Max (dsp)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Strubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht 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!!!

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Max Max (dsp)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mark Brandis (markbrandis)
Datum:

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

Und natürlich auch FIR.

Autor: Max Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit diesem preisguenstigen Starterkit kann man schon einiges mit Audio 
machen -> 
http://focus.ti.com/docs/toolsw/folders/print/tmdx...

Autor: Max Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht 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).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.