Hallo!
Da ich in Matlab noch ein Anfänger bin bitte ich um Hilfe.
Wie kriege ich das in Matlab hin?
1- Eine Periode eines Sägezahnsignals (f=10kHz) mit 1000 Abtastwerten erzeugen und darstellen
2- Fourriertransformation des Signals
3- Erzeugung einer passenden Frequenzachse und diese mi Betragsspektrum darstellen
4- Erzeugung eines Vektors einer Kosinus Schwingung mit der Frequenz der ersten Harmonischen Schwingung und der Amplitude aus dem berechneten Spektrum
5- Erzeugen den Vektor einer Kosinus Schwingung mit der Frequenz der zweiten Harmonischen Schwingung und der Amplitude aus dem berechneten Spektrum
6- Die Vektoren einzeln UND als Summe darstellen
7- Zudem ein kleines Programm zur Synthese des Sägezahn aus dem Spektrum und Darstellung der Synthese mittels 10, 20, 30, 40, 50, 100 und 300 harmonischen Schwingungen schreiben
1) Wieso schreibst du wildfremde Leute privat an?
2) Stelle deine Fragen präzise, dann wird dir hier auch geholfen. Niemand wird für dich deine Hausaufgaben erledigen.
Hallo Leute! Erst einmal, ich habe die FFT soweit einigermaßen kapiert, ich habe nur ein Problem bei der vervollständigung und wollte deswegen keinen extra Thread aufmachen. Auch habe ich das übrigens tolle Beispiel in der Script-Ecke durchforstet, jedohc komme ich da auf keinen grünen Zweig...
Ich bin gerade dabei, die FFT von meinen Signalen zu machen, was vom grafischen her schon mal super klappt, dh. ich kann erkennen, das Eigenfrequenzen da sind. Dies mache ich mit folgendem Code:
Code:
%Anfangswerte
N=32768; %FFT-Länge/Stützstellen;
fa=51200; %Abtastfrequenz Vibrometer [Hz];
fn=fa/2; %Nyquistfrequenz wg. Aliasing[Hz];
Sig=dlmread('messdaten.txt','\t',51207,0); %Signal in Matrix ab Sekunde 1 einlesen;
t=(Sig(1:210942,1)); %Zeitsignal
v=(Sig(1:210942,2)); %Geschwindigkeitssignal/Signalausgabe;
%Grafische Ausgabe des Signals im Zeitbereich
%---------------------------------------------
subplot(2,1,1);
plot(t,v);
%FFT des Signals in Frequenzbereich;
SigFFT=abs(fft(v));
%Grafische Ausgabe des Signals im Frequenzbereich
%------------------------------------------------
subplot(2,1,2);
plot(fa*(0:(N/2-1))/N, SigFFT(1:N/2));
Anbei ist der Plot, den MATLAB ausgibt. Leider weiß ich nun nicht weiter, wie ich die Achsen entsprechend anpasse... bzw. kann das auf einen Fehler in meinem Code hindeuten?
Nun zu meinen Fragen:
Wie bekomme ich die Skalierung der Achsen hin? Die Amplitude z.B geht bei diesem Beispiel ja nur bis 0.3 m/s. Selbiges gilt für das Frequenzsspektrum auf der x-Achse..
Wie wende ich eine Fensterung an? Ok, das Fenster kann ich mit
Sorry für die späte Rückmeldung, aber Danke für den Link. FFT funktioniert! Merci.
Einstellungen und Berechtigungen
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
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.