Sei sulla pagina 1di 4

Sinusoidal fitting a 3 e 4 parametri

La procedura sperimentale per caratterizzare dal punto di vista dinamico un ADC richiede di
collezionare dei campioni quando l’ingresso è stabile, calibrato e sinusoidale. Si applica il segnale
tramite una sorgente che offre una determinata precisione e si digitalizza il segnale campionandolo
in maniera uniforme con passo di campionamento Ts.

I campioni raccolti sono descritti dal modello

𝑦" = 𝐴& cos(𝑤& 𝑘) + 𝐵& 𝑠𝑒𝑛(𝑤& 𝑘) + 𝐶& + 𝜀" (1)

dove M indica il numero di campioni raccolti, 𝜀" lo scarto per ogni campione legato al rumore di
quantizzazione e all’eventuale distorsione introdotta dal convertitore e 𝑤& indica la pulsazione
angolare normalizzata.
Stabilito il modello del segnale, le raccomandazioni IEEE suggeriscono di valutare un parametro
denominato valore efficace del rumore totale:
<
𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒 = = ∑= ?
"@< 𝜀" (2)

Per ogni campione acquisito è possibile scrivere:

𝑦< = 𝐴& cos(𝑤& 1) + 𝐵& 𝑠𝑒𝑛(𝑤& 1) + 𝐶& + 𝜀<


A ⋮ (3)
𝑦= = 𝐴& cos 𝑤& 𝑀 + 𝐵& 𝑠𝑒𝑛(𝑤& 𝑀) + 𝐶& + 𝜀=
( )

in questo modo si ottengono M equazioni che formano un sistema che, con notazione matriciale, si
può rappresentare nella forma

𝑦 = FFF
𝐷& 𝑥̅ + 𝜀̅ (4)

dove si distinguono:
𝑦<
vettore colonna dei dati collezionati 𝑦
𝑦 = I …K
𝑦=
𝐴&
vettore dei parametri del modello da identificare 𝑥 = I𝐵& K
𝐶&
𝜀<
scarti rispetto a quanto previsto dal modello 𝜀 = I 𝜀… K
𝜀=
cos(𝑤& 1) 𝑠𝑒𝑛(𝑤& 1) 1
matrice dei coefficienti del modello FFF
𝐷& = I … … 1K
cos(𝑤& 𝑀) 𝑠𝑒𝑛(𝑤& 𝑀) 1

Il sistema è costituito da M equazioni in tre incognite, che corrispondono ai parametri del modello,
lineare in 𝐴& , 𝐵& , 𝐶& .
Se si trascurasse momentaneamente lo scarto 𝜀̅ e si ponesse l’attenzione sul sistema risultate
sostituendo ad 𝜀̅ il vettore nullo, si avrebbe un sistema sovra-dimensionato, caratterizzato da M
equazioni in 3 incognite, che non ammette soluzione in senso classico. Tuttavia è possibile risolvere
il sistema per ottenere una soluzione approssimata con il metodo della pseudo-inversa.
Il metodo della pseudo-inversa determina i valori dei parametri in modo che risolvano
approssimativamente le equazioni a meno di uno scarto che sia il più piccolo possibile rispetto ad
una certa metrica. Avendo a disposizione i dati raccolti e i coefficienti della matrice D, una stima del
vettore dei parametri 𝑥̅ si ottiene come

M M
FFF& FFFFF
𝑥̅ = (𝐷 FFF& ∙ 𝑦P)
∙ 𝐷& )O< (𝐷 (4)

A questo punto è possibile determinare gli scarti:

𝜀̅ = 𝑦 − FFF
𝐷& 𝑥̅ (5)

utilizzando la stima che si è ottenuta con il metodo della pseudo-inversa. La risoluzione col metodo
della pseudo-inversa gode della proprietà di minimizzare al variare dei parametri 𝐴& , 𝐵& , 𝐶& , la
metrica definita dalla somma dei quadrati degli scarti1:

𝑚𝑖𝑛RS,TS,US {𝜀 M ∙ 𝜀 } (6)

Per tale metrica, o funzione costo, vale l’espressione analitica:

M M M
𝜀 M ∙ 𝜀 = X𝑦 − FFF
𝐷& 𝑥̅ Y X𝑦 − FFF
𝐷& 𝑥̅ Y = Z𝑦 − 𝑥̅ M ∙ FFF
𝐷& [ X𝑦 − FFF
𝐷& 𝑥̅ Y =
M M M M
= 𝑦 ∙ 𝑦 − 𝑥̅ M ∙ FFF
𝐷& ∙ 𝑦 + 𝑥 M ∙ FFF
𝐷& 𝐷FFF& ∙ 𝑥̅ − 𝑦 ∙ FFF
𝐷& ∙ 𝑥̅ =
M M M
= 𝑦 ∙ 𝑦 − 2𝑥̅ M ∙ FFF
𝐷& ∙ 𝑦 + 𝑥̅ M ∙ FFF𝐷& FFF𝐷& ∙ 𝑥̅ (7)

M M
FFF& ∙ 𝑦 restituisce lo stesso scalare del prodotto 𝑦M ∙ FFF
dove si è tenuto conto che 𝑥̅ M ∙ 𝐷 𝐷& ∙ 𝑥̅ . Per
M
minimizzare 𝜀 ∙ 𝜀 si impongono le condizioni che servono ad identificare i suoi punti di
stazionarietà, ponendo le derivate parziali rispetto ai parametri uguali a zero:

𝜕RS {𝜀 M ∙ 𝜀 } = 0
]𝜕TS {𝜀 M ∙ 𝜀 } = 0 (8)
𝜕US {𝜀 M ∙ 𝜀 } = 0

Tali condizioni si traducono in un sistema lineare di 3 equazioni in 3 incognite che individuano un


unico punto di stazionarietà. Il punto di stazionarietà sarà senza ambiguità un punto di minimo,
perché la funzione è definita positiva, quindi limitata inferiormente, e non ammette estremo
superiore, come è facilmente dimostrabile pensando di far tendere il parametro C0 all’infinito. Prima
di continuare è necessario introdurre alcune notazioni, utili a semplificare i passaggi analitici. Si pone
in particolare:

1 0 0
𝜕RS 𝑥̅ = I0K = 𝛿a< 𝜕TS 𝑥̅ = I1K = PPP
𝛿? 𝜕US 𝑥̅ = I0K = PPP
𝛿b
0 0 1

1
la somma dei quadrati degli scarti è possibile rappresentarla in termini di prodotto scalare; 𝜀 M ∙ 𝜀 = 𝜀<? + 𝜀?? + ⋯ + 𝜀=
?
Si osservi che si può costruire con questi tre vettori colonna una matrice identità: ( 𝛿< 𝛿? 𝛿b ) = 𝐼.
Sviluppando le equazioni si ottiene il sistema

M M
𝐷& ∙ 𝑦P + 2𝛿a< ∙ FFF
⎧𝜕RS {𝜀 M ∙ 𝜀 } = −2𝛿< FFF 𝐷& FFFFF
∙ 𝐷& ∙ 𝑥̅ = 0
⎪ M
𝜕TS {𝜀 M ∙ 𝜀 } = −2𝛿? FFF PPP? M ∙ FFF
𝐷& ∙ 𝑦P + 2𝛿 𝐷& FFFFF
∙ 𝐷& ∙ 𝑥̅ = 0 (9)
⎨ M
⎪𝜕 {𝜀 M ∙ 𝜀 } = −2𝛿 FFF M
PPPb ∙ FFF
𝐷& FFFFF
⎩ US b 𝐷& ∙ 𝑦P + 2𝛿 ∙ 𝐷& ∙ 𝑥̅ = 0

in cui, dividendo per 2 i termini delle equazioni, portando al primo membro tutte le componenti
con l’incognita e al secondo membro i termini noti si ha:

M M
𝛿a< 𝛿a<
M M M M
𝛿? j ∙ FFF
iPPP 𝐷& FFFFF 𝛿? j ∙ FFF
∙ 𝐷& ∙ 𝑥̅ = iPPP 𝐷& ∙ 𝑦P (10)
M M
PPP
𝛿b PPP
𝛿b

la cui soluzione è data da:


M M
FFF& FFFFF
𝑥̅ = (𝐷 FFF& ∙ 𝑦P)
∙ 𝐷& )O< (𝐷 (11)

Trovato il vettore degli scarti 𝜀̅, si può determinare il SINAD del convertitore reale, inferiore al SINAD
teorico.
𝑉qr
t
2√2
𝑆𝐼𝑁𝐴𝐷mT@ = 20 log<&
𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒

𝑉qr 𝑉qr
t √12 3 t
2√2 √12
20 log<& = 20 log<& u + 20 log<&
𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒 √12 2 𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒

La stima del total noise consente anche la determinazione del numero di bit effettivi (ENOB), che
esprime in modo alternativo quanto è degradata la prestazione di un convertitore. Il parametro
ENOB può non essere un numero intero perchè non ha il significato fisico di numero di bit ma è una
metrica che serve a capire quanto il convertitore reale, nelle prestazioni, si allontana da quello
ideale.
𝑉qr 𝑄2z 𝑖𝑑𝑒𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒 2z
𝐸𝑁𝑂𝐵 = log ? = log ? = log?
𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒 √12 𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒 √12 𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒
𝑡𝑜𝑡𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒
= N − log ?
𝑖𝑑𝑒𝑎𝑙 𝑟𝑚𝑠 𝑛𝑜𝑖𝑠𝑒

Nel caso in cui non si conosce con accuratezza la frequenza normalizzata, allora il modello
considerato non è più lineare data la sua dipendenza non lineare dal parametro 𝑤& :

𝑦" = 𝑓(𝐴& , 𝐵& , 𝐶& , 𝑤& ) = 𝐴& cos(𝑤& 𝑘) + 𝐵& 𝑠𝑒𝑛(𝑤& 𝑘) + 𝐶& + 𝜀" (12)

e va affrontato considerando il metodo del sin-fit a quattro parametri, che consiste in una procedura
iterativa, che rappresenta una variante del metodo di Newton-Raphson per la risoluzione di
problemi non lineari.
Il metodo considera una stima iniziale del parametro 𝑤& anche se caratterizzata da scarsa
accuratezza ed utilizza il metodo del sinusoidal fitting a 3 parametri per ottenere una stima iniziale
dei parametri 𝐴& , 𝐵& , 𝐶& . Successivamente linearizza il modello nell’intorno del punto individuato
dalla stima iniziale, ovvero del punto di coordinate (𝐴& , 𝐵& , 𝐶& , 𝑤& ) e considera un nuovo problema
lineare nei parametri 𝐴< , 𝐵< , 𝐶< , ∆𝑤< , dove i primi 3 rappresentano stime aggiornate dei parametri
tipici di un modello a 3 parametri ed il quarto un termine di correzione da apportare alla pulsazione
angolare normalizzata per migliorare il fitting dei dati:

𝑦" = 𝐴< cos(𝑤& 𝑘) + 𝐵< 𝑠𝑒𝑛(𝑤& 𝑘) + 𝐶< + (−𝐴& 𝑘 cos(𝑤& 𝑘) + 𝐵& 𝑘𝑠𝑒𝑛(𝑤& 𝑘))∆𝑤< + 𝜀" (13)

Tale modello consente di scrivere un sistema sovradeterminato, di M equazioni in 4 incognite: 𝑦 =


FFF
𝐷< 𝑥̅< , dove:

𝐴<
cos(𝑤& 1) 𝑠𝑒𝑛(𝑤& 1) 1 (−𝐴& 1 cos(𝑤& 1) − 𝐵& 1𝑠𝑒𝑛(𝑤& 1))
𝐵<
𝑥< = i j; FFF
𝐷< = I … … 1 … K
𝐶<
cos(𝑤& 𝑀) 𝑠𝑒𝑛(𝑤& 𝑀) (
1 (−𝐴& 𝑀 cos 𝑤& 𝑀 ) ( )
− 𝐵& 𝑀𝑠𝑒𝑛 𝑤& 𝑀 )
∆𝑤<

che può essere risolto con il metodo della pseudo-inversa, per determinare i parametri che offrono
la soluzione che minimizza la somma dei quadrati degli scarti.
Quanto discusso finora costituisce la base per mettere in campo una procedura iterativa, che può
essere così descritta:
1. Si considera una stima iniziale della pulsazione angolare normalizzata 𝑤& e si risolve il
problema di regressione lineare a 3 parametri, così da ottenere una stima di 𝐴& , 𝐵& , 𝐶&
,necessaria a determinare la matrice FFF
𝐷< e specificare un nuovo problema di regressione
lineare a 4 parametri.
2. Risolvendo il problema di regressione lineare a 4 parametri si ottiene una nuova stima del
vettore, riferita con un pedice incrementato di un’unita, 𝑥< , che contiene nella sua quarta
componente un termine di correzione ∆𝑤< da apportare alla stima iniziale della pulsazione
angolare per ottenere il valore 𝑤< = 𝑤& + ∆𝑤< .
3. Il problema si riformula e risolve nuovamente definendo una nuova matrice:

cos(𝑤< 1) 𝑠𝑒𝑛(𝑤< 1) 1 −(𝐴< 1 cos(𝑤< 1) − 𝐵< 1𝑠𝑒𝑛(𝑤< 1))


FFF
𝐷? = I … … 1 … K
cos(𝑤< 𝑀) 𝑠𝑒𝑛(𝑤< 𝑀) 1 −(𝐴< 𝑀 cos(𝑤< 𝑀) − 𝐵< 𝑀𝑠𝑒𝑛(𝑤< 𝑀))

che consente di raffinare ulteriormente le stime dei 4 parametri del modello.


4. La procedura si può iterare fino al raggiungimento di condizioni ritenute soddisfacenti per
quanto riguarda la precisione raggiunta. Per esempio il criterio di stop può essere definito
considerando inutile reiterare la procedura se il termine di correzione ∆𝑤• < 10O• cioè al
di sotto della precisione ritenuta adeguata.

Potrebbero piacerti anche