Esercizi sulla trasformata Zeta svolti: dalle equazioni alle differenze al codice del microcontrollore
Undici esercizi con soluzione e grafico: trasformate e antitrasformate, filtro esponenziale, Fibonacci, stabilità, guadagno statico, media mobile, ZOH, Eulero e Tustin, prewarping, PI digitale scritto in C.
https://www.electronics-engineering.com/esercizi-trasformata-zeta-svolti
Esercizi sulla trasformata Zeta del tipo che si danno nei corsi di Metodi matematici, Elaborazione numerica dei segnali e Controllo digitale, in tre livelli: base, con trasformate e antitrasformate; medio, con equazioni alle differenze, stabilità e risposta in frequenza; esame, con discretizzazioni e la realizzazione di un regolatore digitale fino al codice. Il risultato è indicato subito; la soluzione completa, con il grafico, si apre con un clic. Le tabelle sono nell’approfondimento collegato in cima.
Livello base
Esercizio 1. La moltiplicazione per n
Calcola la trasformata di
.
Risultato:
.
Soluzione
Si parte da
e si usa
:
![]()
Polo doppio in 0,5: la sequenza prima cresce (per il fattore
) e poi decresce (per
), con il massimo tra
e
, dove vale 0,5.

Esercizio 2. Antitrasformare con i fratti semplici
Antitrasforma
e controlla i primi campioni con la divisione.
Risultato:
;
,
,
.
Soluzione
, con
e
.
Rimoltiplicando per
:
, quindi
.
Controllo.
: corrisponde a
. Quindi
,
,
. Dalla formula:
.

Esercizio 3. Il filtro esponenziale al gradino
Un sensore viene filtrato con
. Trova la funzione di trasferimento, la risposta al gradino e il numero di campioni dopo i quali l’uscita supera il 95 % del valore finale.
Risultato:
;
; dal campione
.
Soluzione
Trasformando:
, quindi
. Guadagno statico
.
Risposta al gradino:
.
(residui: in 1 vale
; in 0,8 vale
). Quindi
.
95 %:
,
, cioè
. Con campionamento a 100 Hz il filtro risponde in circa 0,13 s: è il compromesso tra pulizia del segnale e prontezza.

Livello medio
Esercizio 4. I numeri di Fibonacci
Risolvi con la trasformata Zeta
, con
,
.
Risultato:
, con
,
.
Soluzione
Con la regola dell’anticipo:
. Con i valori iniziali:
, quindi
.
Poli:
, cioè
(il rapporto aureo) e
.
, da cui la formula di Binet.
Il polo
fuori dal cerchio unitario fa crescere la sequenza esponenzialmente; il polo
, dentro e negativo, aggiunge una piccola correzione alternata che rende ogni termine intero. Per
grande
:
, e
.

Esercizio 5. Stabile o instabile
Stabilisci la stabilità dei sistemi
e
. Per il secondo, quanti campioni dura un’oscillazione?
Risultato: il primo è instabile (polo 1,1); il secondo è stabile (poli
, modulo 0,707) e oscilla con periodo 8 campioni.
Soluzione
Primo.
: polo in 1,1, fuori dal cerchio. La risposta impulsiva
cresce del 10 % a ogni campione.
Secondo.
. Poli:
. Modulo
: stabile. Angolo
: un giro completo (
) richiede
campioni.
Smorzamento: dopo un periodo l’ampiezza è
, cioè si riduce a un sedicesimo: l’oscillazione si vede appena.


Esercizio 6. Il valore finale e il guadagno statico
Un sistema discreto ha
. Trova il valore a regime della risposta al gradino unitario.
Risultato: 1,33.
Soluzione
Poli:
, cioè
e
, dentro il cerchio: il valore finale esiste.
Con il gradino
:
.
Il guadagno statico di un sistema discreto è
, come quello continuo è
:
corrisponde a
nella mappa
.

Esercizio 7. La media mobile in frequenza
Il filtro
lavora a
kHz. Calcola il guadagno a 0 Hz, a 250 Hz e a 500 Hz, e il ritardo che introduce.
Risultato: 1; 0,707 (−3 dB); 0; ritardo di mezzo campione, 0,5 ms.
Soluzione
. Con
:
.
Modulo
, con
: a 0 Hz vale 1; a 250 Hz
; a 500 Hz (Nyquist)
.
Fase
, lineare: tutte le frequenze sono ritardate di
ms. I filtri FIR simmetrici hanno sempre fase lineare, e quindi non deformano la forma d’onda.

