algoritmi:
Le applicazioni nel campo dell'Intelligenza Artificiale (AI) stanno trovando sempre più strada in quasi tutti i settori e rappresentano un fattore decisivo nel progredire della creazione del valore aziendale. La trasformazione digitale richiede periodi di innovazione sempre più brevi da …
Con questo articolo andremo a terminare la presentazione delle caratteristiche dell'SDK denominato Edge Impulse. Edge Impulse permette di realizzare modelli di apprendimento automatico e facilita la loro distribuzione su dispositivi embedded. Nella prima parte abbiamo preso in considerazione un tutorial …
Vi presentiamo oggi l'ultimo numero della rivista tecnica Firmware 2.0 per l'anno 2020. Il topic di questo mese è dedicato all'ambito Embedded Design/Makers Boards. In questo numero di Firmware 2.0 troverete articoli tecnici su: algoritmi SHA-3 nei sistemi embedded, MicroPython, …
SHA-3, la versione più recente del Secure Hash Algorithm le cui specifiche sono state ufficialmente rilasciate nel 2015, si differenzia in modo significativo rispetto alle precedenti versioni di algoritmi della stessa famiglia (SHA-1 e SHA-2). Scopriamo in questo articolo quali …
Quando si parla di “riconoscere” un oggetto in un’immagine o un video, in genere la prima cosa che viene in mente sono quei filmati di youtube in cui una qualche intelligenza artificiale piazza un rettangolino colorato attorno ad una persona, …
Per una persona, “riconoscere un oggetto” è un processo così automatico che, se dovessimo chiedere a qualcuno “come si fa”, probabilmente dovrebbe pensarci un pò prima di riuscire a dare una risposta. Ma, a voler stringere, possiamo dire che si …
Il protocollo a conoscenza zero o dimostrazione a conoscenza zero è una tecnica largamente utilizzata nel mondo della crittografia. Tra le sue applicazioni più interessanti rientrano le criptovalute, dove consente di eseguire la validazione delle transazioni inserite nella blockchain mantenendo …
Prima o poi l'intelligenza artificiale batterà l'uomo e lo porrà in secondo ordine. Parliamo di vera intelligenza, di come un computer potrà affrontare i problemi e risolverli senza un algoritmo predeterminato e conosciuto dall'uomo. Questo avverrà massivamente con l'avvento dei …
Il successo dell'Apprendimento Automatico, noto anche come Machine Learning, si basa sulla scalabilità. Con l'avanzare del Machine Learning gli ingegneri dovranno progettare sistemi in grado di regolare dinamicamente la risorsa di elaborazione fornita. Il cambiamento è continuo e costante: l'Intelligenza …
In un precedente articolo avevamo introdotto Weka, un workbench open source per l'apprendimento automatico che consente anche ai neofiti di avvicinarsi fin da subito al mondo del machine learning senza la necessità di conoscenze estese nel campo della programmazione. In …
L'apprendimento automatico (machine learning) è un processo iterativo che richiede l'utilizzo di molti strumenti, programmi e script diversi per ogni fase. Un workbench (banco di lavoro) per l'apprendimento automatico è una piattaforma o un ambiente che supporta e facilita una …
La tecnologia blockchain sta assumendo con il passare del tempo un interesse sempre più crescente. Ciò è dovuto al fatto che le applicazioni basate su blockchain interessano vari settori fra i quali, di maggior espansione, i servizi finanziari e in …
In questo articolo si proporrà una soluzione completamente digitale per estrarre il clock da un flusso di dati seriali codificati con un protocollo NRZ. Ovviamente, essendo completamente digitale potrà essere implementata agevolmente su FPGA. La maggior parte dei collegamenti seriali integrano il segnale di clock nella trasmissione dei dati. Fondamentalmente è compito …
Nulla si crea e nulla si distrugge; in effetti, per trasferire contenuti di tipo multimediale si fa riferimento a politiche di compressione al fine di ottimizzare l’enorme carico di lavoro richiesto dall’applicazione in gioco. Audio e grafica: due campi abbastanza variegati con caratteristiche …
La sempre maggiore disponibilità di interfacce per lo scambio dati, e le reti prese d’assalto con l’espansione dell’utilizzo dei dispositivi portatili, rende necessario realizzare condivisioni dati veloci ed efficaci, in grado di raggruppare nel più breve tempo possibile il maggior numero di informazioni. In questo testo analizzeremo perché è …
Negli ultimi anni le tecniche di controllo predittivo, basate su modello, hanno suscitato interesse crescente nel settore del controllo di processo poiché possono consentire un miglioramento di prestazioni rispetto alle tecniche convenzionali. In questo articolo sono trattati alcuni algoritmi di controllo predittivo non lineare di cui …
In molte applicazioni è spesso necessario generare numeri casuali distribuiti più o meno uniformemente in un determinato intervallo, ma l’ordine dei programmi e dei circuiti logici rende difficoltosa questa operazione. Ecco allora alcune utili tecniche. A parte la realizzazione di un giogo di dadi, la generazione di numeri casuali viene utilizzata in molteplici applicazioni e …
Disegnare, implementare e calibrare un sistema di controllo complesso tramite il solo utilizzo di programmazione visuale, senza necessità di scrittura di codice in linguaggi di programmazione come il C o l’assembler. Tutto questo è possibile con i tools open-source Scilab e Scicos e la …
Scopriamo Guetzli, il nuovo encoder per immagini JPEG, che promette un alto tasso di compressione dati unito a una eccellente qualità di visualizzazione. La dimensione delle foto, infatti, risulta essere anche del 30% in meno dei normali compressori di questo …
Oggi esistono differenti algoritmi di programmazione, ogni casa costruttrice elabora un proprio modello. Le procedure di test di questi dispositivi sono spesso (non sempre) basati sul comportamento di questi algoritmi. Le case costruttrici, poi, si basano molto sulla loro efficienza …
Eccoci arrivati alla quarta lezione della nostra Guida per giovani makers. Nelle lezioni precedenti abbiamo visto come costruire un computer con Raspberry Pi 3 ed utilizzare i programmi del sistema operativo Raspbian. Raspberry nasce proprio con l’idea di diffondere una …
L’elettronica, come la maggior parte dei rami scientifico ingegneristici, per l’interpretazione dei dati richiede la risoluzione di equazioni talvolta molto complesse. Ma come è possibile che un microprocessore sia in grado di eseguire un calcolo trigonometrico utilizzando solamente addizioni e sottrazioni? I rami della matematica, e i teoremi ad essa legati, sono innumerevoli, spesso di difficile interpretazione e raramente implementabili, ma altre …
Il GSM è lo standard utilizzato per la trasmissione su mobile e A5/1 è uno dei sistemi per cifrarne le informazioni. In questo articolo vedremo alcune caratteristiche e la realizzazione di un algoritmo di questo tipo. Ogni frame, in ambito GSM, è composto di 114 bit (per ogni direzione) e uno degli algoritmi maggiormente utilizzati …
Uno schedulatore è certamente il cuore di un sistema che si definisce real-time. Quali sono le ragioni per cui un sistema possa definirsi real-time? Come un sistema real-time svolge il proprio ruolo? Quali sono gli algoritmi di schedulazione utilizzati in un sistema …
La specifica USB utilizza il classico CRC (Cyclic Redundancy Checksums) per garantire l’integrità dei pacchetti dagli errori di trasmissione. I pacchetti previsti dallo standard USB sono quattro: token, data, handshake e special. Ogni pacchetto è diviso in campi di 8 bit (o multipli di 8) ciascuno. I …