Hauptinhalt

Transformieren von Daten zwischen der Zeit- und Frequenzdomäne

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.

BefehlBeschreibungBeispiel für die Syntax
fft

Transformieren Sie Zeitdomänendaten in Frequenzdomänendaten.

Sie können die Anzahl der Frequenzwerte N festlegen.

Um das Zeitdomänen-iddata-Objekt t_data in ein Frequenzdomänen-iddata-Objekt f_data mit N Frequenzpunkten zu transformieren, verwenden Sie:

f_data = 
  fft(t_data,N)
ifftTransformieren Sie Frequenzdomänendaten in Zeitdomänendaten. Die Frequenzen sind linear und gleichmäßig verteilt.

Um das Frequenzdomänen-iddata-Objekt f_data in ein Zeitdomänen-iddata-Objekt t_data zu transformieren, verwenden Sie:

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)

MATLAB figure

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)

MATLAB figure

MATLAB figure

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)

MATLAB figure

Schätzen Sie ein Zustandsraummodell für z1f.

sys1f = ssest(z1f,2);
compare(z1f,sys1f)

MATLAB figure

Die prozentualen Anpassungsraten für die Modelle in der Zeit- und Frequenzdomäne sind ähnlich.

Siehe auch

| | | | |

Themen