www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP FFT und Phase mit MATLAB


Autor: Tomsawyer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

 ich hab ein verständnisproblem was FFT betrifft.

 Meine Aufgabe war eigentlich ein analoges Signal mit 400 Khz abzutasten 
und und 2000 Samples in einem Diagram zu zeigen (in Schleife).
 Ich hab dazu 3 Graphen zugefügt die die Amplituden-Betrag, 
logarithmische Amplitude(Magnitude) und Phase des analogen Signals 
zeigen. Das Signal enthält einen 40kHz Frequenz wobei ich auch einen 
Peek in ungefähr 39 kHz im FFT Graphen sehen kann.

 hier ist die Funktion die ich benutze:
%%___________________________________________________________
function [f,p, betrag, mag] = localDaqfft(data,Fs,blockSize)

%%Fs ist die Abtastfrequenz = 400 kHz


% fft von data rechnen.
xFFT = fft(data);   % data enhält die 2000 Spannungswerte
xfft = abs(xFFT);


index = xfft == 0;
xfft(index) = 1e-17;

p = angle(xFFT);

p = p * 180/pi;
betrag = xfft;


mag = 20*log10(xfft);
mag = mag(1:blockSize/5);       % blockSize ist 2000
betrag = betrag(1:blockSize/5);

p = p(1:blockSize/5);
f = (0:length(mag)-1)* Fs/blockSize;
f = f(:);
%%_____________________________________________________________


Die Frage ist nun ob ich alles richtig tue? Ich hab bemerkt das die 
Frequenzamplituden zu hoch sind. Zum Beipiel wenn das analoge Signal die 
größte Amplitude bei 1 ms besitzt (ungefähr 1,7V),ist die Amplitude der 
Frequenz Peek bei 40 kHz 140, und die der magnitude 45 dB.

Autor: branadic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ob alles richtig funktioniert kannst du ja mit einem einfachen 
Testsignal prüfen.
Erzeuge dir einen Datensatz mit einem Sinussignal konstanter Frequenz 
mit vollständigen Perioden und fester Amplitude und dann lass deine 
Analyse drüber laufen.

branadic

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.