Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Projektarbeit: Signalprozessortechnik FFT-Software für das EZ-Kit BF533 Studenten:Karsten Wiedmann Maik Gotzmann Studiengang:Informationstechnik Semester:6.

Ähnliche Präsentationen


Präsentation zum Thema: "Projektarbeit: Signalprozessortechnik FFT-Software für das EZ-Kit BF533 Studenten:Karsten Wiedmann Maik Gotzmann Studiengang:Informationstechnik Semester:6."—  Präsentation transkript:

1 Projektarbeit: Signalprozessortechnik FFT-Software für das EZ-Kit BF533 Studenten:Karsten Wiedmann Maik Gotzmann Studiengang:Informationstechnik Semester:6 Betreuer:Dr. Wolf-Dieter Heinitz Datum:22.08.2009

2 I. Gliederung 1. Aufgabestellung 2. Systemtheoretische Grundlagen 2.1 Die Fouriertransformation, DFT und FFT 2.2 Ausgewählte Funktionen und Spektren 2.3 Anzahl der Abtastwerte 2.4 Fensterbewertung der Abtastwerte 2.5 Der Leakage-Effekt 2.6 Aliasing und das Abtasttheorem 3. Programmierung DSP 3.1 Experimenteller Aufbau 3.2 Programmablaufplan 3.3 Programmierung / Ausgewählte Quelltextauszüge 4. Durchführung und Auswertung 4.1 Rechenzeit 4.2 Maximale Anzahl der Samplewerte 4.3 Optimierung des Quelltextes: Parallelanweisung 5. Praktische Vorführung Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1

3 1. Aufgabenstellung Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Es ist ein FFT zu programmieren. Das analoge Eingangssignal soll dabei mit einer Samplingfrequenz fs = 96 kHz abgetastet werden und das berechnete Spektrum ist analog auszugeben. Nutzen sie dazu eine Standard-Library und bestimmen sie Programmlaufzeiten. Praktische Demonstration des FFT-Algorithmus an einem Testaufbau mit Generator und Oszilloskop.

4 2.1 Die Fouriertransformation, DFT und FFT Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Fouriertransformation: ● Zerlegung eines periodischen Signals in seine periodischen Grundfunktionen, deren unterschiedliche Frequenzen Vielfache von 1/T sind Diskrete Fourirtransformation (DFT) ● Berechnung der Fouriertransformation mittels digitaler Recheneinheit ● Übergang vom Kontinuierlichen und Unendlichen ins Diskrete und Begrenzte => Begrenzte Abtastlänge => Konsequenz: Auftreten von Besonderheiten in den Spektren Fast-Fourier-Transformation (FFT) ● Effiziente Implementierung einer DFT ● Meist Vorliegend als Bibliotheksfunktion

5 2.2 Ausgewählte Funktionen und Spektren Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Die Sinus-Funktion ● Beispiel ➔ Frequenz: f = 4Hz ➔ Abtastfrequenz: fs = 512Hz ➔ Samples: N = 1024 ● Korrespondenz ● Spektrum ➔ zwei Dirac-Impulse ➔ an den Stellen ±ω

6 2.2 Ausgewählte Funktionen und Spektren Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Die Rechteck-Funktion ● Beispiel ➔ Frequenz: f = 4Hz ➔ Periodendauer: T = 0.25s ➔ Abtastfrequenz: f s = 640Hz ● Korrespondenz ● Spektrum ➔ Si-gedämpfe Spektral- anteile ➔ Abb.: nur positive Spektralanteile, da Betragsspektrum

7 2.3 Anzahl der Abtastwerte Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Spektrales Auflösungsvermögen ● Beschreibt den Abstand zweier Spektrallinien ● => mehr Abtastwerte, bessere Auflösung Problem ● Einerseits: Nahe bei einander liegende Frequenzen können nicht mehr unterschieden ● Andererseits: begrenzter Speicherplatz N=128 N=102 4

8 2.4 Fensterbewertung der Abtastwerte Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Fensterbewertung ● Begrenzte Abtastfolge bedeutet im systemtheoretischen Sinne eine Überlagerung der undendlichen Funktion mit einem Rechteckfenster ● Überlagerung im Zeitbereich => Faltung im Zeitbereich ● Korrespondenz: ● => Durch Rechteckfenster folgt Überlagerung mit Si-Funktion im Spektrum Beispiel: Sinus-Funktion ● Überlagerung der Dirac-Impulse Anwendung verschiedener Fenstertypen ➔ Kaiser-Fenster ➔ Hamming-Fenster ➔ Hanning-Fenster ➔ Blackman-Fenster, etc.

9 2.5 Der Leakage-Effekt Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Hintergrund ● Voraussetzung: Spektralfrequenzen sollen Vielfache von 1/T: ● => Verhältnis zwischen Sampleanzahl und Signalfrequenz ● => Fensterlänge entscheidet über Einhalten des Verhältnis Problem ● Fensterlänge von Signalfrequenz abhängig ● Signalfrequenz meist nicht bekannt ➔ optimale Fensterbreite kann nicht bestimmt werden ➔ keine Spektrallinie in Punkt f 1 abgebildet ➔ Maximum der Si-Fkt kann nicht ermittelt werden ➔ Es entsteht ein Frequenzversatz ! ● Minderung durch Einsatz von Fensterfunktionen

10 2.6 Aliasing und das Abtasttheorem Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 1. Nyquist-Theorem ● Ein Signal muss mindestens mit der doppelten Frequenz des höchsten auftretenden Frequenzanteils abgetastet werden, so dass eine einwandfreie Rückgewinnung des Signals aus dem Spektrum gewährleistet werden kann. ● Abtastung für zur Peridisierung des Spektrums an den Stellen f g ● Wenn überlappen sich die Spektren ● => zwischen originalen und wiederholen Frequenzanteilen kann nicht mehr unterschieden werden ● => es kommt zu nicht linearen Signalverzerrungen ● Wichtiger Paramter bei AD-Umsetzer ● Einsatz eines Anti-Aliasing-Tiefpasses

11 3.1 Experimenteller Aufbau Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1

12 3.2 Programmablaufplan Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1

13 3.3 Programmierung / Ausgewählte Quelltextauszüge Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Die wichtigsten Variablen:

14 3.3 Programmierung / Ausgewählte Quelltextauszüge Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 volatile short sCodec1836TxRegs[CODEC_1836_REGS_LENGTH] = { DAC_CONTROL_1| 0x002, DAC_CONTROL_2| 0x000, DAC_VOLUME_0| 0x3ff, DAC_VOLUME_1| 0x3ff, DAC_VOLUME_2| 0x3ff, DAC_VOLUME_3| 0x3ff, DAC_VOLUME_4| 0x000, DAC_VOLUME_5| 0x000, ADC_CONTROL_1| 0x040, ADC_CONTROL_2| 0x000, ADC_CONTROL_3| 0x000 }; Initialisierung:

15 3.3 Programmierung / Ausgewählte Quelltextauszüge Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Twiddle-Table: void twidfftrad2_fr16(complex_fract16 twiddle_table[], int fft_size); Fensterung der Eingangssamples Bestandteil der Berechnung der komplexen Faktoren nach: mit:k: Aktuelle Samplenr. (1..FFT-Size) N: Anzahl der FFT-Punkte

16 3.3 Programmierung / Ausgewählte Quelltextauszüge Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Interrupt-Service-Routine: Interrupt bestätigen RXBuffer auslesen DMA-Anomalie brücksichtigen Integer in fract16 konvertieren

17 3.3 Programmierung / Ausgewählte Quelltextauszüge Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Interrupt-Service-Routine: Fallunterscheidung, ob ausreichend Samples zur Berechnung der FFT gespeichert wurden Ausgabe des Triggersignals Ausgabe FFT-Wert

18 3.3 Programmierung / Ausgewählte Quelltextauszüge Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Unterprogramm Process_Data(): Radix-2 FFT mit reellen Eingangswerten

19 3.3 Programmierung / Ausgewählte Quelltextauszüge Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Unterprogramm Process_Data(): Radix-2 FFT mit reellen Eingangswerten

20 4.1 Rechenzeit Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 ● Bestimmung der Taktzyklen mittels Cycle-Register für Durchführung der FFT in Abhängigkeit von N ● Approximation der Regressionsgeraden ergibt Verhalten ● Entspricht der Komplexität der Radix-2-FFT

21 4.2 Maximale Anzahl der Samplewerte Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Limitierung der FFTSize durch die Größe des internen Speichers In Standardkonfiguration: 2x32 KByte für Daten Rechenbeispiel mit FFTSize=2048: = 36 KByte Ohne Programmoptimierung, max. FFTSize=2048 Ab VisualDSP++ V.5.0 kein Temp[]-Array mehr nötig

22 4.3 Optimierung des Quelltextes: Parallelanweisung Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 Parallelanweisungen ● Steigerung der Performance durch höhere Codedichte ● Ausführung mehrerer Operationen in einer Instruktion ➔ Entscheidend: Länge des Oppcodes ➔ Meisten Operationen 16Bit oder 32Bit ➔ Maximale Instruktionslänge ist 64Bit ➔ Kombination einer 32Bit-Operation mit zwei speziffischen 16Bit-Operationen Beispiel: Schiebebefehl zweier Variablen Unoptimierter Assemblercode ➔ Schiebebefehl: 32Bit ➔ Registeroperation: 16Bit Optimierter Assemblercode ➔ 32Bit (Schiebebefehl) ➔ + 16Bit (RegisterOperation) ➔ + 16Bit (NOP)

23 Projektarbeit: FFT-Software für das EZ-Kit BF533 22.07.2009 - Seite 1 5. Praktische Vorführung Vielen Dank für die Aufmerksamkeit!


Herunterladen ppt "Projektarbeit: Signalprozessortechnik FFT-Software für das EZ-Kit BF533 Studenten:Karsten Wiedmann Maik Gotzmann Studiengang:Informationstechnik Semester:6."

Ähnliche Präsentationen


Google-Anzeigen