Skip to content

Qual è esattamente il ruolo dello zero-order hold in un sistema ibrido analogico/digitale di dati campionati?

Dopo molte battaglie abbiamo trovato la soluzione a questo ostacolo che molti lettori di questo sito hanno incontrato. Se hai qualche informazione da contribuire, non esitare a condividere le tue conoscenze.

Soluzione:

Impostazione

Consideriamo un sistema con un segnale di ingresso $x(t)$, e per chiarezza ci riferiamo ai valori di $x(t)$ come tensioni, dove necessario. Il nostro periodo di campionamento è $T$ e la corrispondente frequenza di campionamento è $f_s triangleq 1/T$.

Per la trasformata di Fourier, scegliamo le convenzioni
$$
X(i 2 pi f) = mathcal{F}(x(t)) triangleq int_{-infty}^infty x(t) e^{-i 2 pi f t} mathrm{d}t,
$$
che dà la trasformata di Fourier inversa
$$
x(t) = mathcal{F}^{-1}(X(i 2 pi f)) mathcal{F}^{-1}(X(i 2 pi f)) mathcal{F}^{-1}(X(i 2 pi f) mathcal{F}^{-1}(X(i 2 pi f) mathrical{F}^{-1} mathrm{d}f.
$$
Si noti che con queste convenzioni, ´X´ è una funzione della variabile di Laplace ´s = i ´omega = i 2 pi f´$.

Campionamento e ricostruzione ideali

Partiamo dal campionamento ideale: secondo il teorema di campionamento di Nyquist-Shannon, dato un segnale $x(t)$ che è limitato in banda a $f < frac{1}{2} f_s$, cioè
$$
X(i 2 pi f) = 0,qquad mathrm{quando }, |f| geq frac{1}{2}f_s,
$$
allora il segnale originale può essere perfettamente ricostruito a partire dal segnale campioni $x[n] ´triangoloq x(n T)´$, dove ´n´ in ´mathbb{Z}´. In altre parole, data la condizione sull'ampiezza di banda del segnale (detta criterio di Nyquist), è sufficiente conoscere i suoi valori istantanei in punti discreti equidistanti nel tempo.

Il teorema del campionamento fornisce anche un metodo esplicito per effettuare la ricostruzione. Giustifichiamo questo metodo in un modo che ci sarà utile in seguito: stimiamo la trasformata di Fourier $X(i 2 pi f)$ di un segnale $x(t)$ mediante la sua somma di Riemann con passo $T$:
$$
X(i 2 pi f) sim sum_{n = -infty}^infty x(n Delta t)e^{-i 2 pi f n Delta t} Delta t,
$$
dove $Delta t = T$. Riscriviamo questo dato come un integrale, per quantificare l'errore che stiamo commettendo:
$$
begin{align}
sum_{n = -infty}^infty x(n T)e^{-i 2 pi f n T}T &= int_{-infty}^infty sum_{n = -infty}^infty x(t)e^{-i 2 pi f t}T delta(t - n T)mathrm{d}t
&= X(i 2 pi f) * mathcal{F}(T sum_{n = -infty}^infty delta(t - nT))
&= sum_{k = -infty}^infty X(f - k/T),
tag{1}
label{discreteft}
fine{align}
$$
dove abbiamo usato il teorema di convoluzione sul prodotto di x(t)$ e la funzione funzione di campionamento $sum_{n = -infty}^infty T delta(t - n T)$, il fatto che la trasformata di Fourier della funzione di campionamento è $sum_{n = -infty}^infty delta(f - k/T)$, e abbiamo eseguito l'integrale sulle funzioni delta.

Si noti che il lato sinistro è esattamente $T X_{1/T}(i 2 pi f T)$, dove $ X_{1/T}(i 2 pi f T)$ è la trasformata di Fourier in tempo discreto del corrispondente segnale campionato $x[n] triangleq x(n T)$, con $f T$ la frequenza temporale discreta adimensionale.

Qui vediamo la ragione essenziale del criterio di Nyquist: è esattamente ciò che è necessario per garantire che i termini della somma non si sovrappongano. Con il criterio di Nyquist, la somma di cui sopra si riduce all'estensione periodica dello spettro dall'intervallo $[-f_s/2, f_s/2]$ all'intera linea reale.

Poiché la DTFT in eqref{discreteft} ha la stessa trasformata di Fourier nell'intervallo $[-f_s/2, f_s/2]$ del nostro segnale originale, possiamo semplicemente moltiplicarlo per la funzione rettangolare $mathrm{rect}(f/f_s)$ e ottenere di nuovo il segnale originale. Tramite il teorema della convoluzione, questo equivale a convolvere il pettine di Dirac con la trasformata di Fourier della funzione rettangolare, che nella nostra convenzione è
$$
mathcal{F}(mathrm{rect}(f/f_s)) = 1/ T mathrm{sinc}(t/T),
$$
dove la funzione sincrona normalizzata è
$$
mathrm{sinc}(x) triangleq frac{sin(pi x)}{pi x}.
$$
La convoluzione sostituisce quindi semplicemente ogni delta di Dirac nel pettine di Dirac con una funzione sinc traslata sulla posizione del delta, ottenendo così
$$
x(t) = sum_{n = -infty}^infty x[n] mathrm{sinc}(t/T - n).
tag{2}
label{sumofsinc}
$$
Questa è la formula di interpolazione di Whittaker-Shannon.

Campionamento non ideale

Per tradurre la teoria di cui sopra nel mondo reale, la parte più difficile è garantire il limite di banda, che deve essere fatto prima del campionamento. Ai fini di questa risposta, assumiamo che ciò sia stato fatto. Il compito rimanente è quindi quello di campionare i valori istantanei del segnale. Poiché un ADC reale avrà bisogno di un tempo finito per formare l'approssimazione al campione, l'implementazione abituale memorizza il valore del segnale in un circuito di sample-and-hold, da cui viene formata l'approssimazione digitale.

Anche se assomiglia molto a uno zero-order-hold, si tratta di un processo distinto: il valore ottenuto dal sample-and-hold è infatti esattamente il valore istantaneo del segnale, con l'approssimazione che il segnale rimanga costante per il tempo necessario a caricare il condensatore che contiene il valore del campione. Questo è di solito ben ottenuto dai sistemi del mondo reale.

Pertanto, possiamo dire che un ADC del mondo reale, ignorando il problema del limite di banda, è un'ottima approssimazione al caso di campionamento ideale, e in particolare la "scala" derivante dal sample-and-hold non causa alcun errore nel campionamento di per sé.

Ricostruzione non ideale

Per la ricostruzione, l'obiettivo è trovare un circuito elettronico che realizzi la somma di sinc che appare in $eqref{sumofsinc}$. Poiché il sinc ha un'estensione infinita nel tempo, è chiaro che non può essere realizzato esattamente. Inoltre, la formazione di una tale somma di segnali, anche con una ragionevole approssimazione, richiederebbe più sottocircuiti e diventerebbe rapidamente molto complessa. Pertanto, di solito si utilizza un'approssimazione molto più semplice: a ogni istante di campionamento, viene emessa una tensione corrispondente al valore del campione, che viene mantenuta costante fino all'istante di campionamento successivo (ma si veda la modulazione Delta-sigma per un esempio di metodo alternativo). Questa è la mantenimento di ordine zero e corrisponde alla sostituzione della funzione sinc utilizzata in precedenza con la funzione rettangolo $1/Tmathrm{rect}(t/T - 1/2)$. Valutando la convoluzione
$$
(1/Tmathrm{rect}(t/T - 1/2))*sinistra(sum_{n = -infty}^infty T x[n] delta(t - n T)destra),
$$
Utilizzando la proprietà definitoria della funzione delta, vediamo che il risultato è la classica forma d'onda a scala in tempo continuo. Il fattore $1/T$ entra in gioco per annullare il fattore $T$ introdotto in eqref{discreteft}. Che tale fattore sia necessario è chiaro anche dal fatto che le unità di misura di una risposta all'impulso sono 1/tempo.

Lo spostamento di $-1/2 T$ serve semplicemente a garantire la causalità. Ciò equivale solo a uno spostamento dell'uscita di 1/2 campione rispetto all'uso di $1/T mathrm{rect}(1/T)$ (che può avere conseguenze nei sistemi in tempo reale o quando molto sincronizzazione precisa con eventi esterni), che ignoreremo in quanto segue.

Rispetto a eqref{discreteft}, abbiamo sostituito la funzione rettangolare nel dominio della frequenza, lasciando completamente intatta la banda di base e rimuovendo tutte le copie dello spettro a frequenza più elevata, chiamate immagini con la trasformata di Fourier della funzione $1/T mathrm{rect}(t/T)$. Questo è ovviamente
$$
mathrm{sinc}(f/f_s).
$$

Si noti che la logica è in qualche modo invertita rispetto al caso ideale: lì abbiamo definito il nostro obiettivo, che era quello di rimuovere le immagini, nel dominio della frequenza e ne abbiamo ricavato le conseguenze nel dominio del tempo. Qui abbiamo definito come ricostruire nel dominio del tempo (dato che è quello che sappiamo fare) e abbiamo derivato le conseguenze nel dominio della frequenza.

Quindi il risultato della tenuta di ordine zero è che invece della finestra rettangolare nel dominio della frequenza, ci ritroviamo con il sinc come funzione di finestra. Pertanto:

  • La risposta in frequenza non è più limitata in banda. Piuttosto decade come $1/f$, con le frequenze superiori che sono immagini del segnale originale.
  • nella banda di base, la risposta decade già in modo considerevole, raggiungendo circa -4 dB a $1/2 f_s$

Complessivamente, il di ordine zero viene utilizzata per approssimare la funzione sinc nel dominio del tempo che compare nella formula di interpolazione di Whittaker-Shannon. Quando si campiona, il sample-and-hold di aspetto simile è una soluzione tecnica al problema di stimare il valore istantaneo del segnale e non produce di per sé alcun errore.

Si noti che non viene persa alcuna informazione nemmeno nella ricostruzione, poiché è sempre possibile filtrare le immagini ad alta frequenza dopo il mantenimento iniziale di ordine zero. La perdita di guadagno può essere compensata anche da un filtro sinc inverso, prima o dopo il DAC. Quindi, da un punto di vista più pratico, l'opzione viene utilizzata per costruire un'approssimazione iniziale implementabile. alla ricostruzione ideale, che può essere ulteriormente migliorata, se necessario.

La tenuta dell'ordine zero ha il ruolo di approssimare le funzioni delta e $mathrm{sinc}$ che compaiono nel teorema del campionamento, a seconda dei casi.

Per motivi di chiarezza, considero un sistema ADC/DAC con un segnale di tensione. Tuttavia, tutto ciò che segue si applica a qualsiasi sistema di campionamento con un appropriato cambio di unità. Assumo inoltre che il segnale di ingresso sia già stato magicamente limitato in banda per soddisfare il criterio di Nyquist.

Iniziare dal campionamento: idealmente, si dovrebbe campionare il valore del segnale di ingresso in un singolo istante. Poiché gli ADC reali hanno bisogno di un tempo finito per formare la loro approssimazione, la tensione istantanea è approssimata dal sample-and-hold (l'istantaneo è approssimato dal tempo di commutazione utilizzato per caricare il condensatore). In sostanza, l'hold converte il problema dell'applicazione di un funzionale delta al segnale nel problema della misurazione di una tensione costante.

Si noti che la differenza tra la moltiplicazione del segnale di ingresso con un treno di impulsi e l'applicazione di una ritenuta di ordine zero agli stessi istanti è solo una questione di interpretazione, poiché l'ADC memorizzerà comunque solo le tensioni istantanee trattenute. L'una può essere ricostruita dall'altra. Ai fini di questa risposta, adotterò l'interpretazione secondo cui il segnale campionato è un segnale a tempo continuo della forma
$$x(t) = frac{Delta t V_mathrm{ref}}{2^n}sum_k x_k delta(t - k Delta t),$$
dove $V_mathrm{ref}$ è la tensione di riferimento dell'ADC/DAC, $n$ è il numero di bit, $x_k$ sono i campioni rappresentati nel modo consueto come numeri interi e $Delta t$ è il periodo di campionamento. Questa interpretazione un po' anticonvenzionale ha il vantaggio di considerare, in ogni momento, un segnale a tempo continuo, e campionare qui significa semplicemente rappresentarlo in termini di numeri $x_k$, che sono appunto i campioni nel senso consueto.

In questa interpretazione, lo spettro del segnale in banda base è esattamente lo stesso del segnale originale e l'effettiva convoluzione con il treno di impulsi ha l'effetto di replicare tale segnale in modo da rendere lo spettro periodico. Le repliche sono chiamate immagini dello spettro. Che il fattore di normalizzazione $Delta t$ sia necessario si può vedere, ad esempio, considerando l'offset in corrente continua di un impulso di 1 volt di durata $Delta t$: il suo offset in corrente continua definito come la componente $f = 0$ della trasformata di Fourier è
$$ hat{x}(0) = int_0^{Delta t} 1mathrm{V}mathrm{d}t = 1mathrm{V} Delta t.$$
Per ottenere lo stesso risultato dalla nostra versione campionata, dobbiamo effettivamente includere il fattore di \$Delta t$.

Ricostruzione ideale significa quindi costruire un segnale elettrico che abbia lo stesso spettro in banda base di questo segnale e nessuna componente a frequenze esterne a questo intervallo. Ciò equivale a convolvere il treno di impulsi con l'appropriata funzione $mathrm{sinc}$. Si tratta di un'operazione piuttosto difficile da eseguire elettronicamente, per cui la $mathrm{sinc}$ è spesso approssimata da una funzione rettangolare, detta anche "zero-order hold". In sostanza, ad ogni funzione delta, il valore del campione viene mantenuto per la durata del periodo di campionamento.

Per vedere quali conseguenze ha questo per il segnale ricostruito, osservo che il mantenimento è esattamente equivalente alla convoluzione del treno di impulsi con la funzione rettangolare
$$mathrm{rect}_{Delta t}(t) = frac{1}{Delta t}mathrm{rect}left(frac{t}{Delta t}right).$$
La normalizzazione di questa funzione rettangolare è definita richiedendo che una tensione costante sia riprodotta correttamente, o in altre parole, se una tensione $V_1$ è stata misurata durante il campionamento, la stessa tensione viene emessa durante la ricostruzione.

Nel dominio della frequenza, questo equivale a moltiplicare la risposta in frequenza con la trasformata di Fourier della funzione rettangolare, che è
$$
hat{mathrm{rect}}_{Delta t}(f) = mathrm{sinc}(pi Delta t f).
$$
Si noti che il guadagno in corrente continua è pari a $1$. Alle alte frequenze, il $mathrm{sinc}$ decade come $1/f$ e quindi attenua le immagini dello spettro.

In definitiva, la funzione ´mathrm{sinc}´ risultante dalla tenuta di ordine zero si comporta come un filtro passa-basso sul segnale. Si noti che non si perde alcuna informazione nella fase di campionamento (assumendo il criterio di Nyquist) e, in linea di principio, non si perde nulla nemmeno in fase di ricostruzione: il filtraggio in banda base da parte della $mathrm{sinc}$ potrebbe essere compensato da un filtro inverso (e questo viene talvolta fatto, si veda ad esempio https://www.maximintegrated.com/en/app-notes/index.mvp/id/3853). Il modesto decadimento di $-6mathrm{dB/ottava}$ del $mathrm{sinc}$ di solito richiede qualche forma di filtraggio per attenuare ulteriormente le immagini.

Si noti inoltre che un generatore di impulsi immaginario che possa riprodurre fisicamente il treno di impulsi utilizzato nell'analisi emetterebbe una quantità infinita di energia nella ricostruzione delle immagini. Questo causerebbe anche alcuni effetti strani, come il fatto che un ADC che ricampiona l'uscita non vedrebbe nulla, a meno che non sia perfettamente sincronizzato con il sistema originale (campionerebbe soprattutto tra gli impulsi). Questo dimostra chiaramente che, anche se non possiamo limitare esattamente la banda in uscita, è sempre necessaria una limitazione approssimativa della banda per regolarizzare l'energia totale del segnale, prima di poterlo convertire in una rappresentazione fisica.

Per riassumere:

  • in entrambe le direzioni, il mantenimento dell'ordine zero agisce come un'approssimazione alla funzione delta, o alla sua forma limitata in banda, la funzione $mathrm{sinc}$.
  • Dal punto di vista del dominio della frequenza, si tratta di un'approssimazione al filtro brickwall che rimuove le immagini e quindi regola la quantità infinita di energia presente nel treno di impulsi idealizzato.

*Questo è chiaro anche dall'analisi dimensionale: le unità di una trasformata di Fourier di un segnale di tensione sono $mathrm{V}mathrm{s} = frac{mathrm{V}{mathrm{Hz}}, $ mentre la funzione delta ha unità di $1/mathrm{s}}, che annullerebbe l'unità di tempo proveniente dall'integrale nella trasformata.

Trasformata di Fourier:
$$ X(j 2 pi f) = mathscr{F}Big{x(t)Big}{x(t)Big} ´triangleq ´int'limits_{-infty}^{+infty} x(t) ´ e^{-j 2 pi f t} ´testo{d}t $$

Trasformata di Fourier inversa:
$$ x(t) = mathscr{F}^{-1}Big{X(j 2 pi f)Big} = intlimits_{-infty}^{+infty} X(j 2 pi f) e^{j 2 pi f t} ^{j 2 pi f t} ^{testo{d}f $$

Funzione d'impulso rettangolare:
$$ operatorname{rect}(u) triangleq begin{cases}
0 & mbox{if } |u| > frac{1}{2}
1 & mbox{if } |u| < frac{1}{2} ´fine{cases} $$

Funzione "Sinc" ("sinus cardinalis"):
$$ operatorname{sinc}(v) triangleq begin{cases}
1 & mbox{se } v = 0
frac{sin(pi v)}{pi v} & mbox{if } v ne 0
Fine dei casi

Definire la frequenza di campionamento, $ f_testo{s} ´triangoloq ´frac{1}{T} $ come il reciproco del periodo di campionamento $T$.

Si noti che:
$$ mathscr{F}Big{operatorname{rect}left( tfrac{t}{T} right) Big} = T operatorname{sinc}(fT) = frac{1}{f_testo{s}} ´operatorname{sinc}´sinistra( frac{f}{f_testo{s}} destra)$$

Pettine di Dirac (alias "funzione di campionamento" alias "funzione Sha"):

$$ operatorname{III}_T(t) triangleq sumlimits_{n=-infty}^{+infty} delta(t - nT) $$

Il pettine di Dirac è periodico con periodo $T$. Serie di Fourier:

$$ operatorname{III}_T(t) = sumlimits_{k=-infty}^{+infty} frac{1}{T} e^{j 2 pi k f_testo{s} t} $$

Segnale campionario a tempo continuo:

Segnale idealmente campionato con pettine di Dirac

$$ begin{align}
x_testo{s}(t) & = x(t) cdot left( T cdot operatorname{III}_T(t) right)
& = x(t) cdot left( T cdot sumlimits_{n=-infty}^{+infty} ´delta(t - nT) ´destra) ´
& = T \code(0144)sumolimiti_{n=-infty}^{+infty} x(t) \code(0144)\code(0144)code(0144)code(0144)code(0144)code(0144)
& = T sum_limits_{n=-infty}^{+infty} x(nT) delta(t - nT)
& = T sum_limits_{n=-infty}^{+infty} x[n] ´delta(t - nT) ´
fine{allegare} $$

dove $ x[n] triangoloq x(nT) ´.

Ciò significa che <>x_testo{s}(t)<> è definito esclusivamente dai campioni $x[n]$ e dal periodo di campionamento $T$ e perde completamente qualsiasi informazione sui valori di $x(t)$ per i tempi che intercorrono tra le istanze di campionamento. $x[n]$ è una sequenza discreta di numeri ed è una sorta di notazione abbreviata DSP per $x_n$. Sebbene sia vero che $x_testo{s}(t) = 0$ per nT < t < (n+1)T $ il valore di $x[n]$ per qualsiasi $n$ che non sia un intero è indefinito.

N.B.: Il segnale discreto $x[n]$ e tutti operazioni a tempo discreto su di esso, come il $mathcal{Z}-Trasformata, la Trasformata di Fourier in tempo discreto (DTFT), la Trasformata di Fourier discreta (DFT), sono "agnostici" per quanto riguarda la frequenza di campionamento o il periodo di campionamento $T$. Una volta che si è nel tempo discreto $x[n]$ non si conoscono (o non ci si preoccupa) di $T$. È solo con il teorema di campionamento e ricostruzione di Nyquist-Shannon che $x[n]$ e $T$ sono messi insieme.

La trasformata di Fourier di $x_testo{s}(t)$ è

$$ begin{align}
X_testo{s}(j 2 pi f) triangoloq mathscr{F}{ x_testo{s}(t) } & = mathscr{F}{sinistra{x(t) cdot sinistra( T cdot operatorname{III}_T(t) destra) destra}
& = mathscr{F}{sinistra{x(t) cdot left( T cdot sum{limits_{k=-infty}^{+infty} frac{1}{T} e^{j 2 pi k f_testo{s} t} right) right}
& = mathscr{F}sinistra{ sum{limits_{k=-infty}^{+infty} x(t) e^{j 2 pi k f_text{s} t} ´destra´}
& = sumlimits_{k=-infty}^{+infty} mathscr{F}left{{x(t) e^{j 2 pi k f_testo{s} t} ´destra}
& = sumlimits_{k=-infty}^{+infty} Xleft(j 2 pi (f - k f_testo{s})right)
fine{align} $$

Nota importante sulla scalatura: La funzione di campionamento $ T cdot operatorname{III}_T(t) $ e il segnale campionato $x_testo{s}(t)$ ha un fattore di $T$ che non troverete in quasi tutti i libri di testo. Si tratta di un errore pedagogico degli autori di questi libri di testo per molteplici ragioni (correlate):

  1. In primo luogo, tralasciando il $T$ cambia la dimensione del segnale campionato $x_testo{s}(t)$ dalla dimensione del segnale campionato $x(t)$.
  2. Che $T$ sarà necessario un fattore da qualche parte nella catena del segnale. I libri di testo che lo escludono dalla funzione di campionamento finiscono per inserirlo nella parte di ricostruzione del Teorema del campionamento, di solito come guadagno in banda passante del filtro di ricostruzione. Che è dimensionalmente confuso. Qualcuno potrebbe ragionevolmente chiedersi: "Come faccio a progettare un LPF brickwall con guadagno in banda passante di $T$?"
  3. Come si vedrà di seguito, lasciando il valore $T$ si ottiene un errore di scala simile per la funzione di trasferimento netto e la risposta in frequenza netta dello Zero-order Hold (ZOH). Tutti sui sistemi di controllo digitali (e ibridi) che ho visto commettono questo errore ed è un grave errore pedagogico.

Si noti che la DTFT di $x[n]$ e la trasformata di Fourier del segnale campionato $x_testo{s}(t)$ sono, con un'adeguata scalatura, praticamente identiche:

DTFT:
$$ begin{align}
X_mathsf{DTFT}(omega) & triangleq mathcal{Z}{x[n]} Bigg|_{z=e^{jomega}}
& = X_mathcal{Z}(e^{jomega})
& = sumlimits_{n=-infty}^{+infty} x[n] e^{-j omega n}
fine{allegare} $$

Si può dimostrare che

$$ X_mathsf{DTFT}(omega) = X_mathcal{Z}(e^{jomega}) = frac{1}{T} X_testo{s}(j 2 pi f)Bigg|_{f=frac{omega}{2 pi T}} $$


La matematica di cui sopra è vera se ´x(t)´ sia "correttamente campionata" o meno. $x(t)$ è "correttamente campionata" se $x(t)$ può essere recuperato completamente dai campioni $x[n]$ e dalla conoscenza della frequenza di campionamento o del periodo di campionamento. Il teorema del campionamento ci dice che cosa è necessario per recuperare o ricostruire $x(t)$ da $x[n]$ e $T$.

Se $x(t)$ è limitato a qualche limite di banda $B$, il che significa

$$ X(j 2 pi f) = 0 quad quad text{per tutti} quad |f| > B $$

Spettro limitato

Consideriamo lo spettro del segnale campionato composto da immagini traslate dell'originale:

$$ X_testo{s}(j 2 pi f) = sumlimits_{k=-infty}^{+infty} X_left(j 2 pi (f - k f_testo{s})right) $$

Lo spettro originale X(j 2 pi f)´$ può essere recuperato dallo spettro campionato $X_testo{s}(j 2 pi f)$ se nessuna delle immagini spostate, ´X´sinistra(j 2 pi (f - k f_testo{s})´destra)$ si sovrappongono ai loro vicini adiacenti. Ciò significa che il bordo destro dell'immagine $k$-dell'immagine (che è ´X´sinistra(j 2 pi (f - k f_testo{s})´destra)´) deve essere interamente a sinistra del bordo sinistro dell'immagine ($k+1$)dell'immagine (che è ´X´sinistra(j 2 pi (f - (k+1) f_testo{s})´destra)$). Riportato matematicamente,

$$ k f_testo{s} + B < (k+1) f_testo{s} - B $$

che è equivalente a

$$ f_testo{s} > 2B $$

Se campioniamo a una frequenza di campionamento che supera il doppio della larghezza di banda, nessuna delle immagini si sovrappone, lo spettro originale, $X(j 2 pi f)$ che è l'immagine in cui $k=0$ può essere estratta da $X_testo{s}(j 2 pi f)$ con un filtro passa-basso brickwall che mantiene l'immagine originale (dove $k=0$) non scalata e scarta tutte le altre immagini. Questo significa che moltiplica l'immagine originale per 1 e moltiplica tutte le altre immagini per 0.

$$ begin{align}
X(j 2 pi f) & = operatorname{rect}left( frac{f}{f_testo{s}} right) cdot X_testo{s}(j 2 pi f)
& = H(j 2 pi f) ´ X_testo{s}(j 2 pi f) ´
fine{align} $$

filtro di ricostruzione

Il filtro di ricostruzione è

$$ H(j 2 pi f) = operatorname{rect}left( frac{f}{f_testo{s}} right) $$

e ha una risposta impulsiva acausale:

$$ h(t) = mathscr{F}^{-1} {H(j 2 pi f)} = f_testo{s} ´operatorname{sinc}(f_testo{s}t) $$

Questa operazione di filtraggio, espressa come moltiplicazione nel dominio della frequenza, è equivalente alla convoluzione nel dominio del tempo:

$$ begin{align}
x(t) & = h(t) circledast x_text{s}(t)
& = h(t) circledast T sumlimits_{n=-infty}^{+infty} x[n] ´delta(t-nT) ´
& = T sumolimiti_{n=-infty}^{+infty} x[n] (h(t) circledast delta(t-nT))
& = T sum limiti_{n=-infty}^{+infty} x[n] h(t-nT))
& = T sum'limits_{n=-infty}^{+infty} x[n] ´sinistra(f_testo{s} ´operatorname{sinc}(f_testo{s}(t-nT)) ´destra) ´
& = sumlimits_{n=-infty}^{+infty} x[n] ´operatorname{sinc}(f_testo{s}(t-nT))
& = sumlimits_{n=-infty}^{+infty} x[n] ´operatorname{sinc}´sinistra( ´frac{t-nT}{T}´destra) ´
fine{align} $$

Questo spiega esplicitamente come l'originale $x(t)$ viene ricostruito dai campioni $x[n]$ e dalla conoscenza della frequenza di campionamento o del periodo di campionamento.


Quindi, ciò che viene emesso da un pratico convertitore digitale-analogico (DAC) non è né

$$ sumlimits_{n=-infty}^{+infty} x[n] ´nome dell'operatore{sinc}´sinistra( ´frac{t-nT}{T}´destra) $$

che non ha bisogno di ulteriori trattamenti per recuperare $x(t)$

$$ x_testo{s}(t) = sumlimits_{n=-infty}^{+infty} x[n] T ´delta(t-nT) $$

che, con una LPF ideale a parete di mattoni, recupera $x(t)$ isolando e conservando l'immagine in banda base e scartando tutte le altre immagini.

Output DAC

Ciò che esce da un DAC convenzionale, se non viene eseguita alcuna elaborazione o scalatura del segnale digitalizzato, è il valore $x[n]$ mantenuto costante fino all'uscita del campione successivo. Ciò si traduce in una funzione costante a pezzi:

$$ x_testo{DAC}(t) = sumlimits_{n=-infty}^{+infty} x[n] ´operatorname{rect}´sinistra(frac{t-nT - frac{T}{2}}{T} destra) $$

Si noti il ritardo di frac{1}{2}}$ applicato al periodo di campionamento $operatorname{rect}(cdot)$ funzione. Questo la rende causale. Significa semplicemente che

$$ x_testo{DAC}(t) = x[n] = x(nT) quad quad quad text{quando} ´quad nT ´le t < (n+1)T $$

Detto diversamente

$$ x_testo{DAC}(t) = x[n] = x(nT) quad quad text{for} quad n = operatorname{floor}left( frac{t}{T} right)$$

dove $operatorname{floor}(u) = lfloor u rfloor$ è la funzione floor, definita come il più grande intero non superiore a $u$.

L'uscita del DAC viene modellata direttamente come un sistema lineare tempo-invariante (LTI) o un filtro che accetta il segnale idealmente campionato $x_testo{s}(t)$ e per ogni impulso nel segnale idealmente campionato, emette questa risposta all'impulso:

$$ h_testo{ZOH}(t) = frac{1}{T} operatorname{rect}}sinistra(frac{t - frac{T}{2}}{T} destra) $$

Inserendo i dati per verificarli.

$$ begin{align}
x_testo{DAC}(t) & = h_testo{ZOH}(t) circledast x_testo{s}(t)
& = h_testo{ZOH}(t) circledast T sumlimits_{n=-infty}^{+infty} x[n] ´delta(t-nT) ´
& = T sumolimiti_{n=-infty}^{+infty} x[n] (h_testo{ZOH}(t) circledast delta(t-nT))
& = T sum limiti_{n=-infty}^{+infty} x[n] h_testo{ZOH}(t-nT))
& = T sumolimiti_{n=-infty}^{+infty} x[n] ´frac{1}{T} operatorname{rect}}sinistra(frac{t - nT - frac{T}{2}}{T} destra)
& = sumlimits_{n=-infty}^{+infty} x[n] ´operatorname{rect}´sinistra(´frac{t - nT - ´frac{T}{2}}{T} ´destra)
fine{align} $$

L'uscita del DAC $x_testo{DAC}(t)$ come l'uscita di un sistema LTI con risposta all'impulso $h_testo{ZOH}(t)$ concorda con la costruzione a costanti parziali di cui sopra. E l'ingresso di questo sistema LTI è il segnale campionato $x_testo{s}(t)$ scalato in modo che l'immagine in banda base di $x_testo{s}(t)$ sia esattamente uguale allo spettro del segnale originale che viene campionato $x(t)$. Cioè

$$ X(j 2 pi f) = X_testo{s}(j 2 pi f) quad quad testo{for} quad -frac{f_testo{s}}{2} < f < +frac{f_testo{s}}{2} $$

Lo spettro del segnale originale è lo stesso dello spettro campionato, ma con tutte le immagini apparse a causa del campionamento scartate.

La funzione di trasferimento di questo sistema LTI, che chiamiamo funzione di trasferimento Sospensione di ordine zero (ZOH), è la trasformata di Laplace della risposta all'impulso:

$$ begin{align}
H_testo{ZOH}(s) & = mathscr{L} mathscr{L}{H_testo{ZOH}(t) mathscr{L}
& ´triangoloq ´int'limiti_{-infty}^{+infty} h_testo{ZOH}(t) e^{-s t} ´testo{d}t ´
& = ´int'limits_{-infty}^{+infty} frac{1}{T} operatorname{rect}}sinistra(frac{t - frac{T}{2}}{T} destra) e^{-s t} ´testo{d}t ´
& = ´int'limits_0^T ´frac{1}{T} e^{-s t} ´testo{d}t ´
& = frac{1}{T} quad frac{1}{-s}e^{-s t}Bigg|_0^T
& = frac{1-e^{-sT}}{sT}
fine{align}$$

La risposta in frequenza si ottiene sostituendo j 2 pi f rightarrow s $

$$ begin{align}
H_testo{ZOH}(j 2 pi f) & = frac{1-e^{-j2pi fT}}{j2pi fT}
& = e^{-jpi fT} frac{e^{jpi fT}-e^{-jpi fT}}{j2pi fT}
e = e^{-jpi fT} frac{sin(pi fT)}{pi fT}
& = e^{-jpi fT} ´operatorname{sinc}(fT)
& = e^{-jpi fT} ´operatorname{sinc}´sinistra(´frac{f}{f_testo{s}}}destra) ´´.
fine{align}$$

Indica un filtro di fase lineare con ritardo costante di mezzo periodo di campionamento, ´frac{T}{2}´´ e con un guadagno che diminuisce con la frequenza $f$ aumenta. Si tratta di un leggero effetto di filtro passa-basso. A corrente continua, $f=0$ il guadagno è di 0 dB e a Nyquist, $f=frac{f_text{s}}{2}$ il guadagno è di -3,9224 dB. Quindi l'immagine in banda base ha alcune componenti ad alta frequenza leggermente ridotte.

Come per il segnale campionato $x_testo{s}(t)$, ci sono immagini nel segnale campionato $x_testo{DAC}(t)$ a multipli interi della frequenza di campionamento, ma queste immagini sono significativamente ridotte in ampiezza (rispetto all'immagine in banda base) perché $|H_testo{ZOH}(j 2 pi f)|$ passa per lo zero quando $f = kcdot f_testo{s}$ per l'intero $k$ che non è 0, che si trova proprio al centro di queste immagini.

Concludendo:

  1. Lo Zero-order hold (ZOH) è un modello lineare tempo-invariante della ricostruzione del segnale effettuata da un pratico convertitore digitale-analogico (DAC) che mantiene l'uscita costante al valore del campione, $x[n]$ fino all'aggiornamento del campione successivo $x[n+1]$.

  2. Contrariamente a quanto comunemente si pensa, lo ZOH ha nulla a che fare con il circuito sample-and-hold (S/H) che precede un convertitore analogico-digitale (ADC). Finché il DAC mantiene l'uscita a un valore costante per ogni periodo di campionamento, non importa se l'ADC ha un S/H o meno, l'effetto ZOH rimane. Se il DAC emette qualcosa altro rispetto all'uscita costante (come una sequenza di impulsi stretti destinati ad approssimare gli impulsi di dirac) rappresentata sopra come $x_testo{DAC}(t)$, allora l'effetto ZOH è non presente (al suo posto c'è qualcos'altro) sia che ci sia un circuito S/H che precede l'ADC o meno.

  3. La funzione di trasferimento netto dello ZOH è $$ H_testo{ZOH}(s) = frac{1-e^{-sT}}{sT} $$ e la risposta in frequenza netta dello ZOH è $$ H_text{ZOH}(j 2 pi f) = e^{-jpi fT} ´operatorname{sinc}(fT) $$ Molti libri di testo tralasciano il $T$ nel denominatore della funzione di trasferimento e questo è un errore.

  4. Lo ZOH riduce le immagini del segnale campionato $x_testo{s}(t)$ ma non le elimina. Per eliminare le immagini è necessario un buon filtro passa-basso, come in precedenza. Gli LPF Brickwall sono un'idealizzazione. Un LPF pratico può anche attenuare l'immagine in banda base (che vogliamo mantenere) alle alte frequenze, e questa attenuazione deve essere tenuta in considerazione come l'attenuazione che risulta dallo ZOH (che è inferiore a 3,9224 dB di attenuazione). Lo ZOH ritarda anche il segnale di mezzo periodo di campionamento, il che può essere preso in considerazione (insieme al ritardo dell'LPF anti-imaging), in particolare se lo ZOH è in un anello di retroazione.

Ti invitiamo ad aiutare la nostra analisi pubblicando un commento o lasciando un punteggio.Ti diamo il benvenuto.



Utilizzate il nostro motore di ricerca

Ricerca
Generic filters

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.