Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Funzione di trasferimento con matlab

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

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

1
voti

[21] Re: Funzione di trasferimento con matlab

Messaggioda Foto UtenteDirtyDeeds » 3 ott 2011, 22:10

parolina ha scritto:Punto 1 ...il punto non l'ho capito!!!


Qui ci va il manuale! Guarda bene anche gli esempi ;-)

Punto 2 ..come spaziarle in modo logaritmico??Ho riletto il post ma.....ignorantissima io!!


Se scrivi

Codice: Seleziona tutto
f = 10:10:50;


Ottieni 5 numeri, tra 10 e 50, tali per cui f_{i+1}-f_i = 10 (per i che va da 1 a 4). I numeri sono quindi equispaziati.

Se scrivi (v. anche logspace)

Codice: Seleziona tutto
f = logspace(log10(10),log10(50),5)


Ottieni di nuovo 5 numeri compresi tra 10 e 50, con la caratteristica, però, che è il rapporto tra due numeri successivi ad essere costante: f_{i+1}/f_i = \sqrt[4]{50/10}.

Ma

\frac{f_{i+1}}{f_i} = C = \text{costante}

implica

\log\frac{f_{i+1}}{f_i} = \log C

ovvero

\log f_{i+1} - \log f_i = \log C

In questo caso è il logaritmo delle frequenze ad essere equispaziato. Immagina di voler fare un grafico con f che va da 10 a 10^7: qual è la soluzione più economica? Senza contare che tenendo conto degli andamenti asintotici dei diagrammi di Bode, spaziare linearmente le frequenze ha poco senso.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[22] Re: Funzione di trasferimento con matlab

Messaggioda Foto Utenteparolina » 3 ott 2011, 23:35

Ok!!!Capito!!
Dunque ricapitolando...nel mio esercizio....(perché alla fine io sto ricavando la funzione di trasferimento di quell'esercizio che ti mandai...Pll ad 1MHz con intervallo di aggancio di 400kHz) posso fare cosi':
Codice: Seleziona tutto
K=127324;
j = sqrt(-1);
f = logspace(log10(1e3),log10(10e6),100);
w = 2*pi*f;
T = K*2*pi*40.528e3./((j*w).^2 + (j*w)*2*pi*40.528e3 + K*2*pi*40.528e3);
loglog(f,abs(T))
xlabel('Hz')


per la fase...utilizzo loglog(f,angle(T)) giusto??
Avatar utente
Foto Utenteparolina
1.543 4 11
Expert EY
Expert EY
 
Messaggi: 404
Iscritto il: 27 giu 2009, 17:18

1
voti

[23] Re: Funzione di trasferimento con matlab

Messaggioda Foto UtenteDirtyDeeds » 3 ott 2011, 23:44

:ok:

In alternativa, se ti piace di più (e parametrizza sempre tutto),

Codice: Seleziona tutto
    K=127324;
    flpf = 40.528e3;
    j = sqrt(-1);
    f = logspace(log10(1e3),log10(10e6),100);
    s = j*2*pi*f;
    T = K*2*pi*flpf./(s.^2 + s*2*pi*flpf + K*2*pi*flpf);
    loglog(f,abs(T))
    xlabel('Hz')
    figure;
    semilogx(f,angle(T))


Nota che per la fase il grafico deve essere semilogaritmico.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[24] Re: Funzione di trasferimento con matlab

Messaggioda Foto Utenteparolina » 3 ott 2011, 23:54

Sei un grandeeeeeeeeeeee...è venuta proprio bellina!!!!! :D :D :D :D
Avatar utente
Foto Utenteparolina
1.543 4 11
Expert EY
Expert EY
 
Messaggi: 404
Iscritto il: 27 giu 2009, 17:18

0
voti

[25] Re: Funzione di trasferimento con matlab

Messaggioda Foto UtenteIsidoroKZ » 4 ott 2011, 7:26

Ma il listato che avevo messo io non funzionava?
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

1
voti

[26] Re: Funzione di trasferimento con matlab

Messaggioda Foto UtenteDirtyDeeds » 4 ott 2011, 9:12

Da quello che ho capito, Foto UtenteIsidoroKZ, il prof. di Foto Utenteparolina non voleva che lei usasse il comando bode. Bah!
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[27] Re: Funzione di trasferimento con matlab

Messaggioda Foto Utenteparolina » 4 ott 2011, 11:27

Mi controllate quest'altra??
Questa è quella del filtro!!
G(s)=\frac{K_{LPF}}{1+\frac{s}{2\pi f_{LPF}}} con Klpf=1 e sempre flpf=40.528kHz
Ho fatto cosi':
Codice: Seleziona tutto
Klpf=1;
    flpf = 40.528e3;
    j = sqrt(-1);
    f = logspace(log10(1e3),log10(10e9),100);
    s = j*2*pi*f;
    T = Klpf./(1+(s./2*pi*flpf));
    loglog(f,abs(T))
    xlabel('Hz')
    figure;
    semilogx(f,angle(T))


forse ho sbaglaito qualcosina perché non viene proprio bene ahahahhaha
Avatar utente
Foto Utenteparolina
1.543 4 11
Expert EY
Expert EY
 
Messaggi: 404
Iscritto il: 27 giu 2009, 17:18

1
voti

[28] Re: Funzione di trasferimento con matlab

Messaggioda Foto UtenteDirtyDeeds » 4 ott 2011, 11:34

Non ha senso fare quel diagramma di Bode fino a 10 GHz :!: :shock: Fermati molto più in basso ;-)
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[29] Re: Funzione di trasferimento con matlab

Messaggioda Foto Utenteparolina » 4 ott 2011, 11:40

Si si infatti era una prova che avevo fatto...quindi aggiustato quel parametro per il resto va bene??
No perché il modulo e la fase andando a compilare non vengono fuori come dovrebbero!!!
Avatar utente
Foto Utenteparolina
1.543 4 11
Expert EY
Expert EY
 
Messaggi: 404
Iscritto il: 27 giu 2009, 17:18

1
voti

[30] Re: Funzione di trasferimento con matlab

Messaggioda Foto UtenteDirtyDeeds » 4 ott 2011, 11:45

Sì.

Nella riga

Codice: Seleziona tutto
T = Klpf./(1+(s./2*pi*flpf));


puoi togliere il punto dopo la s, perché 2*pi*flpf non è un vettore:

Codice: Seleziona tutto
T = Klpf./(1+s/2*pi*flpf);


Poi, tieni conto che tu gli andamenti asintotici dei diagrammi di Bode li conosci, quindi non è difficile capire se nel grafico ci sono errori.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

PrecedenteProssimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti