Main Content

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

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.

Funzioni correlate

Convert Model Rate (Converti la velocità del modello) utilizza le seguenti funzioni per la generazione di codice.

Convert Model Rate task in Live Editor

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 o c2d. Selezionare Convert Model Rate dai completamenti dei comandi suggeriti.

Esempi

espandi tutto

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

espandi tutto

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 o zpk.

  • Modelli LTI identificati come idss e idtf. (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).

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.

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.

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.

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.

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