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

FFT und iFFT in Matlab

 

heinz_wurst
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 24.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2013, 18:37     Titel: FFT und iFFT in Matlab
  Antworten mit Zitat      
Hey,
ich habe folgendes Problem ich habe ein Messsignal, das im Frequenzbereich zweimal integriert werden soll und danach wieder in den Zeitbereich überführt werden soll. Also die Absolutwerte *-(omega^2).
Mit den Messdaten bekomme ich das ganze einfach nicht hin, egal was ich auch mache.
Desshalb habe ich mir ein kleines Beispiel gebaut. Komischerweise klappt hier alles 1A und ich weiß nicht mehr weiter.
Wenn ich jedoch den Hanning-Filter ausschalte oder durch einen Hemming ersetze klappt das ganze auch schon nicht mehr?!
Und wieso ist es -2* der imaginäre Anteil der ifft der meinen gesuchten Werten entspricht?!

Wenn ich das ganze mit Messdaten mache kommen lediglich noch Filter hinzu, die zum einen die Rohdaten einmal filtern und nach jeder nummerischen Integration filtern um die offsets rauszurechnen (untere Frequenz 0.5Hz). Das Ergebnis aus dem Zeitbereich sieht auch brauchbar aus. Das aus dem Frequenzbereich schwingt nichtmal um Null?!

Anbei der Code des Bsp...
und einmal die Integration aus dem Frequenz- und Zeitbereich mit meinen Messdaten.

Vielleicht hat jemand eine Idee, ich vermute da steckt irgendwo ein Denkfehler!

Code:
clc,clear all,close all

hamm = true;

Fs = 1000;                    % Sampling frequency
T = 1/Fs;                     % Sample time
L = 1000;                     % Length of signal
t = (0:L-1)*T;                % Time vector
% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
% x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
x = -0.7 * (2*pi*50)^2 * sin(2*pi*50*t)...
    - 0.33 * (2*pi*120)^2 * sin(2*pi*120*t);

y = x ;%+ 2*randn(size(t));     % Sinusoids plus noise
y_x = 0.7  * sin(2*pi*50*t)...
    + 0.33 * sin(2*pi*120*t);

msz  = get( 0,   'MonitorPosition');
abstand = -20;

cfg = figure(1);
set(cfg,'Position',[msz(2,1)+300-abstand*cfg msz(2,2)-300+abstand*cfg 1000 600])
plot(Fs*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')

NFFT = 2^nextpow2(L); % Next power of 2 from length of y

if hamm
    fenster = hann(length(y))';
else
    fenster = ones(1,length(y));
end

Y = fft(fenster.*y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);

% Plot single-sided amplitude spectrum.
cfg = figure(2);
set(cfg,'Position',[msz(2,1)+300-abstand*cfg msz(2,2)-300+abstand*cfg 1000 600])
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')

y_x_fft = abs(Y(1,1:length(f))) ./ (-(2*pi.*f).^2);

cfg = figure(3);
set(cfg,'Position',[msz(2,1)+300-abstand*cfg msz(2,2)-300+abstand*cfg 1000 600])
plot(f,2*abs(y_x_fft(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')


y_x_fft(isinf(y_x_fft)) = 9999;
y_ = ifft((y_x_fft),NFFT)*length(Y);


cfg = figure(4);
set(cfg,'Position',[msz(2,1)+300-abstand*cfg msz(2,2)-300+abstand*cfg 1000 600])
% subplot(2,1,1)
plot(t(1:50)*Fs,y_x(1:50),t(1:50)*Fs,-imag(y_(1:50))*2)
title('differenziert Zeitbereich')
xlabel('Zeit (ms)')
ylabel('x(t)')

 


fr.PNG
 Beschreibung:
integriert im Frequenzbereich

Download
 Dateiname:  fr.PNG
 Dateigröße:  13.14 KB
 Heruntergeladen:  475 mal
tt.PNG
 Beschreibung:
integriert im Zeitbereich

Download
 Dateiname:  tt.PNG
 Dateigröße:  27.86 KB
 Heruntergeladen:  482 mal
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.