Forum: Digitale Signalverarbeitung / DSP / Machine Learning Übertragungsfunktion


von Markus K. (onlymagic)


Lesenswert?

Hi, bin neu hier im Forum,

bin Student und im Rahmen eines Praktikums sollen wir eine
Übertragungsfunktion ermitteln/berechnen.

Gegeben haben wir die Anregungsfunktion(Impulsfkt.) und die
Antwortfunktion in Form von Wertepaaren(x/y), die in MATLAB eingelesen
werden können. Meine Frage nun, wie kann ich mit Hilfe dieser Daten die
Übertragungsfunktion berechnen und darstellen.


Schonmal vielen Dank im Voraus

von Michael N. (bigmike47)


Lesenswert?

Also wenn ich das richtig verstanden habe, hast du die Ausgangsfunktion
wenn du vorne eine Impulsfunktion reinjagst. Dann brauchst du doch eh
nur mehr das Ausgangssignal Fourier-Transformieren und du hast die
Übertragungsfunktion, denn die FT der Impulsfunktion ist ja gleich 1.

von Alex (Gast)


Lesenswert?

ACK :-)

Sowas lernte man bei uns vor dem Praktikum in der Vorlesung.

von Matthias (Gast)


Lesenswert?

ne, er hat nich DIE Impulsantwort sondern die Antwort auf ein gegebenes
Eingangssignal. Also beide in den Frequenzbereich transformieren und
dann teilen. Einzeiler in Matlab, aber wir wollen hier ja mal keine
Hausaufgaben vormachen ;)

von Markus K. (onlymagic)


Angehängte Dateien:

Lesenswert?

Erstmal vielen Dank für eure schnellen Antworten.

Also das Problem ist, dass ich mit den Daten kein brauchbares Ergebniss
in MATLAB bekomme. Ich habe die Daten per fft() transformiert und
anschließend durcheinander geteilt und dargestellt.
Ich vermute, dass ich den Befehl falsch anwende, bzw. den falschen
Befehl benutze, um die Funktionen zu transformieren.

MfG Markus

von Alex (Gast)


Lesenswert?

Mal ne Nomenklaturfrage:

x - Eingang
y - Ausgang

In dem File gibst du ne Anregung für den Eingang und die Antwort des
Eingangs darauf und das Selbe für den Ausgang?

von Matthias (Gast)


Lesenswert?

Ohne die Datei jetz anzusehen:

G = fft(y) ./ fft(x);
plot(G);

von Björn (Gast)


Lesenswert?

Auch ohne die Datei anzuschauen, kleine Verbesserung:

statt
G = fft(y) ./ fft(x);
plot(G);

besser:

G = fft(y) ./ fft(x);
plot(abs(G));
plot(angle(G));

von Detlef _. (detlef_a)


Lesenswert?

Hallo Markus,

Du hast vier Signale geschickt, zweimal Rampen und zweimal irgendwas.
Was schickst Du rein, was kommt raus? Hatte Alex auch schon gefragt.

vawirt
Detlef

von Detlef _. (detlef_a)


Lesenswert?

Ähm,

ach so, rein geht y_anreg und raus kommt y_antwort? rein ist etwas
komisch, DC Offset und nicht so besinders breitandig. Das System selbst
ist stark ungedämpft und schwingt auf vielleicht 2 Frequenzen und deren
Oberwellen. Das sieht allesnicht so gut aus. Ziehst Du rein und raus
mit demselben Takt in die A/D Wandler, sind die synchron? Sieht m.E. so
aus, als sei das nicht der Fall ??!

Cheers
Detlef

clear
load c:\Daten.mat
x=y_anreg;
y=y_antwort;
%x=x-mean(x);
g=fft(y)./fft(x);
plot(abs(g),'.-')
return

von Markus K. (onlymagic)


Lesenswert?

Also Versuchsaufbau war ein simpler Biegebalken der mit einem
Impulshammer angeschlagen wurde. Die Daten wurden über einen
Bewegungsaufnhemer erfasst.

Der hat die Daten in Form von x/y Daten ausgegeben, einmal für Eingang
(x_anreg,y_anreg) und einmal für den Ausgang(x_antwort,y_antwort)


Mehr Infos haben wir nicht bekommen zu dem Aufbau.

von Alex (Gast)


Lesenswert?

Der Antwort nach ein PT2 System mit 2 Zeitkonstanten (eine kleine für
den HF-Anteil und eine größere für die Modulation) sowie einer
Dämpfung. Alle Größen kann man direkt Ablesen und danach den
Frequenzgang zeichnen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.