Conversione della velocità del modello
Convertire i modelli tra tempo continuo e tempo discreto e ricampionare i modelli nel Live Editor
Da R2019b
Descrizione
Convert Model Rate (Converti la velocità del modello) consente di convertire in modo interattivo un modello LTI tra tempo continuo e tempo discreto. Lo si può inoltre utilizzare per ricampionare un modello a tempo discreto. L'attività genera automaticamente il codice MATLAB® per lo script live.
Per iniziare l'attività del Convert Model Rate (Converti la velocità del modello), selezionare il modello che si desidera convertire. È inoltre possibile specificare il tempo di campionamento target, il metodo di conversione e altri parametri. L'attività genera il modello convertito nel workspace di MATLAB e può generare un grafico di risposta atto a monitorare la corrispondenza tra il modello originale e quello convertito, mentre si sperimentano i parametri di conversione.
Apri l'attività
Per aggiungere l'attività Convert Model Rate (Converti velocità del modello) in uno script live in MATLAB Editor:
Nella scheda Live Editor, selezionare Task > Convert Model Rate.
In un blocco di codice dello script, digitate una parola chiave pertinente, ad esempio
convert
,rate
oc2d
. SelezionareConvert Model Rate
dai completamenti dei comandi suggeriti.
Esempi
Discretizzazione del modello nel Live Editor
Utilizzare l'attività Convert Model Rate (Converti velocità del modello) nel Live Editor per convertire un modello a tempo continuo in un modello a tempo discreto in modo interattivo. Sperimentate diversi metodi, opzioni e grafici di risposta. L'attività genera automaticamente il codice che rispecchia le selezioni effettuate. Aprire questo esempio per vedere uno script preconfigurato nel quale è presente l'attività Convert Model Rate (Converti velocità del modello).
Creare un modello di una funzione di trasferimento a tempo continuo.
G = tf([1 -50 300],[1 3 200 350]);
Per discretizzare questo modello, aprire l'attività Convert Model Rate (Converti velocità del modello) nel Live Editor. Nella scheda Live Editor, selezionare Task > Convert Model Rate (Attività > Converti velocità del modello). Nell'attività, selezionare G
come modello da convertire.
L'attività discretizza automaticamente il modello utilizzando il tempo di campionamento predefinito 0,2 s e il metodo di conversione predefinito Zero-order hold
. Crea inoltre un grafico di Bode che consente di confrontare le risposte dei modelli originali e di quelli convertiti.
La linea verticale sul grafico mostra la frequenza di Nyquist associata al tempo di campionamento predefinito. Si ipotizzi di voler utilizzare un tempo di campionamento di 0,15 secondi. Modificare il tempo di campionamento inserendo il nuovo valore nel campo Sample Time (Tempo di campionamento). Il grafico della risposta si aggiorna automaticamente per rispecchiare il nuovo tempo di campionamento.
Se la dinamica precisa della risonanza è importante per l'applicazione, è possibile migliorare la corrispondenza nel dominio della frequenza utilizzando un metodo di conversione diverso. Nell'attività, provare a sperimentare diversi metodi e osservare il loro effetto sul grafico delle risposte.
Il metodo di Tustin può produrre una migliore corrispondenza nel dominio della frequenza rispetto al metodo di mantenimento di ordine zero predefinito. (Vedere Continuous-Discrete Conversion Methods.) In Select Conversion Method (Seleziona il metodo di conversione), selezionare Bilinear (Tustin) approximation
. Inizialmente, la corrispondenza nel dominio della frequenza risultante è meno soddisfacente di quella ottenuta con il metodo di mantenimento di ordine zero.
È possibile migliorare la corrispondenza utilizzando una frequenza di predistorsione. Questa opzione forza la risposta a tempo discreto a corrispondere alla frequenza specificata. La risonanza di G
ha un picco a circa 14 rad/s. Inserire tale valore come frequenza di predistorsione. La corrispondenza migliora intorno alla risonanza. Tuttavia, la risonanza è molto vicina alla frequenza di Nyquist per il tempo di campionamento di 0,15 s, che limita quindi l'approssimazione della corrispondenza.
L'attività Convert Model Rate (Converti velocità del modello) può generare altri tipi di grafici di risposta. Ad esempio, per confrontare le risposte nel dominio del tempo del modello originale e di quello convertito, in Output Plot (Grafico di output), selezionare step
o impulse
.
L'attività genera il codice nello script live. Il codice generato rispecchia i parametri e le opzioni selezionate e include il codice per generare il grafico di risposta specificato. Per vedere il codice generato, fare clic su Show code (Mostra codice) nella parte inferiore dell'area dei parametri dell'attività. L'attività si espande per visualizzare il codice generato.
Per impostazione predefinita, il codice generato utilizza sysConverted
come nome della variabile di output, che è il modello convertito. Per specificare un nome diverso per la variabile di output, inserire il nuovo nome nella riga di riepilogo all'inizio dell'attività. Ad esempio, modificare il nome in sys_d
.
L'attività aggiorna il codice generato per rispecchiare il nuovo nome della variabile e il nuovo modello convertito sys_d
compare nel workspace di MATLAB. Il modello può essere utilizzato per ulteriori analisi o per la progettazione di controllo, come si farebbe con qualsiasi altro oggetto del modello. Ad esempio, simulare la risposta del sistema convertito a un input a onda quadra. Utilizzare il tempo di campionamento specificato nell'attività.
[u,t] = gensig('square',4,10,0.15);
lsim(sys_d,u,t)
Parametri
Modello
— Modello da convertire
Modello LTI
Selezionare un modello LTI. L'elenco contiene tutti i modelli di sistemi dinamici a tempo continuo o a tempo discreto adatti al workspace di MATLAB, tra cui:
Modelli LTI numerici come i modelli
tf
,ss
ozpk
.Modelli LTI identificati come
idss
eidtf
. (Per utilizzare i modelli identificati è necessario disporre di una licenza System Identification Toolbox™).
È possibile convertire modelli SISO o MIMO, con o senza ritardi temporali, sebbene alcuni metodi di conversione siano disponibili solo per i modelli SISO (vedere la descrizione del parametro Method). Non è possibile utilizzare Convert Model Rate (Converti velocità del modello) per convertire modelli LTI generalizzati come genss
o uss
, modelli di dati di risposta in frequenza come frd
o modelli di processo (idproc
).
Tempo di campionamento
— Tempo di campionamento target
0.2 (predefinito) | 0 | scalare positivo
Specificare il tempo di campionamento del modello convertito in unità di 1/TimeUnit
, dove TimeUnit
è la proprietà TimeUnit
del modello di input.
Per discretizzare un modello a tempo continuo o ricampionare un modello a tempo discreto, inserire il tempo di campionamento target.
Per convertire un modello a tempo discreto in un modello a tempo continuo, inserire 0.
Metodo
— Metodo di conversione della velocità
Zero-order hold
(predefinito) | First-order hold
| Bilinear (Tustin) approximation
| ...
Selezionare un metodo di conversione della velocità. I metodi disponibili sono:
Zero-order hold
First-order hold
Impulse-invariant discretization
(solo per la conversione di modelli SISO da tempo continuo a tempo discreto)Bilinear (Tustin) approximation
Zero-pole matching method
Least-squares method
(solo per la conversione di modelli SISO da tempo continuo a tempo discreto)
Per informazioni sulla scelta del metodo di conversione, vedere Continuous-Discrete Conversion Methods.
Ordine di ritardo
— Ordine approssimativo per la stima del ritardo
0 (predefinito) | intero positivo
Quando si converte la velocità di un modello che presenta un ritardo temporale, i metodi Bilinear (Tustin) approximation
o Zero-pole matching method
arrotondano il ritardo temporale al multiplo intero più vicino del tempo di campionamento. Questo arrotondamento può ridurre l'accuratezza della dinamica, soprattutto in prossimità della frequenza di Nyquist.
Impostare Delay Order su un numero intero diverso da zero affinché Convert Model Rate (Converti velocità del modello) approssimi la parte frazionaria del ritardo utilizzando un filtro di Thiran anziché l'arrotondamento. Utilizzare il valore più piccolo che produce una dinamica convertita in velocità sufficientemente accurata per l'applicazione. Per ulteriori informazioni sui filtri di Thiran, vedere thiran
.
Frequenza di predistorsione (rad/s)
— Frequenza di predistorsione per il metodo bilineare (Tustin)
0 (predefinito) | scalare positivo
Quando si discretizza un modello a tempo continuo, se il sistema presenta dinamiche importanti a una particolare frequenza che si desidera preservare con la conversione di velocità, è possibile utilizzare il metodo Bilinear (Tustin) approximation
con predistorsione della frequenza. Questo metodo garantisce la corrispondenza tra le risposte originali e quelle convertite alla frequenza di predistorsione specificata. Vedere Continuous-Discrete Conversion Methods.
Grafico di output
— Tipo di grafico di risposta
Bode
(predefinito) | Step
| Impulse
| ...
Convert Model Rate (Converti velocità del modello) genera automaticamente un grafico di risposta per consentire di verificare che le dinamiche importanti per l'applicazione siano conservate. Specificare uno dei seguenti tipi di grafico di risposta per confrontare le risposte dei modelli originali e convertiti, mentre si sperimentano i parametri di conversione.
Bode
Step
Impulse
Pole-Zero
Il codice generato dall'attività include il codice per creare il grafico di risposta selezionato. Per omettere il grafico di risposta, selezionare None
.
Cronologia versioni
Introdotto in R2019b
Comando MATLAB
Hai fatto clic su un collegamento che corrisponde a questo comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB. I browser web non supportano i comandi MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)