Algoritmi online per la caratterizzazione di sistemi elettrici

Salve a tutti, conoscete un algoritmo semplice mediante cui è possibile caratterizzare "al volo" un circuito elettrico? Mi spiego meglio: supponiamo di aver un circuito RC a cui è applicato un generatore sinusoidale. Misurando la corrente che circola nella maglia e la tensione ai capi del generatore è possibile stimare i valori di RC scrivendo l'equazione alle differenze finite nella maglia ed applicando i minimi quadrati alla collezione dei dati acquisiti (risolvendo cioè il sistema di equazioni sovradeterminato). Ciò presuppone di raccogliere un certo numero di campioni e quindi elaborare i risultati ottenuti, ma se volessi operare online, cioè determinare R,C durante la misura ed aggiornare i risultati ottenuti periodicamente, così da valutare anche se avvengono variazioni nei valori di R e C? Ho sentito parlare di filtro di Kalman e metodo di forgetting-factor, qualcuno ha qualche esempio pratico che può essere applicato ad un problema di questo tipo?

Grazie in anticipo. Fabio.

Reply to
Fabio
Loading thread data ...

Per circuito RC intendi un passa-basso (resistenza "serie", condensatore in parallelo all'uscita)?

Secondo me te la puoi cavare anche senza differenze finite. Sai che Vo/Vi= 1/(1+jwRC) e I/Vi=jwC/(1+jwRC) Puoi fare il tuo fitting con una sinusoide o anche andare a guardare l'ampiezza del relativo campione della FFT...

Mah, io non sono controllista, quindi Kalman lo snobbo un po', o magari faccio le stesse cose chiamandole in un altro modo :-) Io userei un filtro adattativo che descrive (parametrizzato in) il tuo RC. Puoi ricavartelo con le tue differenze finite o con una trasformazione bilineare. Una volta che hai i due filtri (corrente e tensione), confronti la loro uscita con quella misurata e minimizzi questo errore (l'errore al quadrato è equivalente ai tuoi minimi quadrati). Per trovare il minimo di solito lo si fa iterativamente, usando il metodo "steepest descent", dove in pratica ti calcoli la derivata dell'errore al quadrato rispetto ad R e C e con quella, moltiplicata per un certo fattore (scelto a culo, ma piccolo) aggiorni R e C del tuo modello, quindi ripeti il tutto.

Io farei così, ma non è detto che sia la strada più semplice, sentiamo cosa dicono gli altri

Ciao

P.

Reply to
Pasu

Se te la cavi con l'inglese ti consiglierei di postare su comp.dsp. Lì c'è della gente in gamba e se esponi bene il tuo problema sapranno senzaltro aiutarti.

Reply to
Pasu

Ti ho scritto in privato, ma penso che l'email non ti è arrivata (anche se ho tolto il "rimuovi")...

"Pasu" ha scritto nel messaggio news:gqd0c4$uoq$ snipped-for-privacy@aioe.org...

Reply to
Fabio

È una casella fuffa che non guardo mai. Ora l'ho svuotata, se vuoi puoi riprovare. Ma preferirei che postassi qui, preferibilmente dopo il testo che quoti ;-)

Ciao

Pasu

Reply to
Pasu

Non era niente di losco ... :-) Volevo semplicemente spiegarti a che serve il sistema che sto mettendo a punto; si tratta di una ricerca universitaria per una terapia innovativa della fibrosi cistica. Ogni aiuto è ben accetto ma non ci sono retribuzioni (anzi io finora ci ho rimesso parecchio). Sono sicuro che si potrebbero applicare alcuni algoritmi a cui accenni, ma ho bisogno di una mano.

Fabio.

"Pasu" ha scritto nel messaggio news:gqfvsg$>> Ti ho scritto in privato, ma penso che l'email non ti è arrivata (anche

Reply to
Fabio

Non intendevo questo :-p Solo che se è qualcosa che può interessare qualcun altro/raccogliere altri pareri è meglio qui.

