next up previous
Next: Determinazione della frequenza di Up: Gestione di un oscilloscopio Previous: Acquisizione e grafico dei


Determinazione di ampiezza e fase della risposta del circuito

Il motivo per cui abbiamo fatto in modo che LeggiOnda scrivesse su file i risultati è che vogliamo poi processare ulteriormente questi dati per determinare l'ampiezza e la fase della sinusoide di risposta. Infatti, applicando il metodo delle impedenze complesse, sappiamo che ad una forzante

\begin{displaymath}
V_{\textrm{in}}=V_{0}\sin \omega t
\end{displaymath} (2)

il circuito in figura 1 risponde con un segnale sinusoidale
\begin{displaymath}
V_{\textrm{out}}=A(\omega )V_{0}\sin \left(\omega t+\varphi (\omega )\right)
\end{displaymath} (3)

dove
\begin{displaymath}
\begin{array}{rcl}
A(\omega ) & = & \frac{1}{\sqrt{(1-\omeg...
... (\omega ) & = & -\frac{\omega RC}{1-\omega ^{2}LC}.\end{array}\end{displaymath} (4)

Facciamo a questo punto due brevi osservazioni: non bisogna confondere la pulsazione $\omega $ con la frequenza $f=\omega /2\pi $. Inoltre l'equazione (4) per $\phi (\omega )$ di fatto riduce la fase nell'intervallo $(-\pi /2,\pi /2)$, mentre il suo vero intervallo di validità è su tutto $2\pi $. Quindi utilizzare le relazioni (4) con attenzione, per tenere conto del quadrante esatto in cui si trova $\varphi $. Per fortuna che in C, come in FORTRAN, esiste la funzione atan2(y,x) che resituisce l'angolo polare del punto $\left(x,y\right)$.

Siccome il valore di $V_{\textrm{out}}(t)$ misurato dall'oscilloscopio sarà affetto da errori di misura, possiamo dare la migliore stima di $A$ e $\varphi $ con una minimizzazione di $\chi ^{2}$, ovvero trovando la coppia di parametri che rende minima la somma dei quadrati delle differenze tra le quantità misurate e la funzione attesa, pesando ogni punto con il suo errore:

\begin{displaymath}
\chi ^{2}=\sum _{i}\frac{\left(V_{i}-AV_{0}\sin \left(\omega t_{i}+\varphi \right)\right)^{2}}{\sigma _{V}^{2}}.\end{displaymath}

Scritto in questo modo il $\chi ^{2}$non è lineare nei parametri da determinare, ma può essere linearizzato osservando che l'eq. (3) può anche essere scritta

\begin{displaymath}
V_{\textrm{out}}(t)=V_{0}\left(A\cos \varphi \sin \omega t+A...
...equiv V_{0}\left(a_{1}\sin \omega t+a_{2}\cos \omega t\right).
\end{displaymath} (5)

E quindi il $\chi ^{2}$ si può riscrivere come

\begin{displaymath}
\chi ^{2}=\sum _{i}\frac{\left(V_{i}-V_{0}a_{1}\sin \left(\o...
..._{2}\cos \left(\omega t_{i}\right)\right)^{2}}{\sigma _{V}^{2}}\end{displaymath}

che si può esprimere in forma matriciale come

\begin{displaymath}
\chi ^{2}=(\vec{V}-S\vec{\alpha })^{T}W(\vec{V}-S\vec{\alpha })\end{displaymath}

dove

\begin{displaymath}
\vec{V}=\left(\begin{array}{c}
V_{1}\\
V_{2}\\
\vdots \...
...s \\
\sin \omega t_{N} & \cos \omega t_{N}\end{array}\right),\end{displaymath}


\begin{displaymath}
W=\left(\begin{array}{cccc}
1/\sigma _{V}^{2} & 0 & \cdots ...
...dots \\
0 & 0 & \cdots & 1/\sigma _{V}^{2}\end{array}\right).\end{displaymath}

Si deriva facilmente che il minimo si ha per il vettore di parametri

\begin{displaymath}
\overrightarrow{\alpha }=\left(S^{T}WS\right)^{-1}S^{T}W\overrightarrow{V}\end{displaymath}

L'altra proprietà interessante è che la matrice di covarianza dei parametri è data da:

\begin{displaymath}
C_{a_{1},a_{2}}=\left(\begin{array}{cc}
\sigma _{a_{1}}^{2}...
...\sigma _{a_{2}}^{2}\end{array}\right)=\left(S^{T}WS\right)^{-1}\end{displaymath}

dove $\rho $ è il coefficiente di correlazione tra i parametri $a_{1}$ e $a_{2}$.

Siccome in C non è comodo passare matrici, si consiglia di effettuare direttamente il calcolo del vettore di 2 elementi $S^{T}W\overrightarrow{V}$ e della matrice $S^{T}WS$ che, essendo $2\times 2$, è facilmente invertibile, anziché calcolare separatamente tutte le matrici e fare le moltiplicazioni alla fine.

Una volta ricavati i valori dei parametri, questi si possono convertire nelle quantità fisiche che ci interessanto $A$ e $\varphi $ usando le relazioni

\begin{displaymath}
\begin{array}{rcl}
A & = & \sqrt{a_{1}^{2}+a_{2}^{2}},\\
\varphi & = & \arctan \frac{a_{1}}{a_{2}},\end{array}\end{displaymath}


\begin{displaymath}
C_{A,\varphi }=\left(\begin{array}{cc}
\frac{\partial A}{\p...
...\frac{\partial \varphi }{\partial a_{2}}\end{array}\right)^{T}.\end{displaymath}

Passiamo ora a discutere praticamente come arrivare a queste determinazioni.

Determinare l'errore di misura dell'oscilloscopio confrontando i valori di una funzione d'onda misurata con una funzione d'onda nota (ad esempio, siccome sappiamo esattamente come è fatta la forzante, possiamo usare la lettura del canale 1 per fare questo confronto).

Implementare la minimizzazione di $\chi ^{2}$. Verificare che funzioni con una forma d'onda nota (anche in questo caso si può utilizzare la forzante) e che gli errori calcolati siano ragionevoli. Per farlo si suggerisce di definire una funzione di ROOT che abbia come argomenti il nome di un file da leggere e la frequenza da usare.

In particolare si faccia attenzione alla fase: siccome l'oscilloscopio ha frequenze di campionamento più o meno fisse, il momento del trigger, che corrisponde a $t=0$ usando la (1) in realtà è noto con una precisione non superiore a $1/\sqrt{12}f_{\textrm{sample}}$, dove $f_{\textrm{sample}}$ è la frequenza di campionamento. Dato che si accumulano 2500 punti in 10 divisioni, $f_{\textrm{sample}}$ è uguale a 250 diviso la larghezza di una divisione. Come si traduce questo errore sul tempo del trigger in un errore sulla fase?

Inoltre si ricorda che in (1) $i$ va da 1 a 2500 e non, come sembrerebbe ovvio in C, da 0 a 2499.

Alternativamente alla procedura in due passi con $\chi ^{2}$ lineare descritta in questa sezione, si può implemetare un $\chi ^{2}$ non lineare, seguendo quando descritto nella sezione 6 della simulazione dello spettrometro a prisma[2].

Fare un grafico della sinusoide determinata e sovrapporla alla funzione d'onda misurata dall'oscilloscopio, controllare la qualità della minimizzazione facendo un istogramma delle differenze tra i valori di tensione misurati e quelli della sinusoide ricostruita.


next up previous
Next: Determinazione della frequenza di Up: Gestione di un oscilloscopio Previous: Acquisizione e grafico dei
Attilio Andreazza 2003-05-07