Forum: Digitale Signalverarbeitung / DSP / Machine Learning tms320c5505 FFT-Speed


von Gast (Gast)


Lesenswert?

Hallo zusammen,
brauche dringend Hilfe!
Wieviel Zeit vergeht, beim tms320c5505, um einen FFT-Wert zu berechnen? 
Also die Zeit die vergeht von Eingabe der Quelle in die FFT 
Recheneinheit, bis Ausgabe des FFT-Wertes! Ziel soll eine 
FFT-Darstellung bis 120 Khz sein. Abtastung der Quelle mit 500kHz.
TI wollte mir als Student keine Auskünfte geben.
Datenblatt war auch nicht Hilfreich?

von Mark B. (markbrandis)


Lesenswert?

Gast schrieb:
> Wieviel Zeit vergeht

> Abtastung der Quelle mit 500kHz

Na bei Echtzeitverarbeitung höchstens 2 Mikrosekunden, falls der 
Prozessor das hinkriegt. ;-)

von paa (Gast)


Lesenswert?

Es kommt auf die Fensterbreite an .

Falls du alle 500 000 Werte pro Sekunde nimmst
bei Fensterbreite 2 hast du   2 Frequenzen: DC Anteil und 250 kHZ^^ - 
was wahrscheinlich schnell genug geht.
Bei 1024 hast du noch viele Frequenzen dazwischen. Alle 2us schafft er 
es wahrscheinlich nicht - aber evtl (keine Ahnung) alle 2ms.

von Gast (Gast)


Lesenswert?

Ziel sollen 60-120 FFT-Balken sein. Die 1024 werde ich nicht definitiv 
brauchen. Die Maximimal darzustellende Frequenz ist 120 kHz.
Der DSP hat eine interne Hardware-FFT-Einheit, und läuft mit 100 MHz.
Ist der DSP dazu in er Lage?

von paa (Gast)


Lesenswert?

Deine Frage ist sehr diffus - du musst zuerst überlegen wie oft und mit 
wieviel Werten deine FFT sein soll.

Falls du max 120 kHz brauchst dann kannst du nur jeden 2. Punkt nehmen 
(oder immer aus 2 Mittelwert)
Nehmen wir an du machst dies.

Falls du 128 Fenster Breite nimmst und jeweils alle 120 Werte deine FFT 
neu berechenst, dann hast du 1 ms pro FFT Berechnung.


Falls du 64 Fenster Breite nimmst und jeweils alle 60 Werte deine FFT 
neu berechenst, dann hast du 0,5 ms pro FFT Berechnung.

Was willst du mit der FFT machen "darstellen?", dann macht es nur Sinn 
alle 30ms oder weniger diese upzudaten - die Fensterbreite muss dann 
aber sehr hocoh sein - ca 30 mal so lang oder mehr - also z.B. 4096 
Werte pro FFT.

von Gast (Gast)


Lesenswert?

Ich bin nicht so ganz fit was FFT-Berechnungen angeht.
Es soll eine "Echtzeit"-Anzeige einer FFT realisiert werden. Ein extrem 
schnelles Display habe ich, nur nicht die Information, ob der DSP das 
schafft was ich brauche.
Eine Fensterbreite von 1-2kHz reicht aus.
Geht es dieser Sache nicht pur um die Schnelligkeit der 
FFT-Recheneinheit?

von paa (Gast)


Lesenswert?

Für wen soll die Echtzeitanzeige sein

- für Menschen?  Da reichen 30-50 Updates pro Sekunde.



Ich bin nicht so ganz fit was FFT-Berechnungen angeht.

Sieht man

Geht es dieser Sache nicht pur um die Schnelligkeit der
FFT-Recheneinheit?

Nein

evtl ist gar keine FFT notwendig

von Gast (Gast)


Lesenswert?

Die Daten sollen später zur Analyse bereitgestellt werden.
Aktualisierung alle ms wäre wünschenswert.

von Mark B. (markbrandis)


Lesenswert?

Der Prozessor ist ein TMS320VC5505, ja? Vielleicht sollte man auch mal 
einen Blick ins Datenblatt werfen:

"In addition, the VC5505 includes a tightly-coupled FFT Hardware 
Accelerator. The tightly-coupled FFT Hardware Accelerator supports 8 
to 1024-point (in power of 2) real and complex-valued FFTs."

Solche unwichtigen Details könnte man ja auch mal erwähnen, nicht? ;-)

von Gast (Gast)


Lesenswert?

Hat er um 14:36 getan.

von Gast (Gast)


Lesenswert?

Ja habe ich erwähnt! Reicht das zur Berechnung aus?

von Gast (Gast)


Lesenswert?

Das Datenblatt ist dabei nicht Hilfreich!

von Mark B. (markbrandis)


Lesenswert?

100 MHz Taktfrequenz --> 1 tick = 1/100 µs
Eine Instruktion benötigt 1 bis 2 ticks, siehe Datenblatt.

2 µs Echtzeitbedingung --> 100 bis 200 Instruktionen pro Abtastwert.

Rest bitte z.B. anhand der Code-Beispiele in der DSP Library selbst 
ausrechnen.

Vielleicht muss es aber auch gar nicht wirklich Echtzeit sein.

von Gast (Gast)


Lesenswert?

Ich brauche alle ms ein FFT-Spektrum.
Auflösung der Spannung 8 Bit reichen, bei 64 oder 128 FFT-Balken.
Das ganze soll Stromsparend sein.
Ich dachte das der TMS320VC5505 dafür reicht!?!

von Mark B. (markbrandis)


Lesenswert?

Gast schrieb:
> Ich brauche alle ms ein FFT-Spektrum.

Das klingt doch schon viel großzügiger als "Echtzeit" :-)

> Auflösung der Spannung 8 Bit reichen

Naja der interne A/D-Wandler hat eh 10 Bit. Ob es Rechenzeit spart wenn 
man mit 8 Bit rechnet anstatt mit 16 glaub ich fast nicht mal, wenn die 
ALU sowieso mit 16-Bit-Worten rechnet.

Es sollte reichen. Eine einklagbare Garantie geben können wir Dir 
leider nicht ;-)

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.