BIG DATA SENSING, COMPRESSION AND COMMUNICATION
Academic Year 2026/2027 - Docente: FABIO ANTONINO BUSACCARisultati di apprendimento attesi
Il corso si propone di fornire agli studenti le conoscenze fondamentali e le competenze pratiche relative all'acquisizione, all'elaborazione, alla compressione dei dati, alle architetture di rete per l'IoT e alle comunicazioni wireless LPWAN.
Descrittori di Dublino
Conoscenza e capacità di comprensione (knowledge and understanding): Il corso si propone di fornire agli studenti conoscenze e capacità di comprensione relative alle tecniche e agli algoritmi per l'acquisizione, la rappresentazione e l'elaborazione di dati eterogenei (ad es. telemetria da sensori, audio, immagini digitali e video) raccolti in ambienti intelligenti. Gli studenti analizzeranno i metodi di compressione dati lossless e lossy e i principi del compressive sensing. Verranno inoltre approfondite le architetture di rete per l'Internet of Things, il paradigma del Social Internet of Things (SIoT) e le tecnologie di comunicazione wireless (LoRa/LoRaWAN, Sigfox, MQTT, Wi-Fi) per il trasferimento massivo di Big Data.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): Al termine del corso, gli studenti saranno in grado di manipolare, elaborare e ricostruire dati eterogenei acquisiti da ambienti smart, implementare, valutare e confrontare algoritmi di compressione dati e progettare catene di trasmissione per sistemi IoT. Gli studenti sapranno configurare pipeline di ingestione dati con MQTT, valutare tecnologie LPWAN (LoRa e Sigfox) e realizzare applicazioni pratiche di acquisizione dati, telemetria e trasmissione wireless utilizzando microcontrollori Arduino e ricetrasmettitori LoRa.
Autonomia di giudizio (making judgements): Gli studenti acquisiranno autonomia di giudizio e capacità critica nell'analizzare e confrontare soluzioni architetturali e algoritmiche in scenari realistici di Big Data e IoT. Sapranno valutare i compromessi tra rapporto di compressione, complessità computazionale e distorsione del segnale, nonché selezionare i protocolli di comunicazione wireless e le architetture IoT più idonee in funzione di vincoli di throughput, raggio di copertura, consumo energetico e navigabilità della rete.
Abilità comunicative (communication skills): Gli studenti saranno in grado di comunicare con chiarezza e rigore metodologico concetti, metodologie di progettazione, modelli architetturali e soluzioni tecniche relative al sensing, alla compressione e alla trasmissione per Big Data e IoT. Sapranno descrivere l'architettura delle soluzioni software sviluppate, documentare i risultati delle attività sperimentali di laboratorio (telemetria da sensori, prestazioni di collegamenti radio) ed esporre relazioni tecniche sia a interlocutori specialisti che non specialisti.
Capacità di apprendimento (learning skills): Gli studenti svilupperanno capacità di apprendimento tali da consentire loro di tenersi costantemente aggiornati sull'evoluzione tecnologica nel settore del Big Data sensing, della compressione dati e delle comunicazioni IoT. Acquisiranno la metodologia per consultare autonomamente standard internazionali (IEEE, IETF), specifiche tecniche (LoRaWAN, Sigfox, MQTT) e letteratura scientifica recente, applicando tali competenze in successivi percorsi di studio avanzato o in progetti di ingegneria in ambito industriale.
Course Structure
L'insegnamento si svolge attraverso lezioni frontali e attività di laboratorio. Le lezioni introdurranno i concetti teorici e metodologici con il supporto di slide, lavagna e simulatori software interattivi eseguiti a lezione (protocolli di accesso casuale, spettro RF, grafi sociali SIoT, interazioni con il broker MQTT, trame Sigfox UNB, modulazione e dechirping LoRa CSS), mostrati per comprendere dinamicamente il funzionamento dei sistemi. Le attività di laboratorio permetteranno agli studenti di sviluppare competenze pratiche tramite analisi ed elaborazione di segnali in Python, benchmark di algoritmi di compressione, programmazione di microcontrollori Arduino, telemetria con sensori DHT11 e trasmissione wireless di dati e immagini tramite moduli LoRa, in collaborazione con i docenti.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Required Prerequisites
Nozioni matematiche di base (analisi matematica, calcolo differenziale e integrale, algebra lineare, matrici, vettori, notazione esponenziale e logaritmica, elementi di probabilità) ed elementi di programmazione informatica (Python e/o C/C++). Nozioni di base sui segnali e sulle reti di telecomunicazioni sono utili ma non strettamente vincolanti.
Attendance of Lessons
Per una comprensione approfondita degli argomenti trattati e delle metodologie presentate, si raccomanda vivamente la regolare partecipazione alle lezioni e alle attività di laboratorio.
Detailed Course Content
L'insegnamento fornisce una solida comprensione e competenze pratiche per la gestione, l'elaborazione e la trasmissione dei Big Data in ambienti smart e distribuiti. Il corso affronta i fondamenti della generazione, codifica e compressione dell'informazione, analizzando sorgenti di dati eterogenee quali audio digitale, immagini, flussi video e serie temporali da sensori IoT. Vengono studiate le tecniche di codifica lossless, la compressione lossy e la teoria rate-distortion, gli standard multimediali e il compressive sensing. Nella parte trasmissiva, il corso approfondisce i modelli architetturali di riferimento per l'IoT, il paradigma del Social Internet of Things (SIoT) con le relative relazioni sociali tra oggetti, navigabilità della rete e service discovery, nonché i protocolli wireless per il trasferimento massivo di dati, quali LoRa/LoRaWAN, Sigfox, MQTT e IEEE 802.11 (Wi-Fi). La didattica frontale è arricchita da esempi e simulatori software interattivi eseguiti a lezione per comprendere il funzionamento dinamico dei protocolli (accesso casuale ALOHA, spettro RF, grafi sociali SIoT, interazioni con il broker MQTT, trame Sigfox UNB, modulazione e dechirping LoRa CSS). Tali concetti sono integrati da specifici laboratori pratici: elaborazione di segnali e analisi spettrale su dati audio e da sensori in Python, benchmark di algoritmi di compressione, interfacciamento di microcontrollori Arduino con sensori ambientali (DHT11) per la telemetria e con ricetrasmettitori LoRa Semtech SX127x, e realizzazione di un LoRa serial bridge per la trasmissione wireless a pacchetti di immagini, con ricostruzione e ricezione grafica tramite interfaccia Python.
Textbook Information
[1] A. Rezzani, Big Data Analytics: Il manuale del data scientist, Apogeo Maggioli Editore.
[2] V. Lombardo, A. Valle, Audio e multimedia, 4a edizione, Apogeo Maggioli Editore.
[3] D. Salomon, Data Compression: The Complete Reference, 4a edizione, Springer.
[4] Z. Li, M. Drew, Fundamentals of Multimedia, Pearson.
[5] Z. Han, H. Li, W. Yin, Compressive Sensing for Wireless Networks, Cambridge University Press.
[6] F. Wu, Advances in Visual Data Compression and Communication: Meeting the Requirements of New Applications, CRC Press.
[7] U. Raza, P. Kulkarni, M. Sooriyabandara, "Low Power Wide Area Networks: An Overview", IEEE Communications Surveys and Tutorials, vol. 19, no. 2, pp. 855-874, 2017.
[8] C. Yang, D. Puthal, S. P. Mohanty, E. Kougianos, "Big Sensing Data Curation in Cloud Data Center for Next Generation IoT and WSN", IEEE Consumer Electronics Magazine, 2017.
[9] M. Lavric, V. Popa, "Internet of Things and LoRa™ Low-Power Wide-Area Networks: A survey", Proc. of 2017 International Symposium on Signals, Circuits and Systems (ISSCS), 2017.
[10] Sigfox Technical Overview, Technical White Paper and System Specifications.
[11] Standard e raccomandazioni IEEE per reti locali wireless (IEEE 802.11 / Wi-Fi).
[12] L. Atzori, A. Iera, G. Morabito, "The Social Internet of Things (SIoT) – When social networks meet the Internet of Things: Concept, architecture and network characterization", Computer Networks, vol. 56, no. 16, pp. 3594-3608, 2012.
[13] Diapositive delle lezioni, note dei docenti, simulatori software dimostrativi usati a lezione, esercitazioni di laboratorio con relativo codice e sketch (repository BDS26) resi disponibili tramite la piattaforma didattica d'ateneo.
Course Planning
| Subjects | Text References | |
|---|---|---|
| 1 | Introduzione a Internet of Things (IoT) e Big Data: definizioni, le V dei dati (Volume, Velocity, Variety, Veracity, Value), ciclo di vita dei dati e ambienti smart. | Capitolo 1 del testo [1]; articolo [8] |
| 2 | Operazioni e data curation su Big Data: acquisizione, archiviazione, pre-elaborazione e gestione in scenari cloud ed edge. | Articolo [8]; note e diapositive dei docenti [13] |
| 3 | Sensing dei Big Data: fenomeni fisici, sorgenti di dati eterogenee, dati analogici e digitali, meccanismi di generazione. | Capitoli 1 e 2 del testo [2]; diapositive [13] |
| 4 | Sorgenti audio e fondamenti dell'udito umano: onde acustiche e propagazione, risposta in frequenza, gamma dinamica, percezione e modelli psicoacustici. | Capitolo 1 del testo [2] |
| 5 | Fondamenti di audio digitale: teoria del campionamento, criterio di Nyquist-Shannon, quantizzazione e codifica digitale (PCM). | Capitoli 2 e 3 del testo [2]; diapositive [13] |
| 6 | Formati di file audio e compressione: formati non compressi, mascheramento percettivo, codifica lossy e formati contenitore. | Capitoli 4, 6 e 8 del testo [2]; Capitolo 14 del testo [4] |
| 7 | Sorgenti di immagini e video digitali: campionamento spaziale e temporale, spazi di colore (RGB, YUV) e rappresentazioni video raw. | Capitoli 3 e 4 del testo [4] |
| 8 | Fondamenti della codifica video: ridondanza intra-frame (spaziale) e inter-frame (temporale), stima e compensazione del movimento, codifica basata su trasformate. | Capitoli 8, 9 e 10 del testo [4]; Capitolo 1 del testo [6] |
| 9 | Formati video, container e flussi multimediali: architetture di incapsulamento (MP4, MKV), vincoli di trasmissione real-time, ritardo, jitter e sincronizzazione. | Capitoli 5 e 15 del testo [4]; Capitolo 2 del testo [6] |
| 10 | Attività di Laboratorio 1 - Analisi ed elaborazione di segnali audio, immagini e serie temporali: elaborazione pratica di segnali, analisi spettrale, filtraggio e visualizzazione in Python. | Scheda di laboratorio e codice Python [13] |
| 11 | Fondamenti di compressione dei Big Data: teoria dell'informazione, auto-informazione, entropia di sorgente e limiti teorici di compressione. | Capitoli 1 e 2 del testo [3]; Capitolo 2 del testo [4] |
| 12 | Tecniche di compressione lossless: codifica Run-Length, Huffman, Shannon-Fano e algoritmi basati su dizionario. | Capitoli 2 e 3 del testo [3]; Capitolo 3 del testo [4] |
| 13 | Compressione lossy e teoria di rate-distortion: strategie di quantizzazione scalare/vettoriale, metriche di distorsione (MSE, PSNR), curve e compromessi rate-distortion. | Capitoli 1 e 4 del testo [3]; Capitolo 8 del testo [4] |
| 14 | Compressione basata su trasformate: Trasformata Discreta del Coseno (DCT), principi di trasformata Wavelet e pipeline di compressione JPEG. | Capitoli 4 e 5 del testo [3]; Capitolo 4 del testo [6] |
| 15 | Compressive Sensing: sparsità del segnale, incoerenza, matrici di misura casuali e algoritmi di ricostruzione tramite ottimizzazione convessa. | Capitoli 3, 4, 5 e 6 del testo [5] |
| 16 | Attività di Laboratorio 2 - Benchmark di algoritmi di compressione: implementazione, benchmarking e confronto prestazionale di algoritmi di codifica e compressione dati su audio e immagini. | Scheda di laboratorio e codice Python [13] |
| 17 | Modelli architetturali per l'IoT e fondamenti del canale wireless: modelli di riferimento (IoT-A, EPCglobal, Cloud of Things, Sensing-as-a-Service), con simulazione interattiva a lezione di protocolli ad accesso casuale (ALOHA puro/slotted, terminale nascosto e spettro RF). | Diapositive dei docenti [13]; articolo [7]; simulatori di lezione [13] |
| 18 | Social Internet of Things (SIoT) - Concetti e relazioni tra oggetti: convergenza tra social network e IoT; relazioni autonome tra oggetti: Parental (POR), Co-Location (C-LOR), Co-Work (C-WOR), Ownership (OOR), Social (SOR). | Articolo [12]; diapositive dei docenti [13] |
| 19 | Social Internet of Things (SIoT) - Architettura, navigabilità e simulatore di lezione: sottolivelli del server SIoT, gestione delle relazioni, service discovery, trustworthiness e simulazione di scenari smart city (routing del traffico, controllo energetico domestico). | Articolo [12]; simulatore interattivo SIoT [13] |
| 20 | Protocolli applicativi per l'IoT: architettura MQTT: paradigma publish/subscribe, funzionalità del broker, filtraggio dei topic e livelli di QoS (0, 1, 2) per Big Data ingestion, con simulatore interattivo a lezione e script client Python. | Diapositive dei docenti [13]; specifiche standard MQTT; script di esempio [13] |
| 21 | Tecnologia Sigfox e trasmissione Ultra-Narrowband (UNB): livello fisico UNB, accesso casuale con frequency hopping, struttura del frame a 12 byte e simulazione a lezione dello spettro (diversità di frequenza, vincoli di duty cycle). | Documento tecnico [10]; articolo [7]; simulatori di lezione [13] |
| 22 | Livello fisico LoRa e modulazione CSS: modulazione Chirp Spread Spectrum (CSS), Spreading Factor (SF7-SF12), banda, processo di dechirping e calcolo del tempo di trasmissione (airtime) e della capacità, illustrati tramite simulatori interattivi a lezione. | Articolo [9]; simulatori di lezione [13] |
| 23 | Architettura di rete LoRaWAN: topologia a stella di stelle, classi di dispositivi (A, B, C), gateway, network server, vincoli di duty cycle e link budget in scenari IoT. | Articolo [9]; articolo [7]; diapositive [13] |
| 24 | Reti locali wireless per Big Data: standard IEEE 802.11 (Wi-Fi): livelli fisici WLAN ad alto throughput, meccanismo CSMA/CA e offloading di flussi di dati da sensori ad elevato bit rate. | Standard e raccomandazioni IEEE [11]; diapositive [13] |
| 25 | Attività di Laboratorio 3 - Telemetria IoT e trasmissione wireless con Arduino e LoRa: interfacciamento di microcontrollori Arduino con sensori ambientali DHT11 e ricetrasmettitori Semtech SX127x, formattazione dei pacchetti e trasmissione wireless punto-punto. | Codice Arduino e schede di laboratorio [13] |
| 26 | Attività di Laboratorio 4 - Trasmissione wireless di immagini tramite LoRa Serial Bridge e GUI Omnireceiver: trasmissione a pacchetti di dati binari e immagini su collegamenti LoRa, riassemblaggio dei pacchetti e visualizzazione in tempo reale con la GUI Omnireceiver in Python. | Codice sorgente Arduino/Python e schede di laboratorio [13] |
Learning Assessment
Learning Assessment Procedures
L'esame consiste in una prova orale volta ad accertare sia le conoscenze teoriche sia le competenze pratiche acquisite durante il corso. La prova comprende la discussione delle attività pratiche ed esercitative di laboratorio (analisi di segnali in Python, benchmark di algoritmi di compressione, telemetria e trasmissione di immagini tramite Arduino e moduli LoRa) e una verifica orale sui contenuti teorici e metodologici dell'insegnamento. La prova d'esame è finalizzata a valutare in modo approfondito la preparazione dello studente, la capacità di analisi e di ragionamento sugli argomenti trattati durante il corso, nonché l'adeguatezza del linguaggio tecnico utilizzato.
Tali prove potranno avere luogo per via telematica, qualora le condizioni lo dovessero richiedere.
Criteri di attribuzione del voto finale
Per l'attribuzione del voto finale si seguiranno di norma i seguenti criteri:
- Non approvato: lo studente non ha acquisito i concetti di base e non è in grado di svolgere gli esercizi o illustrare le attività pratiche di laboratorio.
- 18–23: lo studente dimostra una padronanza minima dei concetti teorici fondamentali, con modesta capacità di esposizione e collegamento tra gli argomenti; riesce a discutere le attività di laboratorio con la guida dei docenti.
- 24–27: lo studente dimostra una buona padronanza dei contenuti del corso e un appropriato linguaggio tecnico; affronta le attività applicative e di laboratorio in autonomia, commettendo solo lievi imprecisioni.
- 28–30 e lode: lo studente possiede una conoscenza approfondita e completa di tutti i contenuti dell'insegnamento; è in grado di esporli con chiarezza, rigore metodologico e spirito critico, collegando autonomamente i diversi aspetti (sensing, compressione, architetture SIoT e comunicazioni wireless); illustra e discute le attività sperimentali e i modelli architetturali in modo brillante ed esente da errori.
Studenti con disabilità e/o DSA
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame i docenti, il referente CInAP del DMI (prof.ssa Daniele) e il CInAP per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.
Examples of frequently asked questions and / or exercises
Si precisa che tali domande hanno carattere puramente indicativo: le domande effettivamente proposte in sede d'esame potranno divergere, anche in modo significativo, da quelle riportate in questa lista.
Durante le lezioni e le attività di laboratorio verranno svolti degli esercizi e dimostrazioni pratiche simili a quelli che gli studenti dovranno affrontare nel loro esame finale. Ulteriori esercizi e materiale didattico verranno resi disponibili nel corso delle lezioni sulla piattaforma di ateneo.
1. Quali sono le caratteristiche fondamentali dei Big Data (le V) e quali sfide specifiche introducono nelle pipeline di sensing e negli ambienti smart distribuiti?
2. Enunciare il teorema del campionamento di Nyquist-Shannon, spiegare il fenomeno dell'aliasing dal punto di vista matematico e come viene implementato il filtraggio anti-aliasing nell'acquisizione di audio digitale.
3. Confrontare l'audio digitale non compresso (PCM) con la codifica audio percettiva lossy, illustrando il ruolo dei modelli psicoacustici e come le soglie di mascheramento consentano elevati rapporti di compressione senza un degrado percepibile della qualità.
4. Descrivere le fasi sequenziali della pipeline di compressione JPEG baseline: trasformazione dello spazio colore, DCT, applicazione della matrice di quantizzazione e codifica entropica.
5. Spiegare come gli algoritmi di compressione video sfruttano la ridondanza temporale tramite la stima e la compensazione del movimento, illustrando il ruolo e le differenze dei frame I, P e B.
6. Illustrare i fondamenti e i requisiti del Compressive Sensing: spiegare il concetto di sparsità del segnale nei domini trasformati, la Restricted Isometry Property (RIP) delle matrici di misura e la ricostruzione tramite ottimizzazione convessa (minimizzazione della norma L1).
7. Descrivere il paradigma del Social Internet of Things (SIoT): illustrare le cinque relazioni fondamentali tra oggetti (POR, C-LOR, C-WOR, OOR, SOR) e come le relazioni sociali garantiscano una navigabilità scalabile della rete e il service discovery.
8. Descrivere l'architettura publish/subscribe del protocollo MQTT, spiegando il funzionamento del broker, le differenze operative e le garanzie offerte dai livelli di Quality of Service (QoS 0, 1, 2) nello streaming di telemetria da sensori IoT.
9. Confrontare le tecnologie LoRa/LoRaWAN e Sigfox evidenziandone le differenze in termini di modulazione del livello fisico (CSS vs. UNB), frequenze operative, copertura, bit rate, scalabilità, efficienza energetica e vincoli di duty cycle.
10. Attività di laboratorio: spiegare l'architettura di una catena di trasmissione dati IoT con Arduino e moduli LoRa, illustrando come i dati di un sensore ambientale (es. DHT11) o payload binari (es. immagini) vengono frammentati, trasmessi e ricostruiti da un ricevitore con interfaccia grafica in Python.