Forum: Digitale Signalverarbeitung / DSP / Machine Learning Chips oder Asics für FFT-Berechnung


von Luis Costa (Gast)


Lesenswert?

Hat jemand der geneigten Experten hier Kenntnis über die Existenz von 
Chips / Asix, die in der Lage sind, FFTs zu berechnen? Ich habe da eine 
etwas grössere Applikation im design und will nicht massenhat FPGAs 
verschwenden. Für die DDSen z.B. habe ich schon chips gefunden.

Dies ist eine so oft benötigte Funktion, die zudem auch meistens noch 
direkt nach den Wandlern / den Eingangssignalen eines Moduls benötitg 
wird, dass man sie noch sehr gut handlen könnte, auch wenn sie in einem 
externe Chip sässe - bzw wäre das für bestimmte Anwendungen sogar 
besser.

Weiss da jemand etwas?

Wie machen das z.B. Firmen wie Rohde & Scharz in ihren Analyzern? Sind 
das alles FPGAs?

: Verschoben durch Admin
von Sven P. (Gast)


Lesenswert?

Luis Costa schrieb:
> Wie machen das z.B. Firmen wie Rohde & Scharz in ihren Analyzern? Sind
> das alles FPGAs?
Und wenns keine sind, haben R&S sicherlich genug Knete, um eigene ASIC 
anfertigen zu lassen...

Was spricht denn gegen ein FPGA, sofern es schnell genug ist?

von Mine Fields (Gast)


Lesenswert?

Man kann auch einfach einen Mikrocontroller, DSP oder sogar einen PC 
nehmen - je nach Anforderung.

von Ralph B. (rberres)


Lesenswert?

Luis Costa schrieb:
> Wie machen das z.B. Firmen wie Rohde & Scharz in ihren Analyzern? Sind
>
> das alles FPGAs?

Sind alles kundenspezifische Bausteine entweder aus eigener Entwicklung 
und Fertigung, oder eines Bausteinherstellers.

Nur bei den Lowcost Modellen könnte es sein, das ein Microcontroller die 
Aufgabe mit übernimmt.

Ralph Berres

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

http://category.alldatasheet.com/index.jsp?sSearchword=FFT
einzige Fundstelle ein Chip von Plessey/Zarlink/Mitel
PDSP16510A / PDSP16515A Stand Alone FFT Processor
Datenblatt von 1996/1993

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wird es nicht geben; es ist nun mal zu einfach, um die ALUs, den 
Speicher und die Bit-Reverse-Adressierung noch eine Programmlogik 
herumzubasteln und das ganze dann DSP zu nennen. "Dumme" Koprozessoren 
die nur eine einzige Sache beherrschen sind ja nicht ohne Grund 
praktisch ausgestorben.

von Georg A. (georga)


Lesenswert?

Intersil hatte auch sowas "diskret", ist aber wegen der 
Leistungsfähigkeit von FPGAs und DSPs schon lange obsolet.

von branadic (Gast)


Lesenswert?

In DSOs befinden sich dafür in aller Regel DSPs von der Stange. 
Mikrocontroller sind mir hier bisher noch nicht begegnet. Es wäre aber 
durchaus denkbar, dass sich das mit Bausteinen auf Basis des Cortex M4 
zukünftig ändern könnte (bspw. STM32F3 oder STM32F4).
Wenn du deine FFT also auslagern möchtest, dann wären diese sicherlich 
eine gute Wahl.

von Luis Costa (Gast)


Lesenswert?

Auslagern möchte ich es nur dann, wenn es billig(er als FPGA) ist. Für 
eine 8 Kanal FFT mit jeweils 8192 Punkten bei 8 fach Überlappung, setze 
ich mir (m)einen Virtex schon zu 60% zu! Ich finde die anteiligen Kosten 
von fast 300 Euro einfach zuviel.

Mit einer ASIC Massenwaren müsste das doch locker zu unterbieten sein.

Für eine FFT-pipeline braucht man ja nur einen Eingangsport und einen 
Pufferegister. In meinem Fall einfach 8192x8. Die 16k sollten nicht viel 
kosten. Ansonsten ist FFt ja nur ADD/MUL und Akkumulation.

>DSPs
scheiden natürlich aus, weil ich es schnell brauche. Praktisch kommen 
wenigstens 200MHz samples. Ein DSP könnte maximal 1 Kanal mit einer 
Überlappung rechnen.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Fixed oder Floating Point? Welche Genauigkeit?

von branadic (Gast)


Lesenswert?

Da wir alle Krösus heißen und uns die Sonne aus dem A*** scheint können 
wir selbstverständlich auch hellsehen. Daher war auch jedem hier deine 
Anforderung klar:

> 8 Kanal FFT mit jeweils 8192 Punkten bei 8 fach Überlappung
> 200MHz samples

Bevor das blinde raten weiter geht solltest du vielleicht deine 
Anforderungen klar definieren, ansonsten kommen im Verlauf solcher 
Diskussionen immer neue Überraschungen und gewissen Lösungen würden 
wegen deines Anforderungsprofils gar nicht erst genannt werden.

von Ralph B. (rberres)


Lesenswert?

Luis Costa schrieb:
> 8 Kanal FFT mit jeweils 8192 Punkten bei 8 fach Überlappung

Luis Costa schrieb:
> wenigstens 200MHz samples

Frage mal bei Rohde&Schwarz an, ob die dir das Asic aus dem neuen  RTO 
anbieten.
Der könnte sowas eventuell packen ( oder doch nicht?? ).

Ralph Berres

von A. (Gast)


Lesenswert?

Die verkaufen nichts , im Gegenteil, die kaufen ein:

Ich hatte letztes Jahr mit einer Firma zu tun, die Time to Digital 
Converter baut. Die haben einen Spezial-ASCI mit AD-Wandler mit 10 Gsps. 
Für den hat sich dann mal ein Herr von der R&S interessiert. Den könnten 
sie angeblich gut gebrauchen.

von Georg A. (georga)


Lesenswert?

> setze ich mir (m)einen Virtex schon zu 60% zu!

Soll auch Spartans geben...

von Luis Costa (Gast)


Lesenswert?

Andreas Schwarz schrieb:
> Fixed oder Floating Point? Welche Genauigkeit?

Ist mir egal, fixed point ist ok, mache ich im FPGA auch nicht anders.

Georg A. schrieb:
>> setze ich mir (m)einen Virtex schon zu 60% zu!

> Soll auch Spartans geben...

Du meinst, die Spartane sind leistungsfähiger und grösser, ja ;-)

branadic schrieb:
> Da wir alle Krösus heißen und uns die Sonne aus dem A*** scheint können
> wir selbstverständlich auch hellsehen.

ja, ok, hier sind die Anforderungen. Es ging ja auch nur darum, zu 
schauen, was es überhaupt gibt und nicht euch drauf anzusetzen, es 
anhand einer SPEC zu suchen. Ich bin flexibel, wenn der Chip was taugt.

Von mir aus darf der ruhig etwas Latenz haben, und langsamer getaktet 
werden, dann nehme ich halt mehrere parallel.

Auch eine floating point ASIC wäre ok, könnte ich ansteuern.

von Mac G. (macgyver0815)


Lesenswert?

Weils mich mal interessiert hat, hab ich grad mal kurz gesucht:

http://www.eonic.com/index.asp?item=32


Aber sieht nicht gerade billig aus da Militär/Aerospace.

von Georg A. (georga)


Lesenswert?

> Du meinst, die Spartane sind leistungsfähiger und grösser, ja ;-)

Nein, aber deutlich billiger. Und wenn du schon

> Von mir aus darf der ruhig etwas Latenz haben, und langsamer getaktet
> werden, dann nehme ich halt mehrere parallel.

schreibst, wäre das eine Alternative.

von Der Phönix (Gast)


Lesenswert?

Georg A. schrieb:
> Nein, aber deutlich billiger

Wenn er mit seiner APP schon einen mittleren Virtex verbrät, braucht er 
im Spartan noch mal mehr Silizim. Das dürfte kaum billiger werden. Und 
selbst die billigen Spartan gehen noch mit einigen 100,-.

