I filtri sono componenti essenziali nell'ingegneria delle comunicazioni, utilizzati per modificare i segnali permettendo a certe frequenze di passare bloccando altre. SciPy, una libreria Python, fornisce strumenti per progettare e analizzare in modo efficiente vari tipi di filtri. Questo articolo presenta esempi pratici di progettazione dei filtri con SciPy, concentrandosi sulla loro applicazione nei sistemi di comunicazione.

Progettazione di un filtro a basso passaggio

Un filtro a basso passaggio consente di impostare segnali con frequenze inferiori a un punto di cutoff per passare, attenuando le frequenze più elevate. Utilizzando SciPy, è possibile progettare tali filtri con la funzione , che crea filtri Butterworth noti per una risposta a frequenza piatta.

Esempio di codice per progettare un filtro Butterworth a basso passaggio:

Una volta progettato, il filtro può essere applicato ai segnali utilizzando .

Progettazione di un filtro Bandpass

I filtri Bandpass consentono di passare segnali all'interno di una specifica gamma di frequenze, bloccando le frequenze al di fuori dell'intervallo. La funzione di SciPy [ può essere utilizzata anche per creare questi filtri.

Esempio di codice per un filtro Butterworth bandpass:

Analisi e visualizzazione dei filtri

SciPy fornisce strumenti per analizzare le caratteristiche del filtro, come la risposta alla frequenza. La funzione calcola la risposta di frequenza, che può essere visualizzata utilizzando Matplotlib.

Esempio di codice per tracciare la risposta di frequenza:

Il grafico mostra come il filtro influisce sulle frequenze diverse, aiutando nella convalida del design.