Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

LTspice: si possono normalizzare più step ad 1 kHz?

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] LTspice: si possono normalizzare più step ad 1 kHz?

Messaggioda Foto UtentenikiT » 5 feb 2017, 13:56

Ciao a tutti,
sto usando il metodo Monte Carlo in LTspice per verificare la sensibilità della risposta in frequenza di un filtro dovuta alle tolleranze dei componenti.

Eseguendo l'analisi AC, ottengo una famiglia di curve che rappresentano, ciascuna, una possibile risposta in frequenza del filtro. Ognuna di queste curve ha una diversa sopraelevazione, e alcune non si intersecano mai.

Tuttavia, non sono interessato ad esaminare le variazioni assolute di queste curve, ma vorrei osservare la massima variazione relativa intorno alla frequenza di riferimento (p. es. 1 kHz). Non so se mi esprimo correttamente, ma direi che voglio "normalizzare" ciascuna curva ad 1 kHz. In pratica, questa cosa qui:


Questo mi permetterebbe di osservare la massima variazione relativa intorno ad una frequenza di riferimento.

È possibile ottenere in LTspice questo risultato? Ci sono direttive, generatori o altri escamotage utili a questo scopo?

Grazie! Ciao,
Niki
Avatar utente
Foto UtentenikiT
963 1 4 8
Expert EY
Expert EY
 
Messaggi: 721
Iscritto il: 4 mag 2009, 9:18

2
voti

[2] Re: LTspice: si possono normalizzare più step ad 1 kHz?

Messaggioda Foto UtenteIsidoroKZ » 6 feb 2017, 14:47

La risposta al volo non la so. Posso suggerire di guardare il gruppo yahoo su ltspice: li` ci sono anche i creatori di ltspice che sanno se si puo` fare. La mia impressione e` che non sia banale, perche' ogni simulazione vive di vita a se', non so se con funzioni tipo measure si riesca a fare qualcosa.

Oppure puoi farlo tuo off-line, usando la tecnica illustrata da Foto UtenteFedhman in questo articolo: esporti le forme d'onda in matlab e poi ci fai tutto quello che vuoi.
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
103,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 18361
Iscritto il: 17 ott 2009, 0:00

1
voti

[3] Re: LTspice: si possono normalizzare più step ad 1 kHz?

Messaggioda Foto UtentenikiT » 6 feb 2017, 16:10

Effettivamente il problema non è banale! Sembrerebbe non esserci un modo diretto per farlo.

Ho consultato il gruppo di Yahoo, e mi è stato suggerito di procedere con due simulazioni successive: nella prima si misura l'uscita V_{out} alla frequenza di riferimento, ottenendo una tabella di dati. Nella seconda, questi valori vengono dati in pasto ad un generatore di tensione che genera V_{ref}. Graficando quindi V_{out}/V_{ref} si ottiene la famiglia di curve normalizzate.

Questo si basa sul fatto che, nell'analisi Monte Carlo, LTspice ripete gli step sempre allo stesso modo (e non in maniera casuale). Non lo sapevo!

La procedura dovrebbe essere questa:
  1. si inseriscono le seguenti direttive per misurare l'uscita in forma polare
    Codice: Seleziona tutto
    .OPTIONS meascplxfmt=polar
    .MEAS ref1 FIND V(out) AT 1k
  2. si esegue la prima serie di simulazioni specificando di variare un certo parametro n (che verrà usato dopo)
    Codice: Seleziona tutto
    .step param n 1 10 1
  3. a questo punto, nel file LOG risultante dalla prima simulazione ci saranno i risultati di .MEAS: si copiano e, con un po' di pazienza, si inseriscono in una tabella del tipo:
    Codice: Seleziona tutto
    .param reft=table(n,
    + 1, 0.925061,
    + 2, 0.943657,
    + 3, 0.938987,
    ...
    + 10, 0.9223
    + )
  4. per usare questa tabella, si crea un generatore di tensione indipendente con ampiezza AC pari {reft}, la cui uscita la chiamiamo "ref";
  5. a questo punto, si grafica V(out)/V(ref), che è la risposta in frequenza normalizzata.

Ecco il risultato!

Immagine.png


Chiaramente la tabella tiene conto solo del modulo (e non della fase!). Se si vuole normalizzare pure quella, è necessario aggiungere una tabella.

Logicamente è una procedura un po' noiosa, perché ogni volta che si cambia qualcosa nel circuito, bisogna aggiornare la tabella. Per automatizzare il procedimento, mi hanno suggerito di creare uno script esterno per creare un txt contenente la tabella (da includere con la direttiva .include) partendo dal file LOG. Questo eviterebbe di dover aggiustare manualmente i dati ogni volta, ma non ho idea di come farlo!

Ciao,
Niki
Avatar utente
Foto UtentenikiT
963 1 4 8
Expert EY
Expert EY
 
Messaggi: 721
Iscritto il: 4 mag 2009, 9:18


Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti