WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Direkte Fourier-Transf. (DFT) vs. Fast Fourier-Trans. (FFT)

 

Roachnbua
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 14.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2014, 15:41     Titel: Direkte Fourier-Transf. (DFT) vs. Fast Fourier-Trans. (FFT)
  Antworten mit Zitat      
Hallo,

ich habe ein Messsignal zu verarbeiten und habe schon einen funktionierenden FFT-Code geschrieben, habe aber ein Problem mit dessen Genauigkeit. Ist ein DFT-Code genauer? Weiß das jemand? Die Rechnung muss nämlich möglichst genau sein und mit der FFT ist sie das eben nicht.

_____________________________________________________________
[code]% Das ist mein Programm

%ERMITTLUNG ALLER ORDNUNGEN MIT DER FOURIERZERLEGUNG
fa = 144; %Abtastfrequenz = 1 / Abtastperiode = 1 / (t(2)-t(1)) (Beispiel)
N1 = length(ax);
%FFT-Analyse
Fft_Analyse(:,1) = fft(ax, N1);
%Betrag nur pos. Frequenzanteile
X = abs(Fft_Analyse(1:N1/2+1,1));
%Skalierung für positive Frequenzspektrum
X_scale = [X(1)/N1; 2*X(2:N1/2)/N1; X(end)/N1];
%Phasenwinkel berechnen
Phasenwinkel(:,1) = abs(angle(Fft_Analyse(:,1)));
%Grafik 2
fig = figure(fig + 1);
%Skalierung der Ordnungen
Ordnungen1 = 0:0.5:(size(X_scale,1))/2-0.5;

%Plotten der Ordnungen
subplot(3,1,1);
plot(Ordnungen1, X_scale, 'rx', 'LineWidth', 2.0)
title('Anregungsordnungen für a_C in x-Richtung')
xlabel('Ordnungen')
ylabel('Amplitude [Hz]')
axis([0 10 0 (max(X_scale)+50)])
_____________________________________________________________

Außerdem frage ich mich ob es bei der FFT nur eine Lösung gibt oder ob es da mehrere Möglichkeiten gibt. Denn ich muss einen Massenausgleich eines Verbrennungsmotors auslegen und bei der Berechnung kommt eine nullte Ordnung heraus, die eine Verschiebung der Funktion in vertikaler y-Richtung vornimmt. Diese nullte Ordnung kann aber nicht ausgeglichen werden da sie einen konstanten Wert hat. Es sollen zur Schwingungsreduktion ledigich Ordnung eins und zwei ausgeglichen werden. Deswegen muss auch die Berechnung ziemlich genau sein. Im Anhang ist ein Bild der berechneten Ordnungen. So könnt ihr euch wahrscheinlich mehr darunter vorstellen.

Kann mir jemand beim genaueren DFT-Code weiterhelfen?

Danke und Grüße,

Kevin

Ordnungen_ax_ay_abx.png
 Beschreibung:
Amplitudenwerte der verschiedenen Ordnungen (sind nichts anderes als Frequenzen, so z.B.: 1. Ordnung ist die Frequenz der Motordrehzahl)

Download
 Dateiname:  Ordnungen_ax_ay_abx.png
 Dateigröße:  9.92 KB
 Heruntergeladen:  315 mal
Private Nachricht senden Benutzer-Profile anzeigen


Roachnbua
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 14.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2014, 09:37     Titel:
  Antworten mit Zitat      
Hallo,

habe noch eine Frage. Kann ich bei der FFT-Analyse irgendwie erreichen das Ergebnisse ohne eine bestimmte Ordnung (nullte Ordnung) berechnet werden? Wäre sehr wichtig.

Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.