Contenu principal

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Transformer des données entre les domaines temporels et fréquentiels

System Identification Toolbox™ fournit des outils pour analyser les données et pour estimer et évaluer des modèles aussi bien dans les domaines temporel que fréquentiel. Pour utiliser des outils et des méthodes qui ne sont pas dans le même domaine que vos données mesurées, vous pouvez transformer vos données entre le domaine temporel et fréquentiel.

L’objet iddata stocke des données dans le domaine temporel ou dans le domaine fréquentiel.

  • Les données dans le domaine temporel sont composées d’une ou plusieurs variables d’entrée u(t) et d’une ou plusieurs variables de sortie y(t), échantillonnées en fonction du temps.

  • Les données dans le domaine fréquentiel sont composées soit de signaux transformés d’entrée et de sortie dans le domaine temporel, soit d’une réponse en fréquence du système échantillonnée en fonction de la fréquence variable indépendante.

Pour obtenir des informations détaillées sur la représentation de données dans le domaine temporel et dans le domaine fréquentiel dans MATLAB®, consultez Representing Data in MATLAB Workspace.

Vous pouvez transformer vos données d’un domaine à l’autre. Le tableau résume les commandes pour transformer les données entre les domaines temporels et fréquentiels. Pour plus d’informations sur les commandes, consultez les pages de référence sur les commandes correspondantes.

CommandeDescriptionExemple de syntaxe
fft

Transformer des données dans le domaine temporel vers le domaine fréquentiel.

Vous pouvez spécifier N, le nombre de valeurs de fréquence.

Pour transformer l’objet iddata dans le domaine temporel t_data en objet iddata dans le domaine fréquentiel f_data avec N points de fréquence, utilisez :

f_data = 
  fft(t_data,N)
ifftTransformer des données dans le domaine fréquentiel vers le domaine temporel. Les fréquences sont linéaires et espacées de manière égale.

Pour transformer l’objet iddata dans le domaine fréquentiel f_data en objet iddata dans le domaine temporel t_data, utilisez :

t_data = 
  ifft(f_data)

Convertir des données iddata sous la forme d’une réponse en fréquence idfrd est un type d’estimation. Si vous souhaitez estimer la réponse en fréquence au moyen d’un objet iddata, consultez Transforming Between Frequency-Domain and Frequency-Response Data.

Transformer des données entre les domaines temporels et fréquentiels

Transformez des données du domaine temporel vers le domaine fréquentiel puis vers le domaine temporel, et comparez la performance estimée des modèles à partir des données originales et transformées.

Chargez et tracez les données dans le domaine temporel z1, contenant 300 échantillons.

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.

Trouvez le pas d’échantillonnage Ts de z1.

Ts = z1.Ts
Ts = 
0.1000

Le pas d’échantillonnage est de 0,1 s.

Transformez z1 dans le domaine fréquentiel.

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

La plage de fréquences s’étend à 31,416 rad/s, ce qui est égal à la fréquence de Nyquist de pi/Ts.

Tracez les données dans le domaine fréquentiel.

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.

Transformez z1f dans le domaine temporel et tracez les deux signaux dans le domaine temporel en même temps.

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.

Les signaux s’alignent précisément.

Estimez des modèles de représentation d’état de second ordre pour z1 et 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%.

Estimez un modèle de représentation d’état pour 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%.

Les pourcentages d’ajustement pour les modèles dans le domaine temporel et dans le domaine fréquentiel sont similaires.

Voir aussi

| | | | |

Rubriques