Menu Chiudi

Cancellazione del rumore

In molte occasioni ci è capitato di dover produrre o ascoltare un segnale acustico in un luogo esposto a rumori di vario genere come una stazione ferroviaria, un negozio con musica ad alto volume o, più semplicemente, in mezzo al traffico di una congestionata città moderna. Per questo oggi è fondamentale l’utilizzo di sistemi capaci di eliminare il rumore indesiderato al fine di ricavare da un segnale sporco il corrispondente segnale utile pulito, senza interferenze.

Un esperimento tutt’altro che insonorizzato

Questo laboratorio è stato sviluppato da Carlo Chillemi, Paola D’Angelo Cicchini, Sofia Colucci, Mia Galante e Riccardo Pacchiarotti in collaborazione con il professor Danilo Comminiello (Dipartimento di Informatica, Elettronica e Telecomunicazioni La Sapienza di Roma).

Materiale didattico a supporto

Prerequisiti

Competenze base

  • conoscenze minime del calcolo matriciale;
  • conoscenze minime di rappresentazione di audio digitali;
  • capacità di tradurre in un linguaggio abbastanza formale una procedura, un algoritmo;
  • competenze base di programmazione.

Soft skills

  • capacità di problem solving
  • capacità di lavoro di gruppo

Obiettivi

L’obiettivo del nostro progetto è elaborare un software capace di ripulire un segnale disturbato dal rumore proveniente da una seconda sorgente migliorandone la qualità. Se non siete avvezzi con la programmazione, non temete, seguiremo quello che noi chiamiamo un approccio semplice al coding, tre step che vi porteranno a realizzare il vostro programma per la cancellazione del rumore:

  • sarete guidati alla scrittura di una o più procedure in linguaggio naturale (in italiano) cercando di rendere ogni frase quanto più possibile chiara e non ambigua (non necessariamente alla prima stesura, ci arriveremo per approssimazioni successive – useremo quello che chiamiamo un approccio semplice al coding che è descritto su questo stesso sito in una serie di articoli a partire da Programmare senza un linguaggio di programmazione 1/3);
  • le procedure saranno implementate utilizzando il generatore di codice Blockly, l’applicazione è testata all’interno del generatore di codice fino ad essere sicuri del suo funzionamento;
  • infine realizzeremo l’app copiando il codice Python generato da Blockly in un interprete e funzionerà senza bisogno di ulteriori interventi!