So einen FFT-ASIC könnte ich auch gebrauchen! Mit aktuellen Technologien 
sind bis an die 5GHz machbar. Für Multipliziereinheiten, wie man sie in 
FPGAs kennt, werden Raten um die 1.2GHz angegeben. Das reicht schon für 
eine Teilsequenzialisierung, wenn der Chip nur 200MHz können muss.

Allerdings kann man es sich ja beim ASIC nicht aussuchen sondern muss 
kaufen, was es gibt und der oben gelinkte Chip ist nicht so dolle, zumal 
man nicht weiss, was er kostet!

von Helmut S. (helmuts)


Lesenswert?

8192x8 200Megasamples

Wenn du das lückenlos machen willst, dann hast du 40us um 8 FFTs mit 
jeweis 8192 Punkten zu machen. Also ohne Unmengen paralleler 
Multiplizierer und Accus geht das nicht. Da wird wohl dein Virtex FPGA 
glühen.

von Detlef _. (detlef_a)


Lesenswert?

Der TO will '8 fach Überlappung', dh er hat für die 8 FFTs 5us Zeit, 
also 8*8192*13*2 MACs in der Zeit, macht schlappe 340 GigaMACs. Der 
fetteste Spartan 6 hat 180 Mutiplizierer die mit 390MHz laufen, soweit 
ich das verstehe, imer noch Faktor 5 zu langsam.

So einfach kann man mit den 4 Grundrechenarten Phantasien an der 
Realität zerschellen lassen.

Cheers
Detlef

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wie kommst du auf diese Zahl? 8*200e6/8192=195e3 FFT/s -> um die 40 
GMAC/s. Das sollte auch einer der High End C6000 noch schaffen. Und bei 
so stark überlappenden FFTs kann man auch noch optimieren weil man 
sowieso vieles mehrfach berechnet.

Aber solange die Anforderungen so vage sind (nicht mal die Genauigkeit 
ist bekannt) macht es keinen Sinn über Alternativen zu diskutieren.

von Detlef _. (detlef_a)


Lesenswert?

Zu Deiner Rechnung ist nochmal Faktor 8 drin: Er will 8 Kanäle und 8fach 
überlappend.
eine FFT: 8192*13*2~213k
acht Stück: 1M7
das 24414Mal die Sekunde: 42Gig
achtfach überlappend: 332Gig

Cheers
Detlef

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ach so, die 8 Kanäle habe ich übersehen.

von Der (Gast)


Lesenswert?

Wie werden die Daten weiterverarbeitet?

von Horst H. (horst_h44)


Lesenswert?

Schau mal bei iC-Logic nach, die haben FFT IP-cores und sind ein 
ASIC-Designhaus ( http://www.ic-logic.de/ip-cores.php).

von Vigo (Gast)


Lesenswert?

Ich glaube kaum, dass es sich für eine irgendwie geartete 
durchschnittliche Anwendung lohnt, eine FFT extra in einen ASIC zu 
giessen. Wenn es sowas gäbe, könnte man sich dranhängen.

Der genannte Chip ist schon ziemlich mächtig, besonders, da er schon 
seit 2002 im Markt zu sein scheint. Dass ist ja halbleitertechnisch 
gesprochen ein Lichtjahr!

Ich denke aber nicht, dass der einem FFT Core vergleichbar ist. Im FPGA 
bekomme ich die Daten aus einer pipeline raus und kann mich direkt mit 
weiteren Operationen latenzarm dranhängen. Bei dem Chip ist das nicht 
notwendigerweise so, dass die Daten mit derselben geringen Latenz 
rauskommen. Will man das direkt darstellen oder im Frequenzbereich 
fenstern, braucht man native Reihenfolge - in vielen anderen Fällen 
nicht.

Beim FPGA kann ich mir das aussuchen und bekomme auch bei natural order 
einen akzeptable Latzenz weil der Core daraufhin anders gebaut wird. 
Beim ASIC bekomme ich das, was ich habe - warscheinlich eine 
Reihenfolge, die für das platzsparende Verarbeiten gut ist. Damit muss 
ich manuell umsortieren und das kann bei langen FFTs dauern!

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.