# Filtrare in hardware o in software? La decisione che si prende prima dell'ADC

> Quando il filtro deve essere analogico (anti-aliasing, reiezione EMI) e quando conviene un IIR digitale: tunabile, ripido, riproducibile. Decisione pre-ADC.

Pubblicato: 2026-06-24
Categoria: hardware
Tag: hardware, filtri, anti-aliasing, adc, dsp, iir, signal-processing

Pagina: <https://www.stline.it/blog/filtro-analogico-o-digitale/>

---

In ogni progetto che acquisisce un segnale arriva, presto o tardi, la stessa domanda: questo filtro lo faccio in hardware con un attivo o un passivo a monte dell'ADC, oppure lo faccio in software con qualche riga di codice nel DSP? È una scelta architetturale, non cosmetica: incide sul costo della scheda, sul carico della CPU e — nel caso peggiore — sulla validità stessa dei dati acquisiti. La risposta non è "dipende dai gusti": ci sono casi in cui il filtro **deve** essere analogico, e basta, e altri in cui un IIR digitale è la scelta migliore. Vediamo dove cade la linea.

## Quando il filtro deve essere analogico

C'è un caso in cui il filtro digitale **non è un'opzione**, e capirlo è il punto che fa la differenza tra un sistema corretto e uno che mente con eleganza: l'**anti-aliasing**.

Un ADC campiona a una frequenza Fs e, per il teorema di Nyquist, può rappresentare correttamente solo segnali sotto Fs/2. Qualsiasi componente del segnale **sopra** Fs/2 non viene scartato: viene "ripiegato" (aliasing) dentro la banda utile, dove si traveste da segnale legittimo a una frequenza più bassa. Una volta che è successo, è irreversibile. Un disturbo a Fs − f appare identico a un segnale vero a f: nessun algoritmo, per quanto sofisticato, può separarli a posteriori, perché l'informazione che li distingueva è andata persa nel momento del campionamento.

Questo è il motivo per cui un filtro anti-aliasing va messo **prima** dell'ADC, ed è quindi per forza analogico. Un filtro digitale, per quanto ripido, lavora su campioni già acquisiti: se l'aliasing ha già contaminato quei campioni, il filtro digitale filtrerà tranquillamente l'alias come se fosse segnale buono. Non recupera nulla, perché non c'è più nulla da recuperare. È l'errore concettuale più costoso che vediamo: confidare in un anti-aliasing fatto "dopo".

L'analogico vince anche in altri due scenari pratici. Primo, la **reiezione EMI e dei fuori-banda ad alta energia**: un filtro passivo davanti all'ingresso attenua disturbi a radiofrequenza prima che saturino lo stadio di condizionamento o l'ADC stesso — un compito che il digitale non può fare perché quei disturbi non arrivano nemmeno integri al convertitore. Secondo, lo **zero carico CPU**: un filtro analogico non consuma cicli. Su un MCU dove il budget di calcolo è già conteso fra controllo, comunicazione e logica applicativa, spostare un filtro fisso nell'hardware libera tempo macchina prezioso.

Per dimensionare questi stadi — scegliere Sallen-Key o multiple-feedback, posizionare il polo, leggere il roll-off — abbiamo messo online un [progettista di filtri analogici con diagramma di Bode](/tools/analog-filter-bode/); la teoria, con i casi d'uso, è nella [wiki dedicata](/wiki/analog-filter-bode/).

## Quando conviene un IIR digitale

Superato lo sbarramento dell'anti-aliasing, una volta che i campioni sono **dentro** il dominio digitale e già protetti da aliasing, il filtraggio in software è di norma la scelta più conveniente, a patto che il budget di calcolo e la latenza ammessa lo consentano. Un filtro IIR (Infinite Impulse Response) digitale offre vantaggi che l'analogico non può eguagliare.

È **tunabile a runtime**: cambi i coefficienti e cambi la frequenza di taglio senza toccare un solo componente. In un prodotto che deve coprire più configurazioni o adattarsi al segnale, questo è decisivo. Non ha **deriva di componenti**: un filtro analogico vive di tolleranze di resistori e condensatori, che invecchiano e variano con la temperatura, spostando il polo nel tempo. Un IIR ha la risposta definita da numeri esatti, identica oggi e fra dieci anni. È **riproducibile al bit**: mille schede hanno mille filtri rigorosamente identici, senza la dispersione di un BOM analogico. E permette **pendenze ripide e fasi controllate** — ordini elevati, risposte ellittiche o Bessel a fase lineare — che in analogico richiederebbero stadi multipli, ingombro e costo.

Il prezzo da pagare è il carico computazionale e l'attenzione alla stabilità numerica: un IIR mal condizionato, implementato in virgola fissa con poca risoluzione sui coefficienti, può diventare instabile o introdurre cicli limite. Per progettare il filtro, scegliere la topologia e verificarne la risposta abbiamo un [designer di filtri IIR](/tools/iir-filter-designer/) e la sua [wiki](/wiki/iir-filter-designer/).

## La regola che applichiamo

La sintesi che usiamo in progetto è netta: **analogico per ciò che deve avvenire prima della conversione** — anti-aliasing su tutto, più reiezione dei disturbi ad alta energia — e **digitale per la sagomatura fine** una volta che il segnale è al sicuro nel dominio campionato. Il filtro anti-aliasing analogico non è negoziabile e non si delega al software: è l'unica protezione contro un errore che, una volta avvenuto, nessun algoritmo può annullare. Tutto il resto è dove il digitale, con la sua flessibilità e riproducibilità, dà il meglio.

---

Stai dimensionando la catena di acquisizione di un tuo progetto e devi decidere dove mettere il filtro? [Parliamone](/contatti/).
