thermodynamics-and-heat-transfer
Calcolo delle funzioni di trasferimento in Simulink: un approccio passo-passo
Table of Contents
Le funzioni di trasferimento rappresentano uno dei concetti più fondamentali nell'ingegneria dei sistemi di controllo e nell'elaborazione dei segnali. Essi forniscono una rappresentazione matematica del rapporto tra l'ingresso e l'uscita di un sistema lineare di tempo invariante (LTI) nel dominio di frequenza. Il modello di trasferimento Fcn blocca un sistema lineare tramite una funzione di trasferimento della variabile Laplace-domain, che lo rende uno strumento essenziale per analizzare le dinamiche di sistema, progettare i controller e predire il comportamento di programmazione analitica.
Questa guida completa esplora il processo completo di calcolo, attuazione e analisi delle funzioni di trasferimento in Simulink. Che tu stia progettando un nuovo sistema di controllo, analizzando un modello esistente, o estraendo le funzioni di trasferimento da sistemi non lineari complessi, la comprensione di queste tecniche aumenterà significativamente il flusso di lavoro di ingegneria e le capacità di analisi del sistema.
Comprensione delle funzioni di trasferimento nei sistemi di controllo
Prima di immergersi nella pratica implementazione in Simulink, è essenziale capire che cosa rappresentano le funzioni di trasferimento e perché sono così preziose nell'ingegneria dei sistemi di controllo. Una funzione di trasferimento descrive il rapporto input-output di un sistema nel dominio Laplace, tipicamente espresso come un rapporto di polinomi nella variabile complessa s.
Fondazione matematica
La funzione di trasferimento riguarda l'ingresso e l'uscita del sistema attraverso coefficienti numerici e denominatori nelle potenze discendente di s, dove l'ordine del denominatore deve essere maggiore o uguale all'ordine del numeratore, che garantisce la realizabilità fisica e la causalità del sistema.
La forma generale di una funzione di trasferimento può essere scritta come G(s) = N(s)/D(s), dove N(s) rappresenta il polinomio numeratore e D(s) rappresenta il polinomio denominatore. I coefficienti di questi polinomi corrispondono direttamente ai parametri fisici del sistema e determinano caratteristiche critiche come i poli, gli zeri, il guadagno e la risposta di frequenza.
Tipi di Rappresentanze Funzione di trasferimento
Simulink supporta molteplici approcci per la rappresentazione delle funzioni di trasferimento. Il blocco Transfer Fcn può modellare sistemi a singolo ingresso (SISO) e a ingresso singolo multi-uscita (SIMO). Per scenari più complessi che coinvolgono parametri di tempo-varying, Simulink fornisce blocchi specializzati che soddisfano i cambiamenti di coefficiente dinamico durante la simulazione.
È possibile portare in trasferimento oggetti funzione definiti nello spazio di lavoro MATLAB in Simulink utilizzando il blocco LTI System e specificando il nome variabile, e una funzione di trasferimento può anche essere rappresentata in termini di blocchi semplici, come integratori e guadagni. Questa flessibilità consente agli ingegneri di scegliere il metodo di rappresentazione più appropriato in base alle loro specifiche esigenze applicative e preferenze di modellazione.
Impostare il tuo ambiente Simulink
La corretta configurazione dell'ambiente è fondamentale per un'analisi efficiente delle funzioni di trasferimento in Simulink. Il processo inizia con il lancio di Simulink e la configurazione delle caselle di strumenti e delle librerie necessarie che forniscono funzionalità di trasferimento.
Creare un nuovo modello Simulink
Iniziare aprendo MATLAB e digitando "simulink" nella finestra di comando o cliccando sull'icona Simulink nella barra degli strumenti MATLAB. Questo apre la pagina iniziale Simulink, dove è possibile creare un nuovo modello vuoto. Il modello vuoto fornisce una tela in cui si costruirà il sistema utilizzando vari blocchi dal browser libreria Simulink.
Il Browser della Biblioteca contiene categorie organizzate di blocchi, con blocchi legati alla funzione di trasferimento situati principalmente nella libreria continua. La libreria continua contiene elementi di sistema a tempo continuo, tra cui funzioni di trasferimento, modelli di stato-spazio e controller PID. Familiarizzarsi con questa struttura della libreria razionalizzerà il processo di modellazione.
Blocchi essenziali per l'analisi delle funzioni di trasferimento
Un tipico setup di analisi delle funzioni di trasferimento richiede diversi componenti chiave. Il modello semplice consiste di tre blocchi: Passo, Funzione di trasferimento e Campo, dove il Passo è un blocco di origine da cui proviene un segnale di ingresso passo, questo segnale viene trasferito attraverso la linea al blocco Funzione di trasferimento continuo, il blocco Funzione di trasferimento modifica il suo segnale di ingresso e genera un nuovo segnale allo Scope.
Oltre a questi blocchi di base, potresti aver bisogno di componenti aggiuntivi a seconda dei tuoi obiettivi di analisi:
- Fonti di segnale:[[] Passo, Ramp, Sine Wave, Chirp Signal e numeri casuali blocchi per vari scenari di input
- Operazioni matematiche:[ Sum, Gain, Blocchi di prodotto per la manipolazione del segnale e l'interconnessione del sistema
- Attrezzi di visualizzazione:[ Scopo, A Workspace, Blocchi di visualizzazione per l'osservazione e la registrazione dei risultati della simulazione
- Blocchetti di analisi:[ Punti di linearizzazione, blocchi di misura per l'estrazione delle caratteristiche del sistema
Funzioni di trasferimento di esecuzione utilizzando il blocco trasferimento Fcn
Il blocco Transfer Fcn serve come metodo primario per implementare direttamente le funzioni di trasferimento conosciute in Simulink. Questo approccio è ideale quando hai già derivato il modello matematico del tuo sistema e vuoi simulare il suo comportamento.
Configurazione dei parametri del blocco
In Simulink, cercare il blocco 'Transfer Fcn' e trascinare e rilasciare il blocco nello spazio di lavoro del modello. Una volta posizionato, è necessario configurare i suoi parametri per corrispondere alla funzione di trasferimento desiderata.
Un blocco può essere modificato facendo doppio clic su di esso, e se fai doppio clic sul blocco Funzione di trasferimento, vedrai una finestra di dialogo che contiene campi per il numeratore e il denominatore della funzione di trasferimento del blocco.
Entrare in vettori coefficienti
Entrando in un vettore contenente i coefficienti del numeratore o del polinomio denominatore desiderato, si può inserire la funzione di trasferimento desiderata. I coefficienti devono essere disposti in potenze discendente di s, a partire dal termine di ordine più alto.
Ad esempio, si consideri l'applicazione della funzione di trasferimento G(s) = (s + 3)/(s2 + 2s). Inserisci i coefficienti numerici [1 3] (rappresentando s + 3) e immettere i coefficienti di denominatore [1 2 0] (rappresentando s2 + 2s).
Opzioni di visualizzazione blocco
Se ciascuna è specificata come espressione, vettoriale o variabile racchiusa tra parentesi, l'icona mostra la funzione di trasferimento con i coefficienti e i poteri specificati di s, e se si specifica una variabile in parentesi, la variabile viene valutata. Questa funzione consente opzioni di visualizzazione flessibili che possono rendere il modello più leggibile e manutenbile.
È possibile specificare i coefficienti in tre modi: come vettori numerici espliciti (ad esempio, [1 3]), come variabili di spazio di lavoro MATLAB (ad esempio, num e den), o come espressioni che valutano ai vettori.
Gestione delle condizioni iniziali
Simulink preimposta le condizioni iniziali del blocco Transfer Fcn a zero, e per specificare le condizioni iniziali per una data funzione di trasferimento, convertire la funzione di trasferimento alla sua realizzazione controllabile e canonica dello stato-spazio utilizzando tf2ss. Questa limitazione esiste perché le funzioni di trasferimento hanno infinite realizzazioni time-domain e la maggior parte delle rappresentazioni statali non corrispondono a condizioni iniziali fisicamente significative.
Quando sono richieste condizioni iniziali non zero, l'approccio raccomandato consiste nella conversione alla rappresentazione dello stato-spazio, nell'impostazione del vettore di stato iniziale e nell'utilizzo del blocco Stato-Space, che fornisce un controllo esplicito sulle condizioni iniziali, mantenendo l'equivalenza matematica alla rappresentazione della funzione di trasferimento.
Estrarre le funzioni di trasferimento dai modelli Simulink
Una delle capacità più potenti di Simulink consiste nell'estrarre le funzioni di trasferimento da modelli esistenti, inclusi sistemi non lineari complessi, chiamati linearizzazione, approssimando il comportamento del sistema intorno a un punto operativo utilizzando un modello di funzione di trasferimento lineare.
Comprensione della linearizzazione del modello
Un modo più diretto per trovare una funzione di trasferimento da un modello Simulink è quello di linearizzare un modello di stato-spazio, quindi convertirlo in una funzione di trasferimento utilizzando sys = linearizzare ("mymodel",io points); sys tf = tf(sys).
La linearizzazione funziona calcolando le matrici giacobiche delle equazioni di sistema a un punto operativo specificato. Per i sistemi non lineari, questo produce un'approssimazione lineare che è valida in un quartiere intorno a quel punto. Per i sistemi che sono già lineari, la linearità estrae la funzione di trasferimento esatto indipendentemente dal punto di funzionamento scelto.
Specificare i punti di analisi
Prima di linearizzare un modello, è necessario identificare quali segnali rappresentano ingressi e uscite per la funzione di trasferimento che si desidera estrarre.Per specificare la porzione del modello da linearizzare, apri prima la scheda Linearizzazione facendo clic su Linearization Manager nella galleria Apps nella finestra Simulink.
Per specificare un punto di analisi per un segnale, fare clic sul segnale nel modello, quindi sulla scheda Linearizzazione, nella galleria Punti di analisi Insert, selezionare il tipo di punto di analisi.
- Perturbazione di ingresso:[ Aggiunge un piccolo segnale nella posizione specificata per misurare la risposta del sistema
- Misurazione di uscita:[] Registra il valore del segnale senza influire sulle dinamiche di sistema
- Loop Break:[] Apre un loop di feedback per l'analisi a ciclo aperto
- Uscita Open-Loop:[] Combina la misurazione dell'output con l'apertura del loop
Per specificare la porzione del modello per linearizzare, creare una serie di oggetti I/O di linearizzazione utilizzando il comando linio, come la creazione di un punto di analisi perturbazione di input all'uscita del blocco Controller PID. Questo approccio programmatico offre maggiore flessibilità rispetto al posizionamento interattivo del punto, soprattutto per l'elaborazione batch o per i flussi di lavoro automatizzati.
Utilizzo dell'App Modello Linearizer
Model Linearizer consente di eseguire analisi lineari dei modelli Simulink non lineari, offrendo un'interfaccia completa per le attività di linearizzazione, le specifiche del punto operativo e l'analisi dei risultati.
È possibile aprire l'App Modello Linearizer accedendo alla cartella Strumenti Simulink: Nella scheda Apps, sotto Sistemi di controllo, fare clic su Linearizzatore Modello. Una volta aperta, l'app visualizza i punti di analisi del modello e consente di configurare le impostazioni di linearizzazione.
L'interfaccia Model Linearizer include diverse sezioni chiave:
- Analisi I/O:[] Visualizza e gestisce configurazioni di punti di input/output
- Punto di funzionamento:[ Specifica i valori di stato e di input intorno ai quali si verifica la linearizzazione
- Risultati di formazione:[ Mostra modelli estratti e le loro caratteristiche
- Opzioni di trama:[] Genera trame di risposta di dominio di frequenza e di tempo
Esecuzione della Linearizzazione
Per questo esempio, utilizzare il punto di funzionamento del modello per la linearizzazione lasciando il Modello Condizione iniziale selezionato nell'elenco a discesa del punto operativo, e per linearizzare il sistema e generare un diagramma di risposta per l'analisi, nella sezione Linearize, fare clic su una risposta.
Il processo di linearizzazione compila il modello, lo valuta al punto di funzionamento specificato e calcola il ravvicinamento lineare. Per modelli grandi o complessi, questo può richiedere diversi secondi. Il modello lineare risultante appare nello spazio di lavoro di analisi lineare, dove è possibile esaminare le sue proprietà, generare trame e esportarlo in MATLAB per ulteriori analisi.
È inoltre possibile esportare il modello lineare nello spazio di lavoro MATLAB facendo clic con il pulsante destro del mouse sui linsys1 nel browser dati e selezionando Esporta in MATLAB Workspace.
Lavorare con funzioni di trasferimento di tempo-Varying
Simulink fornisce blocchi specializzati per la gestione delle funzioni di trasferimento con coefficienti variabili, consentendo una simulazione accurata dei controller, dei sistemi di adattamento e degli impianti di essiccazione dei parametri.
Blocco funzione di trasferimento di spolveratura
Utilizzare questo blocco e gli altri blocchi nella libreria Linear Parameter Varying per implementare elementi di controllo comuni con parametri o coefficienti variabili, per maggiori informazioni, vedere Model Gain-Scheduled Control Systems in Simulink.
L'ordine N della funzione di trasferimento è specificato come un integer positivo, e questo parametro determina il numero di porte di ingresso del coefficiente sul blocco. Ogni coefficiente può essere fornito come segnale di tempo di varying, permettendo le caratteristiche della funzione di trasferimento per adattarsi durante la simulazione.
Configurazione di Coefficienti Variabili
Abilitare la porta di ingresso b0 per una funzione di trasferimento con feedthrough diretto, e per una funzione di trasferimento zero-feedthrough, cancellare questa casella di controllo, come disabilitare la porta per modelli zero-feedthrough è numericamente più affidabile che alimentare un zero-constant nella porta.
Quando si implementano le funzioni di trasferimento di tempo, è essenziale prestare attenzione alla stabilità numerica. I cambiamenti del coefficiente rapido possono causare problemi numerici, soprattutto se il denominatore polinomiale si avvicina a zero o se i poli si muovono in modo significativo tra i passi del tempo.
Evitare le Loops algebriche
Evitare di fare i coefficienti di funzione di trasferimento dipendono dall'output del blocco y, perché se si dispone di tale dipendenza, la funzione di trasferimento risultante provoca un loop algebrico, dal momento che l'elaborazione del valore di uscita del blocco richiede conoscere il valore di uscita del blocco, e questo loop algebrico è incline all'instabilità e alla divergenza, quindi invece dell'output, provare ad esprimere i coefficienti in termini di tempo t e l'ingresso del blocco u.
Mentre Simulink può talvolta risolvere i loop algebrici iterativamente, essi rallentano significativamente la simulazione e possono non convergere, soprattutto con le dipendenze non lineari o con i cambiamenti del coefficiente discontinuo.
Tecniche di linearizzazione avanzate
Oltre alla linearizzazione di base, Simulink offre tecniche avanzate per l'estrazione di funzioni di trasferimento da sistemi complessi, la gestione di più punti operativi, e l'analisi di comportamento dipendente dalla frequenza.
Linearizzazione Batch
Se si desidera ottenere più funzioni di trasferimento open-loop o chiuse dal sistema linearizzato senza ricompilare il modello, è possibile specificare punti di analisi lineari utilizzando un'interfaccia slLinearizer, per ulteriori informazioni, vedere Segnali di interesse per la linearizzazione Batch.
L'interfaccia slLinearizer fornisce un approccio programmatico alla linearizzazione particolarmente utile per gli studi parametrici, l'analisi di Monte Carlo o l'ottimizzazione automatizzata del design. È possibile definire coppie di input-output multiple, passare attraverso i range di parametri e raccogliere risultati di linearizzazione senza intervento manuale.
Specificazione del punto di funzionamento
Le condizioni operative sono i valori dei vettori di stato e di input su cui si verifica la linearizzazione del modello di analisi, e le condizioni iniziali sono i valori dei vettori di stato e di input al momento t=0. Per i sistemi non lineari, la scelta del punto operativo influisce significativamente sulla funzione di trasferimento risultante.
Simulink fornisce diversi metodi per specificare i punti operativi:
- Condizioni iniziali della moda:[] Utilizza i valori iniziali dello stato e dell'ingresso definiti nel modello
- Punto Operativo Steady-State:[ Computes condizioni di equilibrio dove derivati pari a zero
- Impostazione:[] Capture stato del sistema in un tempo di simulazione specifico
- Punto di funzionamento personalizzato:[ Specifica manualmente i valori di stato e di input
Per la progettazione del sistema di controllo, i punti operativi a stato costante forniscono spesso la linearità più significativa, che rappresentano le condizioni intorno alle quali il controller regola il sistema, rendendo il modello lineare direttamente applicabile alla sintesi del controller e all'analisi della stabilità.
Valutazione della risposta alla frequenza
Per stimare la funzione di trasferimento di un sistema in Simulink, utilizzare il blocco di Estimator Funzione di Trasferimento Discreto, che implementa il metodo di parodogramma medio modificato di Welch e utilizza i dati di input e output misurati per la stima.
Questo approccio differisce dalla linearizzazione utilizzando dati di simulazione effettivi piuttosto che derivati analitici.
- Il sistema contiene componenti che non supportano la linearizzazione analitica
- Si desidera convalidare una linearizzazione contro i risultati della simulazione
- Il sistema comprende elementi stocastici o rumore di misura
- Hai bisogno di dati di risposta in frequenza a frequenze specifiche
Il rapporto tra l'ingresso x e l'output y è modellato dalla funzione di trasferimento lineare e invariante Txy, e la funzione di trasferimento è il rapporto della densità spettrale di potenza trasversale di x e y, Pyx, alla densità spettrale di potenza di x, Pxx. Questo approccio di frequenza-domain fornisce stime robuste anche in presenza di rumore e disturbi.
Flusso di lavoro di simulazione e analisi
Una volta implementata o estratta una funzione di trasferimento, il passo successivo consiste nella simulazione e nell'analisi per comprendere il comportamento del sistema e convalidare le prestazioni contro i requisiti.
Configurazione dei parametri di simulazione
Nella finestra del modello, selezionare Parametri di configurazione del modello dal menu di simulazione, e ci sono molte opzioni di parametri di simulazione, tra cui tempi di avvio e di arresto, che dicono Simulink durante il periodo di tempo per eseguire la simulazione.
I parametri di simulazione chiave da considerare includono:
- Solver Tipo:[] I risolutori a passo variabile regolano automaticamente i passi di tempo per l'accuratezza, mentre i risolutori a passo fisso mantengono intervalli costanti adatti per applicazioni in tempo reale
- Tolleranza Rilativa:[] Controlla l'errore accettabile nei calcoli di stato, con valori più piccoli aumentando l'accuratezza ma rallentando la simulazione
- Tolleranza assoluta:[ Imposta la soglia sottostante cui i valori di stato sono considerati trascurabili
- Maximum Step Size:[ Limita la crescita dei passi di tempo, impedendo al risolutore di mancare dinamiche veloci
I risolutori a passo variabile utilizzano tolleranze assolute e relative quando si sceglie la dimensione del passaggio per determinare se l'errore nei calcoli di stato è accettabile, e per ereditare la tolleranza assoluta dal parametro di configurazione della tolleranza assoluta, specificare questo valore di parametro come auto o -1.
Visualizzazione dei risultati con Scopes
Il più complicato di questi tre blocchi è il blocco Scope, e il doppio clic su questo porta uno schermo oscilloscopio vuoto, e quando viene eseguita una simulazione, il segnale che si alimenta nell'ambito verrà visualizzato in questa finestra.
Le versioni moderne di Simulink offrono funzionalità di portata migliorata, tra cui:
- Canali di ingresso multipli con scala indipendente
- Misurazioni del Cursore per una lettura precisa del valore
- Statistiche dei segnali (mean, RMS, valori di picco)
- Registrazione dei dati nello spazio di lavoro o nel file
- Condizioni di trigger per catturare eventi specifici
- Analisi FFT per l'esame dei contenuti di frequenza
Esportazione di dati in MATLAB
Per un'analisi dettagliata oltre a ciò che gli strumenti integrati di Simulink forniscono, esportano i dati di simulazione nello spazio di lavoro MATLAB. Utilizzare i blocchi per catturare segnali di interesse, o configurare gli ambiti per registrare automaticamente i dati. Una volta in MATLAB, è possibile applicare l'intera gamma di funzioni Control System Toolbox per l'analisi.
Le attività comuni di post-elaborazione includono:
- Metriche di performance di calcolo (tempo di avvio, tempo di impostazione, overshoot, errore di stato costante)
- Generando trame di qualità della pubblicazione con formattazione personalizzata
- Comparazione di più operazioni di simulazione o variazioni di parametro
- Analisi statistica dei risultati della simulazione di Monte Carlo
- Fissare i modelli di funzione di trasferimento ai dati di simulazione
Applicazioni pratiche ed esempi
Comprendere il calcolo delle funzioni di trasferimento in Simulink diventa più concreto attraverso esempi pratici che dimostrano applicazioni comuni nell'ingegneria dei sistemi di controllo.
Progettazione e analisi del controller
La funzione di trasferimento dei controller viene implementata utilizzando il blocco funzione di trasferimento, che è quello che utilizziamo per rappresentare il motore e l'attuatore, e possiamo vedere che il modello è in grado di seguire gli input passo con qualche errore di overshoot e zero stazionario.
Un flusso di lavoro tipico del controller design coinvolge:
- Modellazione dell'impianto (sistema da controllare) come funzione di trasferimento
- Specificare i requisiti di prestazione (larghezza di banda, margine di fase, rifiuto di disturbo)
- Progettazione di una funzione di trasferimento del controller per soddisfare queste esigenze
- Implementare il sistema a ciclo chiuso a Simulink
- Simulazione con vari ingressi e disturbi
- Iterating il design basato sui risultati della simulazione
La toolbox Simulink Control Design offre la funzionalità per estrarre un modello da Simulink nello spazio di lavoro MATLAB, particolarmente utile per modelli di simulazione complicati o non lineari, ed è anche utile per generare modelli discreti-time (sampled).
Identificazione del sistema
Quando si hanno dati sperimentali o risultati di simulazione, ma non conoscono la funzione di trasferimento sottostante, le tecniche di identificazione del sistema possono stimare un modello di funzione di trasferimento che corrisponde al comportamento osservato.
- Raccogliere dati di input-output dal sistema
- Scegliere una struttura modello appropriata (ordine, ritardi)
- Estimando i parametri che minimizzano l'errore di previsione
- Convalida del modello contro i set di dati indipendenti
Il blocco di Estrattore Funzione di Trasferimento Discreto di Simulink automatizza gran parte di questo processo per l'identificazione di frequenza-dominio, mentre il Toolbox di Identificazione di Sistema fornisce funzionalità complete per la stima dei parametri di time-domain e di frequenza-domain.
Modellazione di sistema multi-dominio
Le funzioni di trasferimento eccelleno nella rappresentazione di sistemi di vari domini ingegneristici, meccanici, elettrici, termici, idraulici, utilizzando un quadro matematico unificato.
Ad esempio, un sistema di attuatori elettromeccanici potrebbe includere:
- Funzione di trasferimento elettrico relativa alla tensione alla corrente
- Funzione di trasferimento elettromeccanico relativa alla corrente di coppia
- Funzione di trasferimento meccanico relativa alla coppia di posizione
- Funzione di trasferimento del sensore relativa posizione al segnale di misura
Collegando questi blocchi funzione di trasferimento in configurazioni di serie e feedback, si crea un modello di sistema completo che cattura le dinamiche essenziali rimanendo efficiente computazionalmente.
Risoluzione dei problemi Problemi comuni
Working with transfer functions in Simulink occasionally presents challenges. Understanding common issues and their solutions w