Salta al contenuto
Note per Studenti Generatori di funzioni e AWG

Generatori di funzioni e AWG

In questa pagina 4

Per provare un dispositivo bisogna generare il segnale di test con parametri noti e regolabili, oltre ad acquisirlo (Segnali di test e parametri nel dominio del tempoGli strumenti si provano con segnali di test dai parametri noti. Sinusoide $v=V_{DC}+V_0\sin(2\pi f t+\varphi)$: picco $V_0$, picco-picco $V_{pp}=2V_0$, efficace $V_0/\sqrt2$. Onda rettangolare: $V_H$, $V_L$, periodo e duty cycle $d=\tau/T$ (tempi misurati a metà dei fronti, il tempo di salita va dal 10% al 90%). Triangolare e dente di sega: $V_{min}$, $V_{max}$, pendenza $m=(V_{max}-V_{min})/T_R$. Segnali modulati: AM $A_C(1+K_M\cos2\pi f_Mt)\cos2\pi f_Ct$ con $A_C=\frac{V_{pp,max}+V_{pp,min}}4$ e $K_M=\frac{V_{pp,max}-V_{pp,min}}{V_{pp,max}+V_{pp,min}}$; sweep lineare $f(t)=f_{start}+t,\frac{f_{stop}-f_{start}}{T_{sweep}}$ con segnale di sync.Segnali di test e parametri nel dominio del tempo →). Lo strumento è il generatore di funzionistrumento che produce segnali di test periodici con forma, ampiezza e frequenza impostabili (AFG, arbitrary function generator): un oscillatore con forme d'onda predefinite e, nelle versioni moderne, la possibilità di generare una forma d'onda arbitraria (AWG, arbitrary waveform generator). La parte dedicata nel corso è la lezione sul funzionamento interno; negli appelli di gennaio-febbraio 2025 non è stata richiesta, mentre nel settembre 2020 sì.

Che cosa genera

  • forme d'onda periodiche: sinusoide, quadra, rettangolare, triangolare, dente di sega, impulsi, rumore; si impostano ampiezza (VppV_{pp} o ValtoV_{alto} e VbassoV_{basso}), offsettermine costante additivo nella tensione di uscita, frequenza, duty cycle;
  • modulazioni: AM, FM, PWM; sweepsegnale la cui frequenza varia linearmente da un valore iniziale a uno finale e poi riparte lineare o logaritmico di frequenza;
  • un segnale di sincronismo (syncsegnale di sincronismo che marca un punto del segnale principale) a livelli TTL (00-55 V) che marca un punto del segnale (inizio periodo, fine dello sweep), utile per il trigger dell'oscilloscopio;
  • un'uscita con impedenza Rout=50 ΩR_{out}=50\ \Omega: collegato a un carico RLR_L (per esempio l'ingresso 11 MΩ\Omega di un oscilloscopio, o un circuito) il generatore reale è un generatore di tensione ideale con in serie 50 Ω50\ \Omega: la tensione sul carico è un partitore VL=VGRLRL+50 Ω.V_L=V_{G}\frac{R_L}{R_L+50\ \Omega}. Con RL=50 ΩR_L=50\ \Omega il carico vede la metà della tensione a vuoto; con RL≫50 ΩR_L\gg50\ \Omega la quasi totalità. Il generatore ha anche una tensione massima (±10\pm10 V) e una potenza massima di uscita (per esempio 22 W); per un carico resistivo costante sul quale cade VmaxV_{max}: P=V2/RP=V^2/R, vincolo che serve a dimensionare, per esempio, un resistore in serie a un diodo (Esercizio 16 · caratteristica di un diodo zener e corrente in un LED (temi d'esame gennaio 2026 e luglio 2026)).

Il cuore di un AWG: memoria, DAC e filtro

Lo schema di un AWG a sintesi digitale diretta è memoria (LUT) ⟶ DAC ⟶ filtro interpolatore ⟶ uscita.\text{memoria (LUT)}\ \longrightarrow\ \text{DAC}\ \longrightarrow\ \text{filtro interpolatore}\ \longrightarrow\ \text{uscita}.

Se a ogni clock si legge un indirizzo successivo e alla fine il puntatore torna alla prima locazione, in uscita c'è una forma d'onda periodica con periodo 2MTs2^MT_s: per generare una sinusoide si riempie la memoria con 2M2^M campioni di sinusoide. In memoria deve stare un numero intero di periodi, altrimenti al passaggio dall'ultima alla prima locazione si ha una discontinuità (e righe spettrali indesiderate). Se si salvano KK periodi in 2M2^M campioni, l'uscita ha frequenza K Fs/2MK\,F_s/2^M: con 2M=10242^M=1024, K=4K=4, Fs=100F_s=100 MS/s si ottengono 390,6390{,}6 kHz.

Registri PIR, PR e AR: sintesi a frequenza variabile

Cambiare la frequenza regolando FsF_s sarebbe scomodo, quindi si usa un accumulatore di faseregistro che somma a ogni clock un incremento fisso e rappresenta la fase del segnale:

  • PIRphase increment register: incremento di fase aggiunto a ogni clock (phase increment register): numero PIRPIR da aggiungere a ogni clock;
  • PR (phase register): registro di fase a LL bit (con L>ML>M) che a ogni clock fa PR←PR+PIRPR\leftarrow PR+PIR (modulo 2L2^L): rappresenta la fase del segnale come frazione di 2L2^L;
  • AR (address register): le MM cifre più significative di PR, usate come indirizzo della memoria.

Con PIR=1PIR=1 la fase avanza di un passo ogni clock, un indirizzo cambia ogni 2L−M2^{L-M} clock; con PIRPIR più grande si saltano gli indirizzi più velocemente. In media ogni indirizzo (campione della LUT) resta per Ts,eq=2L−MPIR Ts(periodo di campionamento equivalente),Fs,eq=1Ts,eq=PIR 2M−LFs.T_{s,eq}=\frac{2^{L-M}}{PIR}\,T_s\qquad(\text{periodo di campionamento equivalente}),\qquad F_{s,eq}=\frac1{T_{s,eq}}=PIR\,2^{M-L}F_s. Il periodo di uscita è quello di 2M2^M campioni: Tout=2MTs,eq=2LPIRTs,fout=PIR2LFs.T_{out}=2^MT_{s,eq}=\frac{2^L}{PIR}T_s,\qquad\boxed{f_{out}=\frac{PIR}{2^L}F_s.} La risoluzione in frequenza (PIR=1PIR=1) è Fs/2LF_s/2^L: con Fs=100F_s=100 MS/s e L=32L=32 è 0,0230{,}023 Hz.

Esempio. Fs=100F_s=100 MS/s, L=32L=32, M=10M=10 (memoria da 10241024 campioni), frequenza desiderata 11 kHz: PIR=103⋅232108=42 949,67PIR=\frac{10^3\cdot2^{32}}{10^8}=42\,949{,}67, si arrotonda a 42 95042\,950 e la frequenza reale è 42950232⋅108=1000,0076\frac{42950}{2^{32}}\cdot10^8=1000{,}0076 Hz. Ogni indirizzo resta in media Ts,eq/Ts=222/42950=97,66T_{s,eq}/T_s=2^{22}/42950=97{,}66 clock, quindi un periodo è 1024⋅97,66≈1051024\cdot97{,}66\approx10^5 clock =1=1 ms. Siccome Ts,eqT_{s,eq} non è un multiplo intero di TsT_s, in uscita alcuni campioni durano 9797 e altri 9898 clock: un piccolo errore di fase (jitterpiccola irregolarità degli istanti di commutazione) che il filtro attenua.

Parametri e non idealità del DAC

  • statici: errore di offset, errore di guadagno, non linearità integrale e differenziale (INL, DNL);
  • dinamici: tempo di assestamento, glitchpicco spurio alle transizioni del DAC (picchi alle transizioni dovuti agli interruttori non simultanei), distorsione armonica totale THD, SFDR (spurious free dynamic range).

Un DAC a NN bit può essere realizzato con generatori di corrente pesati in potenze di 22 comandati da interruttori (Vout=I0R0∑bk2kV_{out}=I_0R_0\sum b_k2^k); le tolleranze dei valori degli elementi determinano la qualità. I glitch e gli errori di tempo di assestamento peggiorano ad alta frequenza.

Errori comuni

  • Dire che la frequenza di uscita è Fs/2MF_s/2^M quando si usa l'accumulatore di fase: dipende da PIR/2LPIR/2^L.
  • Dimenticare che AR\mathrm{AR} sono le cifre più significative di PR, non quelle meno significative.
  • Salvare in memoria un numero non intero di periodi.
  • Trascurare l'impedenza di uscita da 50 Ω50\ \Omega: a vuoto e su carico 50 Ω50\ \Omega la tensione differisce di un fattore 22.
  • Omettere il filtro di ricostruzione: restano le immagini a Fs±foutF_s\pm f_{out}.

Versione ripasso

Esercizi su questo argomento

Teoria collegata