Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Matlab-Simulink

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Matlab-Simulink

Messaggioda Foto Utentedlbp » 16 giu 2012, 16:58

Ciao a tutti. Se definisco una funzione di trasferimento in Matlab (e ce l'ho quindi nel workspace) posso esportarla in qualche modo in Simulink senza bisogno di riscriverla di nuovo? C'è qualche blocchetto che lo fa?
Grazie a tutti
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

1
voti

[2] Re: Matlab-Simulink

Messaggioda Foto Utentedimaios » 16 giu 2012, 17:24

Supponiamo di definire una funzione di trasferimento continua nel workspace di Matlab.

Codice: Seleziona tutto

Gs = tf([1 1],[1 1 1])



Se vogliamo estrarne il numeratore ed il denominatore possiamo impiegare la funzione tfdata.

Codice: Seleziona tutto
[Num,Den] = tfdata( Gs ,'v' )


Num e Den possono essere successivamente impiegati nel blocco Simulink denominato Transfer Fcn.

Una alternativa è quella di esprimere il sistema in variabili di stato tramite il seguente comando.

Codice: Seleziona tutto
[Ac,Bc,Cc,Dc] = tf2ss( Num , Den )


E successivamente utilizzare le quattro matrici inserendole nel blocco Simulink State Space.


Scegli in base all'analisi che devi fare ovvero se il sistema è a priori espresso in forma poli-zeri oppure in variabili di stato.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[3] Re: Matlab-Simulink

Messaggioda Foto Utentedlbp » 16 giu 2012, 17:30

Grazie mille Foto Utentedimaios. Vorrei chiederti un'altra cosa: per digitalizzare in Matlab ho il comando "c2d". Se voglio digitalizzare un sistema in Simulink dovrei mettere un campionatore per ottenere il sistema digitalizzato. Giusto? Ma questo blocchetto esiste? Come si chiama?
Mi risolveresti un grande problema.
Grazie mille
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

1
voti

[4] Re: Matlab-Simulink

Messaggioda Foto Utentedimaios » 16 giu 2012, 17:50

Il blocco Zero-Order Hold potrebbe fare al caso tuo ma stai molto attento.
Infatti la correttezza dei risultati è legata anche al solutore.

Se guardi i Configuration Parameters .... di Simulink vedrai che puoi selezionare algoritmi a passo fisso o variabile discreti o con stati continui ( es. ODE45 ) ( guarda i parametri Solver e Type ).

Il passo di simulazione è fondamentale. Infatti deve essere sempre inferiore a quello di discretizzazione del sistema altrimenti non funziona più nulla.

Fondamentalmente ti consiglio questo.
Se devi simulare un sistema completamente discreto esegui la discretizzazione nel workspace Matlab e simula con Simulink utilizzando solutori discreti.
Se invece il sistema è un mix di funzioni di trasferimento continue e discrete allora utilizza lo Zero-Order Hold impostando correttamente i parametri di simulazione ed il Sample Time del blocco stesso.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[5] Re: Matlab-Simulink

Messaggioda Foto Utentedlbp » 16 giu 2012, 17:55

Foto Utentedimaios ma lo zero-order hold non è un mantenitore? Cioè dovrebbe effettuare la conversione digitale-analogico. A me serve la conversione opposta. Ho una fdt tempo continuo e devo trovare la corrispondente fdt tempo discreto. :D
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

2
voti

[6] Re: Matlab-Simulink

Messaggioda Foto Utentedimaios » 16 giu 2012, 18:23

Infatti. Quando importi un modello discreto l'informazione sul periodo di campionamento è inclusa nella rappresentazione interna per cui il simulatore tratta la funzione di trasferimento in modo coerente.

Se hai un sistema discreto nel workspace e lo importi in Simulink tramite il blocco discrete Transfer Fcn puoi specificare la discretizzazione nella finestra associata al componente.

La conversione dei modelli ( continuo / discreto ) la devi fare nel workspace mentre l'adattamento dei segnali nello schema la puoi fare tramite il blocco zero-order hold se esiste un mix tra continuo e discreto. Attenzione a non confondere le cose.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[7] Re: Matlab-Simulink

Messaggioda Foto Utentedlbp » 16 giu 2012, 18:26

Quindi non posso convertire (da analogico a digitale) direttamente in Simulink? Non c'è modo per farlo?
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

1
voti

[8] Re: Matlab-Simulink

Messaggioda Foto Utentedimaios » 16 giu 2012, 18:31

Non è previsto perché non avrebbe senso.
Simulink nasce come ambiente di simulazione e non come ambiente di sintesi.
E' per questo che devi sintetizzare il controllo nel workspace di Matlab.

Comunque ho riletto il post precedente dove hai scritto :

Se voglio digitalizzare un sistema in Simulink dovrei mettere un campionatore per ottenere il sistema digitalizzato. Giusto?


La risposta è no. La trasformazione di un sistema continuo in uno discreto non è il semplice campionamento dell'ingresso e dell'uscita ma qualcosa di molto più articolato. Ti consiglio di riguardare la teoria.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[9] Re: Matlab-Simulink

Messaggioda Foto Utentedlbp » 16 giu 2012, 18:36

Lo so che non si limita solo ad un campionatore. Ho detto così solo perché il prof. ci avevo disegnato lo schema a blocchi, nel quale per ottenere il sistema digitale ha messo il sistema continuo in ingresso ad un campionatore. Ma il prof. non ci ha detto cosa c'è dietro. Quali sono i concetti che dovrei vedere? Grazie mille
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

1
voti

[10] Re: Matlab-Simulink

Messaggioda Foto Utentedimaios » 16 giu 2012, 18:57

Questo documento è fatto molto bene.
Attento alla definizione di campionamento ideale !
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

Prossimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti