www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP tms320c5505 FFT-Speed


Autor: Gast (Gast)
Datum:

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

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast schrieb:
> Wieviel Zeit vergeht

> Abtastung der Quelle mit 500kHz

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

Autor: paa (Gast)
Datum:

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

Autor: Gast (Gast)
Datum:

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

Autor: paa (Gast)
Datum:

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

Autor: Gast (Gast)
Datum:

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

Autor: paa (Gast)
Datum:

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

Autor: Gast (Gast)
Datum:

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

Autor: Mark Brandis (markbrandis)
Datum:

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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat er um 14:36 getan.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja habe ich erwähnt! Reicht das zur Berechnung aus?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt ist dabei nicht Hilfreich!

Autor: Mark Brandis (markbrandis)
Datum:

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

Autor: Gast (Gast)
Datum:

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

Autor: Mark Brandis (markbrandis)
Datum:

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

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.