Transformieren von Daten zwischen der Zeit- und Frequenzdomäne
System Identification Toolbox™ bietet Werkzeuge zur Analyse von Daten und zur Schätzung und Bewertung von Modellen sowohl in der Zeit- als auch der Frequenzdomäne. Um Werkzeuge und Methoden zu verwenden, die sich nicht im gleichen Bereich wie Ihre Messdaten befinden, können Sie Ihre Zeitdomänendaten in Frequenzdomänendaten transformieren und umgekehrt.
Das iddata-Objekt speichert Zeitdomänen- oder Frequenzdomänendaten.
Zeitdomänendaten bestehen aus einer oder mehreren Eingangsvariablen u(t) und einer oder mehreren Ausgangsvariablen y(t), die als Funktion der Zeit abgetastet werden.
Frequenzdomänendaten bestehen entweder aus transformierten Zeitdomänen-Eingangs/Ausgangs-Signalen oder aus dem Frequenzgang des Systems, der in Abhängigkeit der Frequenz als unabhängiger Variable abgetastet wird.
Ausführliche Informationen zur Darstellung von Zeitdomänen- und Frequenzdomänendaten in MATLAB® finden Sie unter Representing Data in MATLAB Workspace.
Sie können Ihre Daten von einer Domäne in die andere transformieren. In der Tabelle sind die Befehle zum Transformieren von Daten zwischen der Zeit- und Frequenzdomäne zusammengefasst. Weitere Informationen zu den Befehlen finden Sie auf den entsprechenden Befehlsreferenzseiten.
| Befehl | Beschreibung | Beispiel für die Syntax |
|---|---|---|
fft | Transformieren Sie Zeitdomänendaten in Frequenzdomänendaten. Sie können die Anzahl der Frequenzwerte | Um das Zeitdomänen- f_data = fft(t_data,N) |
ifft | Transformieren Sie Frequenzdomänendaten in Zeitdomänendaten. Die Frequenzen sind linear und gleichmäßig verteilt. | Um das Frequenzdomänen- t_data = ifft(f_data) |
Die Umwandlung von iddata-Daten in die Form eines idfrd-Frequenzgangs ist eine Art der Schätzung. Wenn Sie den Frequenzgang mit Hilfe eines iddata-Objekts schätzen wollen, siehe Transforming Between Frequency-Domain and Frequency-Response Data.
Transformieren von Daten zwischen der Zeit- und Frequenzdomäne
Transformieren Sie Daten von der Zeitdomäne in die Frequenzdomäne und zurück in die Zeitdomäne, und vergleichen Sie die Leistung von Modellen, die anhand der ursprünglichen und transformierten Daten geschätzt wurden.
Laden und plotten Sie die Zeitdomänendaten z1, die 300 Abtastungen enthalten.
load iddata1 z1 plot(z1)

Ermitteln Sie die Abtastzeit Ts von z1.
Ts = z1.Ts
Ts = 0.1000
Die Abtastzeit beträgt 0,1 s.
Transformieren Sie z1 in die Frequenzdomäne.
z1f = fft(z1)
z1f =
Frequency domain data set with responses at 151 frequencies.
Frequency range: 0 to 31.416 rad/seconds
Sample time: 0.1 seconds
Outputs Unit (if specified)
y1
Inputs Unit (if specified)
u1
Data Properties
Der Frequenzbereich reicht bis 31,416 rad/s, was der Nyquist-Frequenz von pi/Ts entspricht.
Plotten Sie die Frequenzdomänendaten.
plot(z1f)

Transformieren Sie z1f zurück in die Zeitdomäne und plotten Sie die beiden Zeitdomänensignale gemeinsam.
z1t = ifft(z1f)
z1t =
Time domain data set with 300 samples.
Sample time: 0.1 seconds
Outputs Unit (if specified)
y1
Inputs Unit (if specified)
u1
Data Properties
plot(z1t,z1)

Die Signale stimmen genau überein.
Schätzen Sie Zustandsraummodelle zweiter Ordnung für z1 und z1t.
sys1 = ssest(z1,2); sys1t = ssest(z1t,2); compare(z1,sys1,sys1t)

Schätzen Sie ein Zustandsraummodell für z1f.
sys1f = ssest(z1f,2); compare(z1f,sys1f)

Die prozentualen Anpassungsraten für die Modelle in der Zeit- und Frequenzdomäne sind ähnlich.
Siehe auch
fft | iddata | ifft | etfe | spa | spafdr