L'avevo immaginato, almeno fino a "universitaria". Visto il trasduttore di cui hai parlato avevo intuito fosse qualcosa nel campo della medicina.

Ti aiuto volentieri, se non mi chiedi di fare il lavoro al posto tuo :-) L'unico problema per me sarà trovare il tempo. Però potrei trovarci il mio tornaconto, se si scopre un'altra applicazione al "coso" su cui sto lavorando per il mio dottorato. Sulle retribuzioni, tranquillo, non ci contavo.

Niente finanziamenti eh? :-(

Io non ne sono sicuro, ma vale la pena di provare.

Scrivimi che ti mando un indirizzo un po' più "valido".

Ciao

Pasu

Reply to
Pasu

Fabio:

Beh, in effetti nelle mail questo tipo di quoting è tollerabile...

Reply to
F. Bertolazzi

=E8

dati

Per sistemi del primo e del secondo ordine, in laboratorio, ho spesso trovato pi=F9 comodo effettuare misure nel dominio del tempo pi=F9 che in frequenza (diagrammi di Bode). Si tratta di un filtro passa basso RC? Mi pare ben pi=F9 semplice misurare la risposta ad un gradino, se il sistema lo permette, ovvero se =E8 effettivamente approssimabile con una funzione di trasferimento del primo ordine. Una misura grossolana la si ottiene al volo misurando il tempo di salita o di discesa (a seconda del gradino) al 63% =3D (1 - (1 / e)) della risposta al gradino, che =E8, con una certa approssimazione, pari alla costante di tempo RC. Per farlo di continuo, basta utilizzare un'onda quadra di frequenza relativamente bassa di fronte al tempo di risposta del sistema. Un'altra possibilit=E0, valida solo per un sistema del primo ordine, =E8 misurare invece il tempo di risposta al 95% e poi dividerlo per 3, per ottenere sempre la costante RC. Se si vuole ottenere il valore di R e di C, basta ripetere due volte la misura con due valori noti dell'impedenza del generatore. Supponendo per semplicit=E0 che quest'ultima sia reale, conoscendo le due costanti di tempo misurate nelle due condizioni, si risale immediatamente al valore di R e di C risolvendo un semplice sistemino. Se si vuole fare di pi=F9 i raffinati, si pu=F2 tranquillamente campionare e poi fare un fit con un'esponenziale, ma il metodo che ho fornito pu=F2 essere alla portata di un oscilloscopio a campionamento. Un'altro metodo radicalmente diverso potrebbe essere iniettare un rumore bianco nel sistema e tracciare l'intercorrelazione (calcolo alla portata di un DSP) tra l'eccitazione e la risposta. Se i miei ricordi non sono svaniti del tutto, il risultato dovrebbe essere la risposta all'impulso del sistema, da cui si potr=E0 facilmente ricavare la costante di tempo RC.

Reply to
Darwin

Non è così semplice, il segnale del generatore è dato, non è un semplice gradino ma una sorta di onda quadra modulata in ampiezza. Bisogna effettuare la caratterizzazione di un sistema esistente e l'ingresso non può essere modificato, posso solo misurare tensione del generatore e corrente nella maglia e devo determinare R,C.

Fabio.

"Darwin" ha scritto nel messaggio news: snipped-for-privacy@s20g2000yqh.googlegroups.com... On 25 Mar, 11:09, Pasu wrote:

Per sistemi del primo e del secondo ordine, in laboratorio, ho spesso trovato più comodo effettuare misure nel dominio del tempo più che in frequenza (diagrammi di Bode). Si tratta di un filtro passa basso RC? Mi pare ben più semplice misurare la risposta ad un gradino, se il sistema lo permette, ovvero se è effettivamente approssimabile con una funzione di trasferimento del primo ordine. Una misura grossolana la si ottiene al volo misurando il tempo di salita o di discesa (a seconda del gradino) al 63% = (1 - (1 / e)) della risposta al gradino, che è, con una certa approssimazione, pari alla costante di tempo RC. Per farlo di continuo, basta utilizzare un'onda quadra di frequenza relativamente bassa di fronte al tempo di risposta del sistema. Un'altra possibilità, valida solo per un sistema del primo ordine, è misurare invece il tempo di risposta al 95% e poi dividerlo per 3, per ottenere sempre la costante RC. Se si vuole ottenere il valore di R e di C, basta ripetere due volte la misura con due valori noti dell'impedenza del generatore. Supponendo per semplicità che quest'ultima sia reale, conoscendo le due costanti di tempo misurate nelle due condizioni, si risale immediatamente al valore di R e di C risolvendo un semplice sistemino. Se si vuole fare di più i raffinati, si può tranquillamente campionare e poi fare un fit con un'esponenziale, ma il metodo che ho fornito può essere alla portata di un oscilloscopio a campionamento. Un'altro metodo radicalmente diverso potrebbe essere iniettare un rumore bianco nel sistema e tracciare l'intercorrelazione (calcolo alla portata di un DSP) tra l'eccitazione e la risposta. Se i miei ricordi non sono svaniti del tutto, il risultato dovrebbe essere la risposta all'impulso del sistema, da cui si potrà facilmente ricavare la costante di tempo RC.

Reply to
Fabio

emplice

are

e

Se =E8 un'onda quadra, la misura della costante di tempo la puoi ancora fare, basta conoscere il segnale all'ingresso. In caso contrario, forse le tecniche di intercorrelazione possono essere utili, io ci rifletterei un po'. La costante di tempo cambia in fretta? Oppure =E8 abbastanza costante? Di che frequenze stiamo parlando?

Reply to
Darwin

Questa è una possibile forma d'onda di tensione/corrente:

formatting link

Fabio.

"Darw> Non è così semplice, il segnale del generatore è dato, non è un semplice

Se è un'onda quadra, la misura della costante di tempo la puoi ancora fare, basta conoscere il segnale all'ingresso. In caso contrario, forse le tecniche di intercorrelazione possono essere utili, io ci rifletterei un po'. La costante di tempo cambia in fretta? Oppure è abbastanza costante? Di che frequenze stiamo parlando?

Reply to
Fabio

come le hai ottenute la misure? Da che cosa è dovuto quel rumore impulsivo? Sono due misure o hai ottenuto l'una dall'altra numericamente?

Se hai modo di passarmi quelle misure le faccio girare sul mio "biroccio", così ti dico i valori che riesco a stimare.

P.

Reply to
Pasu

Hai notato che schianti (clippi) verso il basso sul flusso? Ci descrivi l'esperimento? Come le hai ottenute le misure? Strumentazione? Cos'è quel maledetto rumorino (ho controllato, è anche bello smarmellato in frequenza, non è quindi un "clock")? Perchè hai ancora segnale tra un treno e l'altro? Sono riflessioni?

P.

Reply to
Pasu

Provo a quotare, anche se uso outlook express.

"Pasu" ha scritto nel messaggio news:gqillp$1kt$ snipped-for-privacy@aioe.org...

Sto monitorando il funzionamento di un ventilatore percussivo. Misuro il flusso e la pressione all'uscita del ventilatore. La pressione è misurata direttamente da un primo trasduttore. Il flusso è misurato tramite uno pneumotacografo Fleish che converte flusso in pressione e quindi mediante un secondo trasduttore di pressione ma molto più sensibile del primo. Penso che si generino turbolenze.

Il rumorino dovrebbe essere dovuto al nebulizzatore, anche se questo è disattivato (se lo attivo il rumore "esplode"). Il segnale fra un treno e l'altro è generato dal ventilatore ed è normale (se ti riferisci a quelle pseudosinusoidi).

Fabio.

Reply to
Fabio

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.