Livello esame
Esercizio 8. Discretizzare un processo con lo ZOH
Il processo
è comandato da un D/A con mantenitore, con
s. Trova
e verifica che, a un gradino, i campioni coincidono con la risposta continua.
Risultato:
.
Soluzione
Formula dell’approfondimento con
:
.
Risposta al gradino:
, che antitrasformata dà
: esattamente la risposta continua
negli istanti
. Lo ZOH è esatto per ingressi costanti a tratti, perché è proprio quello che il D/A produce.

Esercizio 9. Eulero contro Tustin
Un regolatore ha un polo in
. Con
s, dove finisce il polo discretizzando con Eulero in avanti e con Tustin? E con lo ZOH?
Risultato: Eulero
(instabile); Tustin
(stabile); ZOH
.
Soluzione
Eulero in avanti:
. Fuori dal cerchio: un polo stabile è diventato instabile, perché
.
Tustin:
. Stabile, ma negativo: introduce un’oscillazione alla frequenza di Nyquist che il continuo non aveva.
ZOH (corrispondenza esatta):
.
Morale: con poli veloci rispetto al campionamento i metodi approssimati danno risultati molto diversi tra loro. La regola pratica è campionare almeno 10-20 volte più in fretta della dinamica più veloce da controllare.

Esercizio 10. Tustin con prewarping
Si vuole un filtro digitale passa basso con frequenza di taglio 1 kHz, campionato a 4 kHz, ottenuto con Tustin da un prototipo continuo. A che frequenza va progettato il prototipo?
Risultato: a
rad/s (1273 Hz) invece di 6283 rad/s (1000 Hz).
Soluzione
Pulsazione digitale desiderata:
,
, quindi
.
Con la distorsione di Tustin, a
corrisponde
rad/s, cioè 1273 Hz.
Se si progettasse il prototipo a 1000 Hz senza correzione, il filtro digitale taglierebbe a
Hz, il 15 % in meno.
In MATLAB: c2d(H, T, 'tustin') con l’opzione c2dOptions('PrewarpFrequency', 2*pi*1000); in Python, scipy.signal.bilinear dopo aver scalato il prototipo, oppure control.sample_system(H, T, method='tustin', prewarp_frequency=2*pi*1000).

Esercizio 11. Dal PI continuo al codice del microcontrollore
Un regolatore PI
, con
e
s
, va eseguito in un microcontrollore con
ms. Discretizzalo con Tustin, scrivi l’equazione alle differenze e il codice.
Risultato:
.
Soluzione
Con
:
. Quindi
![]()
con
e
.
Da
:
. Ogni
è una variabile che conserva il valore del passo precedente. In C, eseguito da un’interruzione periodica ogni 10 ms:
static float u_prev = 0.0f, e_prev = 0.0f;
const float b0 = 2.05f, b1 = -1.95f;
float pi_step(float setpoint, float measure)
{
float e = setpoint - measure;
float u = u_prev + b0 * e + b1 * e_prev;
if (u > 10.0f) u = 10.0f; /* saturazione dell'attuatore */
if (u < -10.0f) u = -10.0f;
u_prev = u; /* z^-1 sull'uscita */
e_prev = e; /* z^-1 sull'errore */
return u;
}La saturazione con
già limitato salvato in u_prev è una semplice protezione anti-windup: l’integratore non continua a crescere quando l’attuatore è al limite. È esattamente lo schema che nelle centraline delle automobili controlla il minimo del motore, la pressione del turbo o la coppia di un motore elettrico.







Benvenuti nella pagina su «Esercizi sulla trasformata Zeta svolti: dalle equazioni alle differenze al codice del microcontrollore». L'ho scritta pensando a chi studia ingegneria elettronica: se un passaggio non vi torna, un esercizio vi dà un risultato diverso o volete altro materiale sull'argomento, chiedete pure nei commenti e vi risponderò. Un voto con le stelle qui sopra mi aiuta a capire quali pagine migliorare.Welcome to the page on “Solved Z transform exercises: from difference equations to microcontroller code”. I wrote it for engineering students: if a step does not add up, an exercise gives you a different result or you would like more material on the topic, just ask in the comments and I will reply. A star rating above helps me understand which pages to improve.