Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

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.

ComandoDescrizioneEsempio di sintassi
fft

Trasformare i dati nel dominio del tempo a dati nel dominio della frequenza.

È possibile specificare N, il numero di valori di frequenza.

Per trasformare un oggetto iddata nel dominio del tempo t_data in un oggetto iddata nel dominio della frequenza f_data con N punti di frequenza, utilizzare:

f_data = 
  fft(t_data,N)
ifftTrasformare i dati nel dominio della frequenza in dati nel dominio del tempo. Le frequenze sono lineari e equidistanti.

Per trasformare un oggetto iddata nel dominio della frequenza f_data in un oggetto iddata nel dominio del tempo t_data, utilizzare:

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)

Figure contains 2 axes objects. Axes object 1 with title y1 contains an object of type line. This object represents z1. Axes object 2 with title u1 contains an object of type line. This object represents 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)

Figure contains 4 axes objects. Axes object 1 with title y1 contains an object of type line. This object represents z1f. Axes object 2 contains an object of type line. This object represents z1f. Axes object 3 with title u1 contains an object of type line. This object represents z1f. Axes object 4 contains an object of type line. This object represents 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)

Figure contains 2 axes objects. Axes object 1 with title y1 contains 2 objects of type line. These objects represent z1t, z1. Axes object 2 with title u1 contains 2 objects of type line. These objects represent 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)

Figure contains an axes object. The axes object with ylabel y1 contains 3 objects of type line. These objects represent Validation data (y1), sys1: 70.63%, sys1t: 70.63%.

Stimare un modello stato-spazio per z1f.

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

Figure contains 2 axes objects. Axes object 1 with ylabel y1 contains 2 objects of type line. These objects represent Validation data (y1), sys1f: 70.85%. Axes object 2 contains 2 objects of type line. These objects represent Validation data (y1), sys1f: 70.85%.

Le percentuali di adattamento per i modelli nel dominio del tempo e nel dominio della frequenza sono simili.

Vedi anche

| | | | |

Argomenti