Trasformazione tra dati nel dominio del tempo e dati nel dominio della frequenza
System Identification Toolbox™ fornisce gli strumenti per analizzare i dati e per stimare e valutare i modelli sia nel dominio del tempo che in quello della frequenza. Per utilizzare strumenti e metodi che non si trovano nello stesso dominio dei dati misurati, è possibile trasformare i dati tra il dominio del tempo e il dominio della frequenza.
L'oggetto iddata memorizza i dati nel dominio del tempo o della frequenza.
I dati nel dominio del tempo consistono in una o più variabili di input u(t) e in una o più variabili di output y(t), campionate in funzione del tempo.
I dati nel dominio della frequenza consistono in segnali di input e di output trasformati nel dominio del tempo o nella risposta in frequenza del sistema campionata in funzione della frequenza variabile indipendente.
Per informazioni dettagliate sulla rappresentazione dei dati nel dominio del tempo e nel dominio della frequenza in MATLAB®, vedere Representing Data in MATLAB Workspace.
È possibile trasformare i dati da un dominio all'altro. La tabella riepiloga i comandi per la trasformazione dei dati tra i domini del tempo e della frequenza. Per ulteriori informazioni sui comandi, vedere le pagine di riferimento dei comandi corrispondenti.
| Comando | Descrizione | Esempio di sintassi |
|---|---|---|
fft | Trasformare i dati nel dominio del tempo a dati nel dominio della frequenza. È possibile specificare | Per trasformare un oggetto f_data = fft(t_data,N) |
ifft | Trasformare i dati nel dominio della frequenza in dati nel dominio del tempo. Le frequenze sono lineari e equidistanti. | Per trasformare un oggetto t_data = ifft(f_data) |
La conversione dei dati iddata in forma di una risposta in frequenza idfrd è un tipo di stima. Se si desidera stimare la risposta in frequenza utilizzando un oggetto iddata, vedere Transforming Between Frequency-Domain and Frequency-Response Data.
Trasformazione dei dati tra i domini del tempo e della frequenza
Trasformare i dati nel dominio del tempo in dati nel dominio della frequenza e viceversa e confrontare le prestazioni dei modelli stimati dai dati originali e trasformati.
Caricare e tracciare i dati nel dominio del tempo z1, che contengono 300 campioni.
load iddata1 z1 plot(z1)

Trovare il tempo di campionamento Ts di z1.
Ts = z1.Ts
Ts = 0.1000
Il tempo di campionamento è 0,1 s.
Trasformare z1 nel dominio della frequenza.
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
L'intervallo di frequenza si estende a 31,416 rad/s che corrisponde alla frequenza di Nyquist di pi/Ts.
Tracciare i dati nel dominio della frequenza.
plot(z1f)

Trasformare z1f nuovamente nel dominio del tempo e tracciare insieme i due segnali nel dominio del tempo.
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)

I segnali si allineano perfettamente.
Stimare i modelli stato-spazio di secondo ordine per z1 e z1t.
sys1 = ssest(z1,2); sys1t = ssest(z1t,2); compare(z1,sys1,sys1t)

Stimare un modello stato-spazio per z1f.
sys1f = ssest(z1f,2); compare(z1f,sys1f)

Le percentuali di adattamento per i modelli nel dominio del tempo e nel dominio della frequenza sono simili.
Vedi anche
fft | iddata | ifft | etfe | spa | spafdr