IT202100005234A1 - Metodo per sincronizzare in modo centralizzato l'esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e sistema che implementa il metodo - Google Patents
Metodo per sincronizzare in modo centralizzato l'esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e sistema che implementa il metodo Download PDFInfo
- Publication number
- IT202100005234A1 IT202100005234A1 IT102021000005234A IT202100005234A IT202100005234A1 IT 202100005234 A1 IT202100005234 A1 IT 202100005234A1 IT 102021000005234 A IT102021000005234 A IT 102021000005234A IT 202100005234 A IT202100005234 A IT 202100005234A IT 202100005234 A1 IT202100005234 A1 IT 202100005234A1
- Authority
- IT
- Italy
- Prior art keywords
- peripheral
- instruction
- training
- time
- timestamp
- Prior art date
Links
- 230000002093 peripheral effect Effects 0.000 title claims description 103
- 238000000034 method Methods 0.000 title claims description 54
- 238000012549 training Methods 0.000 claims description 122
- 238000013528 artificial neural network Methods 0.000 claims description 30
- 238000012790 confirmation Methods 0.000 claims description 23
- 230000001934 delay Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 16
- 230000001360 synchronised effect Effects 0.000 claims description 16
- 101100179594 Caenorhabditis elegans ins-4 gene Proteins 0.000 claims description 7
- 101150089655 Ins2 gene Proteins 0.000 claims description 7
- 101100072652 Xenopus laevis ins-b gene Proteins 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 claims 11
- 230000003111 delayed effect Effects 0.000 claims 3
- 238000004590 computer program Methods 0.000 claims 2
- 238000005259 measurement Methods 0.000 description 123
- 230000003044 adaptive effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 101100179596 Caenorhabditis elegans ins-3 gene Proteins 0.000 description 3
- 101000572983 Rattus norvegicus POU domain, class 3, transcription factor 1 Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 239000010453 quartz Substances 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 101100326684 Caenorhabditis elegans tra-3 gene Proteins 0.000 description 1
- 101100152865 Danio rerio thraa gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 101150117196 tra-1 gene Proteins 0.000 description 1
- 101150058668 tra2 gene Proteins 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
- H04Q9/04—Arrangements for synchronous operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/0055—Synchronisation arrangements determining timing error of reception due to propagation delay
- H04W56/0065—Synchronisation arrangements determining timing error of reception due to propagation delay using measurement of signal travel time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/10—Arrangements in telecontrol or telemetry systems using a centralized architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/40—Arrangements in telecontrol or telemetry systems using a wireless architecture
- H04Q2209/43—Arrangements in telecontrol or telemetry systems using a wireless architecture using wireless personal area networks [WPAN], e.g. 802.15, 802.15.1, 802.15.4, Bluetooth or ZigBee
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/80—Arrangements in the sub-station, i.e. sensing device
- H04Q2209/84—Measuring functions
- H04Q2209/845—Measuring functions where the measuring is synchronized between sensing devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Description
DESCRIZIONE
del brevetto per invenzione industriale dal titolo:
?METODO PER SINCRONIZZARE IN MODO CENTRALIZZATO L'ESECUZIONE DI ISTRUZIONI DA PARTE DI DISPOSITIVI PERIFERICI DI UNA RETE SENZA FILI E SISTEMA CHE IMPLEMENTA IL METODO?
La presente invenzione ? relativa ad un metodo per sincronizzare in modo centralizzato l?esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e ad un sistema che implementa il metodo.
Come noto, dispositivi elettronici portatili quali ad esempio smartphone, laptop e smartwatch, possono essere collegati reciprocamente tra loro in modo da formare una rete senza fili, ad esempio tramite protocolli noti quali Wi-Fi e Bluetooth.
Ad esempio, una rete senza fili pu? essere formata da una pluralit? di dispositivi di misurazione e da un dispositivo principale, il quale ha tipicamente risorse hardware pi? avanzate, ad esempio in termini di memoria e potenza di calcolo, rispetto ai dispositivi di misurazione. I dispositivi di misurazione comprendono sensori e attuatori incorporati quali accelerometri, giroscopi ecc., ad esempio di tipo MEMS, che sono configurati per acquisire segnali elettrici in funzione di una o pi? grandezze fisiche (ad esempio, accelerazioni) e inviarli al dispositivo principale.
In tali reti senza fili, il dispositivo principale ? configurato per elaborare i segnali ricevuti dai dispositivi di misurazione.
Ad esempio, il dispositivo principale pu? essere uno smartphone e i dispositivi di misurazione possono essere dispositivi indossabili quali smartwatch, i quali sono disposti a contatto con diverse parti del corpo di un utente.
Tali dispositivi di misurazione possono rilevare grandezze fisiche rappresentative del movimento dell?utente e inviare i dati acquisiti nel tempo al dispositivo principale, il quale li pu? elaborare per determinare un profilo di movimento dell?utente, ad esempio per monitorarne o identificarne diverse attivit? quali corsa, nuoto, ecc.
Il dispositivo principale e i dispositivi di misurazione comprendono ciascuno un rispettivo temporizzatore (?clock?), ad esempio un temporizzatore a corsa libera (?free-running?), ad esempio ottenuto da un oscillatore elettronico oppure derivato, ad esempio un anello ad aggancio di fase (?PhaseLock Loop?), che ne regola la frequenza di funzionamento. ? noto che il comportamento di un temporizzatore pu? variare nel tempo a causa del cambiamento di condizioni operative quali ad esempio la temperatura. Inoltre, il comportamento di un temporizzatore pu? cambiare in modo diverso tra un dispositivo elettronico e l?altro, ad esempio a seconda del tipo di temporizzatore utilizzato o di differenze costruttive.
Tali variazioni nel comportamento dei temporizzatori fanno s? che si creino asincronie tra i dispositivi di misurazione e tra i dispositivi di misurazione e il dispositivo principale.
Di conseguenza, anche i dati acquisiti dai dispositivi di misurazione hanno asincronie che possono causare errori durante la successiva relativa elaborazione da parte del dispositivo principale.
Inoltre, tali variazioni possono essere difficilmente identificabili e quindi difficilmente prevenute o compensate, in quanto possono essere ulteriormente influenzate, ad esempio, da ritardi di trasmissione dovuti al canale di collegamento senza fili e da ritardi di origine hardware o software interni ai dispositivi elettronici.
? quindi sentita l?esigenza di fornire un metodo per sincronizzare l?esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili, in grado di compensare, in uso, tali asincronie.
Scopo della presente invenzione ? quello di fornire un metodo di sincronizzazione capace di soddisfare almeno in parte la summenzionata esigenza.
Secondo la presente invenzione vengono forniti un metodo per sincronizzare l?esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e un sistema che implementa il metodo come definiti nelle rivendicazioni allegate.
Per una migliore comprensione della presente invenzione ne viene ora descritta una forma di realizzazione, a puro titolo di esempio non limitativo, con riferimento ai disegni allegati, nei quali:
- la figura 1 mostra uno schema a blocchi del presente sistema di misurazione;
- la figura 2 mostra un diagramma di flusso del presente metodo di sincronizzazione del sistema di misurazione di figura 1;
- la figura 3 mostra in forma schematica il diagramma di flusso di figura 2;
- la figura 4 mostra una sequenza di istruzioni eseguite dal sistema di misurazione di figura 1 in ciascun ciclo del metodo di sincronizzazione di figura 2;
- le figure 5 e 6 mostrano ciascuna in dettaglio il diagramma di flusso di una rispettiva fase del metodo di figura - la figura 7 mostra uno schema a blocchi di una rete neurale del sistema di misurazione di figura 1, in uso;
- la figura 8 mostra lo schema a blocchi della rete neurale del sistema di misurazione di figura 1, in uso, in una fase di addestramento;
- la figura 9 mostra un diagramma di flusso della fase di addestramento della rete neurale di figura 8;
- la figura 10 mostra in forma schematica il diagramma di flusso della fase di addestramento di figura 9; e
- la figura 11 mostra una sequenza di istruzioni eseguite dal sistema di misurazione di figura 1 in un ciclo della fase di addestramento della rete neurale di figura 7.
La figura 1 mostra schematicamente un sistema di misurazione 1 comprendente un dispositivo elettronico principale, in seguito dispositivo principale 5, ad esempio uno smartphone o un laptop, e una pluralit? di dispositivi elettronici di misurazione, in seguito dispositivi di misurazione 10, ad esempio dispositivi indossabili quali orologi intelligenti, occhiali per la realt? aumentata, ecc.
In questo esempio, la pluralit? di dispositivi di misurazione 10 include un primo, un secondo ed un terzo dispositivo di misurazione 10A, 10B, 10C, tra loro uguali.
I dispositivi di misurazione 10 sono configurati per comunicare, ciascuno, con il dispositivo principale 5 attraverso un canale di collegamento senza fili, ad esempio attraverso una connessione Bluetooth, Wi-Fi o di altro tipo. In particolare, il dispositivo principale 5 ? configurato per inviare istruzioni di misurazione, ad esempio istruzioni di inizio e fine di un intervallo di acquisizione dati, ai dispositivi di misurazione 10; i dispositivi di misurazione 10 sono configurati per ricevere ed eseguire tali istruzioni di misurazione.
Inoltre, i dispositivi di misurazione 10 sono configurati per inviare al dispositivo principale 5 i dati acquisiti durante ciascun intervallo di acquisizione dati; il dispositivo principale 5 ? configurato per ricevere tali dati acquisiti, al fine di una successiva elaborazione.
Come descritto in dettaglio in seguito, il sistema di misurazione 1 ? configurato in modo tale per cui il dispositivo principale 5 ? in grado di determinare una pluralit? di ritardi ?i (uno per ciascun dispositivo di misurazione 10), con i quali inviare una pluralit? di pacchetti di misurazione Pk, ciascuno comprendente una rispettiva istruzione di misurazione, ai dispositivi di misurazione 10, in modo tale che le istruzioni di misurazione siano eseguite sostanzialmente in modo contemporaneo dai dispositivi di misurazione 10 e quindi compensare eventuali asincronie tra i dispositivi di misurazione 10.
In dettaglio, il dispositivo principale 5 comprende una unit? di controllo 13, un modulo di ricezione e trasmissione (?transceiver?) 15 e una unit? di sincronizzazione 17, operativamente accoppiati tra loro.
Il modulo di ricezione e trasmissione 15 ? configurato per scambiare, ovvero inviare e ricevere, pacchetti di dati con i dispositivi di misurazione 10. In questa forma di realizzazione, il modulo di ricezione e trasmissione 15 comprende inoltre un buffer 20.
L?unit? di controllo 13 include almeno una unit? di elaborazione 21, una memoria 22 e un temporizzatore 23, i quali sono accoppiati tra loro (sebbene ci? non sia mostrato in figura 1). Il temporizzatore 23 ? un qualsiasi tipo di oscillatore elettronico, derivato o basato su oscillatori al quarzo, ad esempio ? un oscillatore controllato in tensione, e determina la frequenza delle operazioni eseguite dal dispositivo principale 5. In questa forma di realizzazione, il temporizzatore 23 comprende un rispettivo registro di clock 24, nel quale viene memorizzato il valore corrente di un contatore associato al funzionamento del temporizzatore 23, il quale ? indicativo dello scorrere del tempo nel sistema di riferimento temporale del dispositivo principale 5.
L?unit? di controllo 13 ? configurata per leggere i pacchetti ricevuti dal modulo di ricezione e trasmissione 15 dai dispositivi di misurazione 10 e per inviare al modulo di ricezione e trasmissione 15 i dati da includere nei pacchetti che vengono inviati ai dispositivi di misurazione 10.
L?unit? di sincronizzazione 17 ? configurata per determinare i summenzionati ritardi ?i, con i quali il modulo di ricezione e trasmissione 15 invia i pacchetti di misurazione Pk, comprendenti le istruzioni di misurazione, ai dispositivi di misurazione 10, secondo il metodo descritto in dettaglio in seguito.
I dispositivi di misurazione 10 comprendono ciascuno una rispettiva unit? di controllo 26, un rispettivo modulo di ricezione e trasmissione 27 e una rispettiva unit? di rilevamento 28, operativamente accoppiati tra loro. Come detto sopra, qui, il primo, il secondo e il terzo dispositivo di misurazione 10A, 10B, 10C sono tra loro uguali; quindi, per semplicit?, le unit? di controllo 26, i moduli di ricezione e trasmissione 27 e le unit? di rilevamento 28 del primo, del secondo e del terzo dispositivo di misurazione 10A, 10B, 10C sono indicati rispettivamente dagli stessi numeri di riferimento.
Il modulo di ricezione e trasmissione 27 di ciascun dispositivo di misurazione 10 ? configurato per scambiare, ovvero inviare e ricevere, pacchetti di dati con il dispositivo principale 5.
L?unit? di rilevamento 28 di ciascun dispositivo di misurazione 10 comprende uno o pi? sensori, ad esempio un accelerometro e/o un giroscopio o un sensore di altro tipo, ed ? configurata per rilevare una o pi? grandezze fisiche associate all?utilizzo del rispettivo dispositivo di misurazione 10 e generare un corrispondente segnale elettrico indicativo di tali grandezze misurate. In particolare, ciascuna unit? di rilevamento 28 ? configurata per acquisire, nel tempo, campioni della corrispondente grandezza.
L?unit? di controllo 26 di ciascun dispositivo di misurazione 10 include almeno una unit? di elaborazione 29 e una memoria 30 e include anche un rispettivo temporizzatore 31, il quale determina la frequenza operativa del rispettivo dispositivo di misurazione 10. Il temporizzatore 31 pu? essere un qualsiasi tipo di oscillatore elettronico, derivato o basato su oscillatori al quarzo, ad esempio un oscillatore controllato in tensione, ad esempio un temporizzatore del tipo a corsa libera (?free-running clock?). In questa forma di realizzazione, il temporizzatore 31 di ciascun dispositivo di misurazione 10 comprende un rispettivo registro di clock 32, nel quale viene memorizzato il valore corrente di un contatore associato al funzionamento del temporizzatore 31, il quale ? indicativo dello scorrere del tempo nel sistema di riferimento temporale del corrispondente dispositivo di misurazione 10. Sebbene non mostrato, l?unit? di elaborazione 29, la memoria 30 ed il temporizzatore 31 di ciascun dispositivo di misurazione 10 sono accoppiati tra loro.
Senza alcune perdita di generalit?, in questa forma di realizzazione i dispositivi di misurazione 10 sono configurati per operare ad una medesima frequenza operativa nominale.
Il sistema di misurazione 1 ? configurato per eseguire il metodo di sincronizzazione indicato dal numero 35 e mostrato schematicamente dal diagramma di flusso di figura 2 e dal diagramma di figura 3. Qui di seguito il pedice ?i? ? utilizzato come indice per riferirsi indistintamente, e senza perdita di generalit?, ad uno qualunque tra il primo, il secondo ed il terzo dispositivo di misurazione 10A, 10B, 10C.
In particolare, per semplicit?, la figura 3 fa riferimento solo ad un generico i-esimo dispositivo di misurazione 10.
Il metodo di sincronizzazione 35 ? formato da una pluralit? di cicli di misurazione, di cui uno mostrato nelle figure 2 e 3, uguali tra loro; nel seguito, tali cicli sono indicizzati mediante un indice k. Riferendosi ad esempio ad un generico k-esimo ciclo di misurazione, ad esso ? associata una corrispondente istruzione di misurazione, la quale ? inviata, mediante inserimento in un corrispondente pacchetto di misurazione Pk, dal dispositivo principale 5 ai dispositivi di misurazione 10, e la quale si desidera che venga eseguita in modo sostanzialmente contemporaneo dai dispositivi di misurazione 10. L?istruzione di misurazione pu? essere, ad esempio, un?istruzione per l?unit? di rilevamento 28 di ciascun dispositivo di misurazione 10 per comandarne, ad esempio, un inizio o una fine di un intervallo di acquisizione dati, cio? per comandare la memorizzazione nella memoria 30 dei campioni acquisiti dall?unit? di rilevamento 28 nell?intervallo di acquisizione dati, in vista di una successiva trasmissione dei campioni memorizzati al dispositivo principale 5. In altre parole, l?istruzione di misurazione pu? consistere in una istruzione che, quando eseguita dal dispositivo di misurazione 10, causa l?inizio o la fine della memorizzazione dei campioni acquisiti.
In alternativa, e sempre a titolo esemplificativo, tra l?inizio e la fine dell?intervallo di acquisizione dati, l?istruzione di misurazione pu? essere un?istruzione che comanda il posizionamento di un contrassegno (?mark?) temporale nella memoria 30 (e, quindi, tra i campioni acquisiti durante l?intervallo di acquisizione dati) dei dispositivi di misurazione 10, su richiesta di un utente. Dato un dispositivo di misurazione 10, tale contrassegno temporale contrassegna il campione della corrispondente grandezza acquisito dall?unit? di rilevamento 28; tale informazione pu? essere adoperata in seguito, ad esempio durante una successiva elaborazione, da parte del dispositivo principale 5, dei dati acquisiti dai dispositivi di misurazione 10.
Come mostrato in figura 4, il k-esimo ciclo di misurazione comprende l?esecuzione di una sequenza di istruzioni di ciclo 36, come descritto in dettaglio in seguito. La sequenza di istruzioni di ciclo 36 comprende eseguire: un?istruzione di marca temporale centrale (blocco INS1), una prima istruzione di marca temporale locale (blocco INS2), un?istruzione di misurazione (blocco INS3) comprendente una delle summenzionate istruzioni di misurazione, e una seconda istruzione di marca temporale locale (blocco INS4). La prima istruzione di marca temporale locale, l?istruzione da sincronizzare e la seconda istruzione di marca temporale locale sono associate ciascuna ad un?istruzione di invio, ai dispositivi di misurazione 10, di rispettivamente una pluralit? di primi pacchetti di tempo T1; di una pluralit? di pacchetti di misurazione Pk; e di una pluralit? di secondi pacchetti di tempo T2. Ad esempio, i primi pacchetti di tempo T1, i secondi pacchetti di tempo T2 e i pacchetti di misurazione Pk possono essere inseriti uno in coda all?altro nel buffer 20, in modo che detti pacchetti siano inviati in successione l?uno all?altro al verificarsi di specifiche condizioni.
Il k-esimo ciclo di misurazione del metodo di sincronizzazione 35 ? innescato dalla ricezione, all?istante t1, da parte del dispositivo principale 5, in particolare dell?unit? di controllo 13, di un comando di misurazione da parte di un utente del sistema di misurazione 1, ovvero quando l?utente comanda l?esecuzione di un?istruzione di misurazione. In particolare, sebbene non descritto in dettaglio, il dispositivo principale 5 ? comandabile dall?utente in modo tale da consentire a quest?ultimo di inviare il summenzionato comando di misurazione all?unit? di controllo 13, e quindi causare l?esecuzione della corrispondente istruzione di misurazione.
Segue una fase S1, in cui il dispositivo principale 5 determina una marca temporale di riferimento TMD(k), come descritto qui di seguito. In dettaglio, dopo la ricezione del comando di misurazione, l?unit? di controllo 13 esegue la summenzionata istruzione di marca temporale centrale (blocco INS1 di figura 4), la quale comanda la lettura, da parte dell?unit? di controllo 13 del dispositivo principale 5, del valore corrente nel rispettivo registro di clock 24. L?unit? di controllo 13 memorizza la marca temporale di riferimento TMD(k) nella rispettiva memoria 22.
Successivamente, fase S2, il dispositivo principale 5, in particolare la rispettiva unit? di controllo 13, causa la determinazione di una pluralit? di prime marche temporali di misurazione ti,t1, una per ciascun dispositivo di misurazione 10, come descritto qui di seguito.
In dettaglio, l?unit? di controllo 13 esegue la summenzionata istruzione di invio di una pluralit? di primi pacchetti di tempo T1 e il dispositivo principale 5 invia contemporaneamente, all?istante tst1, una pluralit? di primi pacchetti di tempo T1, uno per ciascun dispositivo di misurazione 10.
Ad esempio, l?unit? di controllo 13 del dispositivo principale 5 pu? essere configurata per generare un primo segnale di controllo in seguito alla lettura e memorizzazione della marca temporale di riferimento TMD(k). Il primo segnale di controllo comanda l?esecuzione dell?istruzione di invio di una pluralit? di primi pacchetti di tempo T1.
I primi pacchetti di tempo T1 comprendono ciascuno la prima istruzione di marca temporale locale, la quale ? la medesima per ciascun primo pacchetto di tempo T1. In altre parole, i primi pacchetti di tempo T1 hanno il medesimo carico (?payload?), il quale comprende la prima istruzione di marca temporale locale, e differiscono tra loro per l?indirizzo del dispositivo di misurazione 10 a cui ciascuno ? consegnato.
I dispositivi di misurazione 10 ricevono ciascuno il rispettivo primo pacchetto di tempo T1 in rispettivi istanti ti,rt1.
Ad esempio, il primo dispositivo di misurazione 10A riceve il rispettivo primo pacchetto di tempo T1 ad un istante t1,rt1. La differenza temporale tra l?istante tst1 e l?istante t1,rt1 dipende da molteplici fattori, ad esempio dalla distanza fisica tra il dispositivo principale 5 e il primo dispositivo di misurazione 10A e dalla qualit? del canale di collegamento senza fili.
Considerazioni simili valgono anche per il secondo dispositivo di misurazione 10B e per il terzo dispositivo di misurazione 10C.
L?unit? di controllo 26 di ciascun dispositivo di misurazione 10 ? configurata per elaborare il rispettivo primo pacchetto di tempo T1 ed eseguire la prima istruzione di marca temporale locale (blocco INS2 di figura 4). In dettaglio, la prima istruzione di marca temporale locale fa s? che l?unit? di controllo 26 di ciascun dispositivo di misurazione 10 determini la rispettiva prima marca temporale di misurazione ti,t1. La prima marca temporale di misurazione ti,t1 di un dispositivo di misurazione 10 corrisponde al tempo corrente, nel sistema di riferimento temporale del dispositivo principale 10, in cui viene eseguita la prima istruzione di marca temporale locale. Ad esempio, in questa forma di realizzazione, la prima istruzione di marca temporale locale comanda la lettura, da parte dell?unit? di controllo 26, del valore corrente nel rispettivo registro di clock 32.
Successivamente, il primo, il secondo e il terzo dispositivo di misurazione 10A-10C inviano ciascuno al dispositivo principale 5, ciascuno ad un rispettivo istante ti,a1, un rispettivo primo pacchetto di conferma (?acknowledgment?) AC1, il cui payload comprende la rispettiva prima marca temporale di misurazione ti,t1.
Dopo aver ricevuto i primi pacchetti di conferma AC1, il dispositivo principale 5, in particolare la rispettiva unit? di controllo 13, memorizza le prime marche temporali di misurazione ti,t1 nella rispettiva memoria 22.
L?istante tra1 di figura 3 indica l?istante in cui il dispositivo principale 5 ha ricevuto l?ultimo tra i primi pacchetti di conferma AC1.
Con riferimento, ad esempio, al primo dispositivo di misurazione 10A, la differenza di tempo tra l?istante t1,rt1 in cui il modulo di ricezione e trasmissione 27 del primo dispositivo di misurazione 10A riceve il rispettivo primo pacchetto di tempo T1 e l?istante in cui il dispositivo principale 5 riceve il primo pacchetto di conferma AC1 dal primo dispositivo di misurazione 10A dipende da molteplici fattori, ad esempio dalla qualit? del canale di collegamento, da ritardi di esecuzione delle istruzioni, di origine software, hardware o di altro tipo.
Considerazioni simili valgono anche per il secondo dispositivo di misurazione 10B e per il terzo dispositivo di misurazione 10C.
Inoltre, la suddetta differenza di tempo pu? variare tra il primo, il secondo ed il terzo dispositivo di misurazione 10A-10C, ad esempio a causa di diverse condizioni operative, di differenze tra i rispettivi canali di collegamento con il dispositivo principale 5, ecc.
Successivamente, fase S3, il dispositivo principale 5 invia la pluralit? di pacchetti di misurazione Pk, uno per ciascun dispositivo di misurazione 10. I pacchetti di misurazione Pk comprendono ciascuno l?istruzione di misurazione, la quale ? la medesima per ciascun dispositivo di misurazione 10. In altre parole, i pacchetti di misurazione Pk hanno il medesimo payload, il quale comprende l?istruzione di misurazione, e differiscono tra loro per l?indirizzo del dispositivo di misurazione 10 a cui ciascuno ? consegnato.
I dispositivi di misurazione 10 eseguono ciascuno l?istruzione di misurazione (blocco INS3 di figura 4), in seguito alla ricezione, ad un istante ti,rc1, del rispettivo pacchetto di misurazione Pk, in una rispettiva finestra di esecuzione EWi. Le finestre di esecuzione EWi di ciascuno tra il primo, il secondo ed il terzo dispositivo di misurazione 10A, 10B, 10C possono avere durate variabili, dal momento che dipendono, ciascuna, dal rispettivo temporizzatore 31.
I pacchetti di misurazione Pk sono inviati successivamente alla ricezione, da parte del dispositivo principale 5, dei primi pacchetti di conferma AC1 di ciascuno tra il primo, il secondo ed il terzo dispositivo di misurazione 10A-10C. Ad esempio, l?unit? di controllo 13 del dispositivo principale 5 pu? essere configurata per generare un secondo segnale di controllo in seguito alla ricezione, all?istante tra1, di tutti i primi pacchetti di conferma AC1. Il secondo segnale di controllo comanda l?esecuzione, ad un istante di invio tS, dell?istruzione di invio dei pacchetti di misurazione Pk.
In dettaglio, il dispositivo principale 5 ? configurato per inviare i pacchetti di misurazione Pk ciascuno con un rispettivo ritardo ?i(k) rispetto all?istante di invio tS. I ritardi ?i(k) sono memorizzati nel dispositivo principale 5, ad esempio nella memoria 22 della rispettiva unit? di controllo 13, e sono determinati dal dispositivo principale 5, in particolare dall?unit? di sincronizzazione 17, nel k-1-esimo ciclo di misurazione, come in seguito spiegato in dettaglio.
Come mostrato in figura 5, nel k-esimo ciclo di misurazione, il dispositivo principale 5 invia il rispettivo pacchetto di misurazione Pk al primo dispositivo di misurazione 10A con un primo ritardo ?1(k), al secondo dispositivo di misurazione 10B con un secondo ritardo ?2(k) e al terzo dispositivo di misurazione 10C con un terzo ritardo ?3(k), qui secondo la relazione ?3 > ?1 > ?2. Il primo, il secondo ed il terzo ritardo ?1(k), ?2(k), ?3(k) fanno s? che l?istruzione di misurazione (ad esempio l?istruzione che causa l?inizio o la fine della memorizzazione dei campioni acquisiti o l?istruzione che comanda il posizionamento di un contrassegno), venga eseguita sostanzialmente in modo contemporaneo dal primo, dal secondo e dal terzo dispositivo di misurazione 10A-10C.
In altre parole, il primo, il secondo ed il terzo ritardo ?1(k), ?2(k), ?3(k) sono tali per cui le finestre di esecuzione EW1, EW2, EW3 rispettivamente del primo, del secondo e del terzo dispositivo di misurazione 10A, 10B, 10C sono sostanzialmente allineate tra loro nel tempo.
Dopo che i dispositivi di misurazione 10 hanno eseguito l?istruzione di misurazione, i dispositivi di misurazione 10 inviano al dispositivo principale 5 ciascuno, ad un rispettivo istante ti,a2, un rispettivo secondo pacchetto di conferma AC2.
L?istante tra2 di figura 3 indica l?istante in cui il dispositivo principale 5 ha ricevuto l?ultimo tra i secondi pacchetti di conferma AC2 dai dispositivi di misurazione 10.
Segue una fase S4, in cui il dispositivo principale 5, in particolare la rispettiva unit? di controllo 13, causa la determinazione di una pluralit? di seconde marche temporali di misurazione ti,t2, una per ciascun dispositivo di misurazione 10.
In dettaglio, l?unit? di controllo 13 esegue l?istruzione di invio di una pluralit? di secondi pacchetti di tempo T2 e il dispositivo principale 5 invia contemporaneamente, all?istante tst2, una pluralit? di secondi pacchetti di tempo T2, uno per ciascun dispositivo di misurazione 10.
Ad esempio, l?unit? di controllo 13 del dispositivo principale 5 pu? essere configurata per generare un terzo segnale di controllo in seguito alla ricezione di tutti i secondi pacchetti di conferma AC2. Il terzo segnale di controllo comanda l?esecuzione dell?istruzione di invio di una pluralit? di secondi pacchetti di tempo T2.
I secondi pacchetti di tempo T2 sono uguali ai primi pacchetti di tempo T1 e comprendono ciascuno la seconda istruzione di marca temporale locale, la quale ? la medesima per ciascun secondo pacchetto di tempo T2.
In altre parole, anche i secondi pacchetti di tempo T2 hanno tra loro il medesimo payload, il quale comprende la seconda istruzione di marca temporale locale, e differiscono tra loro per l?indirizzo del dispositivo di misurazione 10 a cui ciascuno ? consegnato.
I dispositivi di misurazione 10 ricevono ciascuno il rispettivo secondo pacchetto di tempo T2 ad un rispettivo istante ti,rt2.
Ad esempio, il primo dispositivo di misurazione 10A riceve il rispettivo secondo pacchetto di tempo T2 ad un istante t1,rt2. La differenza temporale tra l?istante tst2 e l?istante t1,rt2 dipende da svariati fattori, ad esempio dalla distanza fisica tra il dispositivo principale 5 e il primo dispositivo di misurazione 10A e dalla qualit? del canale di collegamento senza fili.
Considerazioni simili valgono anche per il secondo dispositivo di misurazione 10B e per il terzo dispositivo di misurazione 10C.
L?unit? di controllo 26 di ciascun dispositivo di misurazione 10 ? configurata per elaborare il secondo pacchetto di tempo T2 ed eseguire la seconda istruzione di marca temporale locale (blocco INS4 di figura 4). In dettaglio, la seconda istruzione di marca temporale locale fa s? che l?unit? di controllo 26 di ciascun dispositivo di misurazione 10 determini una rispettiva seconda marca temporale di misurazione ti,t2. La seconda marca temporale di misurazione ti,t2 di un dispositivo di misurazione 10 corrisponde al tempo corrente, nel sistema di riferimento temporale del rispettivo dispositivo di misurazione 10, in cui viene eseguita la seconda istruzione di marca temporale locale. Ad esempio, in questa forma di realizzazione, la seconda istruzione di marca temporale locale comanda la lettura, da parte dell?unit? di controllo 26, del valore corrente nel rispettivo registro di clock 32.
Successivamente, il primo, il secondo e il terzo dispositivo di misurazione 10A-10C inviano al dispositivo principale 5, ciascuno ad un rispettivo istante ti,a3, rispettivi terzi pacchetti di conferma AC3, i cui payload comprendono le rispettive seconde marche temporali di misurazione ti,t2.
Dopo la ricezione dei terzi pacchetti di conferma AC3, il dispositivo principale 5, in particolare la rispettiva unit? di controllo 13, memorizza le seconde marche temporali di misurazione ti,t2 nella rispettiva memoria 22.
L?istante tra3 di figura 3 indica l?istante in cui il dispositivo principale 5 ha ricevuto l?ultimo tra i terzi pacchetti di conferma AC3.
Segue una fase S5, in cui il dispositivo principale 5, ed in particolare l?unit? di sincronizzazione 17, determina, a partire dalle prime marche temporali di misurazione ti,t1 e dalle seconde marche temporali di misurazione ti,t2 ricevute nel k-esimo ciclo di misurazione, una pluralit? di ritardi ?i(k+1) utilizzando una rete neurale 38, mostrata in figura 7, come descritto in maggior dettaglio in seguito. I ritardi ?i(k+1) sono utilizzati dal dispositivo principale 5 nel successivo k+1-esimo ciclo di misurazione per inviare i pacchetti di misurazione Pk+1 ai dispositivi di misurazione 10.
Passato un intervallo di ciclo ?Tc, il quale pu? essere scelto da un utente in funzione della specifica applicazione, ovvero in funzione della distanza temporale desiderata tra due istruzioni di misurazione successive, il k+1-esimo ciclo di misurazione viene eseguito, come sopra descritto riguardo al k-esimo ciclo di misurazione.
Come mostrato in figura 6, la fase S5 di ciascun k-esimo ciclo di misurazione comprende una pluralit? di fasi S6-S8. Nella fase S6, l?unit? di sincronizzazione 17 ? configurata per determinare una pluralit? di parametri temporali Ii(k), uno per ciascun dispositivo di misurazione 10. Nella fase S7, l?unit? di sincronizzazione 17 fornisce i parametri temporali Ii(k) in ingresso alla rete neurale 38, la quale elabora i parametri temporali Ii(k), come discusso in seguito.
Il parametro temporale Ii(k) di ciascun dispositivo di misurazione 10 ? funzione della rispettiva prima marca temporale di misurazione ti,t1 e della rispettiva seconda marca temporale di misurazione ti,t2, determinate nel k-esimo ciclo di misurazione. Ad esempio, i parametri temporali Ii(k) possono essere dati, ciascuno, dalla somma della rispettiva prima marca temporale di misurazione ti,t1 e dalla rispettiva seconda marca temporale di misurazione ti,t2, oppure dalla loro differenza, dalla loro media aritmetica, pesata o non pesata, o da qualsiasi altra combinazione lineare o non della prima marca temporale di misurazione ti,t1 e della seconda marca temporale di misurazione ti,t2.
In particolare, nel presente esempio, i parametri temporali Ii(k) sono calcolati ciascuno come media aritmetica della rispettiva prima marca temporale di misurazione ti,t1 e della rispettiva seconda marca temporale di misurazione ti,t2; vale quindi la formula Ii(k) = (ti,t1(k) ti,t2(k))/2.
La rete neurale 38 ? di tipo noto e pu? essere, ad esempio, una rete neurale convoluzionale, ricorsiva, profonda, o ad apprendimento per rinforzo (?reinforcement learning?).
La rete neurale 38 ha una pluralit? di ingressi e una pluralit? di uscite (nel presente esempio, tre ingressi e tre uscite), ed in particolare ha un ingresso e un?uscita per ciascun dispositivo di misurazione 10. In modo di per s? noto, gli ingressi della rete neurale 38 sono collegati alle uscite della rete neurale 38 attraverso un numero di strati nascosti (?hidden layers?), qui non mostrati, il quale pu? essere scelto in base alla specifica applicazione, utilizzando una pluralit? di pesi W, i quali sono definiti durante una fase di addestramento, descritta in seguito, e memorizzati nella memoria 22 del dispositivo principale 5.
In dettaglio, la rete neurale 38 ? stata precedentemente addestrata per fornire in uscita una pluralit? di valori temporali stimati t*MD,i, uno per ciascuna uscita, rappresentativi di un corrispondente istante di tempo nel sistema temporale di riferimento del dispositivo principale 5. In particolare, la rete neurale 38 ? addestrata in modo tale che i valori temporali stimati t*MD,i siano ciascuno una stima della marca temporale di riferimento TMD(k) determinata nel k-esimo ciclo di misurazione; cio?, in questa forma di realizzazione, dell?istante di tempo in cui l?unit? di controllo 13 ha eseguito la summenzionata istruzione di determinazione di marca temporale di riferimento TMD(k). Pi? in dettaglio, la rete neurale 38 ? stata allenata (come descritto in seguito) in modo da modellare la relazione temporale che esiste tra la marca temporale di riferimento TMD(k) ed i parametri temporali Ii(k), e quindi tra l?esecuzione dell?istruzione di marca temporale centrale INS1 e l?esecuzione, da parte dei dispositivi di misurazione 10, della prima e della seconda marca temporale locale INS2, INS4 contenute nei rispettivi primi e secondi pacchetti di tempo T1, T2. Inoltre, dal momento che, in ciascun dispositivo di misurazione 10, l?esecuzione dell?istruzione di misurazione INS3 contenuta nel rispettivo pacchetto di misurazione Pk ? temporalmente compresa tra la rispettiva prima e seconda marca temporale di misurazione ti,t1,ti,t2, la rete neurale 38 modellizza anche la relazione temporale che esiste tra l?esecuzione dell?istruzione di marca temporale centrale da parte del dispositivo principale 5 e l?esecuzione, da parte dei dispositivi di misurazione 10, dell?istruzione di misurazione contenuta nei rispettivi pacchetti di misurazione Pk.
In pratica, ciascun valore temporale stimato t*MD,i rappresenta una stima (associata al corrispondente i-esimo dispositivo di misurazione 10) dell?istante di tempo in cui l?unit? di controllo 13 del dispositivo principale 5 avrebbe dovuto eseguire l?istruzione di marca temporale centrale, in modo che l?esecuzione, da parte dei dispositivi di misurazione 10, della prima e della seconda istruzione di marca temporale locale contenute nei rispettivi primi e secondi pacchetti di tempo T1, T2 (e quindi, anche le esecuzioni delle istruzioni di misurazione contenute nei pacchetti di misurazione Pk) fossero temporalmente allineate tra loro.
Conseguentemente, i valori temporali stimati t*MD,i sono tutti uguali alla marca temporale di riferimento TMD(k) solamente nel caso ideale in cui i ritardi ?i(k) abbiano compensato esattamente i fattori di asincronia attualmente presenti tra i dispositivi di misurazione 10 (distanze differenti, temporizzazioni differenti, velocit? di esecuzione delle istruzioni differenti, ecc.).
Al contrario, un valore temporale stimato t*MD,i(k) differente dalla marca temporale di riferimento TMD(k) ? indicativo del fatto che, tra il k-1-esimo ciclo di misurazione, nel quale sono stati determinati i ritardi ?i(k), e il k-esimo ciclo di misurazione, nel quale i ritardi ?i(k) sono utilizzati per inviare i pacchetti di misurazione Pk, si ? verificata una variazione temporale riguardante un rispettivo dispositivo di misurazione 10, la quale quindi non ? stata prevista dalla rete neurale 38 nel k-1-esimo ciclo di misurazione.
Ad esempio, detta variazione temporale pu? essere causata da un cambiamento nel canale di collegamento senza fili tra il dispositivo centrale 5 e il rispettivo dispositivo di misurazione 10, oppure da ritardi di origine software nel rispettivo dispositivo di misurazione 10, o da un cambiamento di comportamento, ad esempio dovuto ad un offset o deriva (?drift?), del rispettivo temporizzatore 31.
Nella fase S8, i valori temporali stimati t*MD,i sono elaborati dal dispositivo principale 5, in particolare dall?unit? di controllo 13. A titolo esemplificativo, si prenda come esempio il primo valore temporale stimato t*MD,1, l?unit? di controllo 13 calcola la differenza tra il primo valore temporale stimato t*MD,1(k) e la marca temporale di riferimento TMD(k).
Analogamente, per il secondo dispositivo di misurazione 10B, l?unit? di controllo 13 calcola la differenza tra il secondo valore temporale stimato t*MD,2(k) e la marca temporale di riferimento TMD(k) e, per il terzo dispositivo di misurazione 10C, l?unit? di controllo 13 calcola la differenza tra il terzo valore temporale stimato t*MD,3(k) e la marca temporale di riferimento TMD(k).
Dette differenze sono successivamente normalizzate rispetto alla differenza avente il valore pi? basso.
Ad esempio, si consideri, per il ciclo di misurazione k = 4, che la marca temporale di riferimento TMD(k) sia 8 s e che la rete neurale 38 abbia stimato, in uscita, i seguenti valori temporali t*MD,1 = 8,05 s, t*MD,2 = 8,03 s, e t*MD,3 = 8,07 s.
Di conseguenza, le suddette differenze hanno un valore di 0,05 s per il primo dispositivo di misurazione 10A, di 0,03 s per il secondo dispositivo di misurazione 10B, e 0,07 s per il terzo dispositivo di misurazione 10C.
La pluralit? di ritardi ?i(k+1) ? quindi ottenuta normalizzando dette differenze rispetto al valore della differenza del secondo dispositivo di misurazione 10B. Quindi, la pluralit? di ritardi ?i(k+1) ? determinata come segue: ?1 = (0,05 ? 0,03) s = 0,02 s; ?2 = (0,03 ? 0,03) s = 0 s; e ?3 = (0,07 ? 0,03) s = 0,04 s.
Nel k+1-esimo ciclo di misurazione, ovvero per k = 5, i pacchetti di misurazione P5 sono quindi inviati, dal dispositivo principale 5, ciascuno con un ritardo di 0,02 s al primo dispositivo di misurazione 10A, con un ritardo di 0 s al secondo dispositivo di misurazione 10B, e con un ritardo di 0,04 s al terzo dispositivo di misurazione 10C, rispetto all?istante di invio tS in cui viene eseguita l?istruzione di invio di pacchetti di misurazione Pk. In altre parole, in questa forma di realizzazione, la normalizzazione eseguita nella fase S8 fa s? che il pacchetto di misurazione P5 venga inviato al secondo dispositivo di misurazione 10B con un ritardo ?2(5) nullo rispetto all?istante di invio tS.
Qui di seguito viene descritto un metodo di addestramento 40 della rete neurale 38, con riferimento alle figure 8-11, il quale pu? essere eseguito prima di un primo utilizzo del sistema di misurazione 1.
Il metodo di addestramento 40, come mostrato nelle figure 9 e 10, ? formato da una pluralit? di cicli di addestramento (indicizzati con un indice k?), eseguiti ricorsivamente uno dopo l?altro. I cicli di addestramento comprendono fasi uguali, a meno delle differenze descritte qui di seguito, a quelle dei cicli di misurazione descritte con riferimento alle figure 2 e 3. Di conseguenza, per chiarezza, gli istanti temporali e i pacchetti mostrati in figura 10 sono indicati con un apice rispetto ai corrispondenti istanti temporali e pacchetti mostrati in figura 3.
Come mostrato in figura 11, il k?-esimo ciclo di addestramento comprende l?esecuzione di una sequenza di istruzioni di addestramento 41, uguale alla sequenza di istruzioni di ciclo 36, a meno delle differenze descritte qui di seguito. La sequenza di istruzioni di addestramento 41 comprende eseguire: un?istruzione di marca temporale centrale di addestramento (blocco INS_T1), una prima istruzione di marca temporale locale di addestramento (blocco INS_T2), un?istruzione di addestramento (blocco INS_T3), e una seconda istruzione di marca temporale locale di addestramento (blocco INS_T4). La prima istruzione di marca temporale locale di addestramento, l?istruzione di addestramento e la seconda istruzione di marca temporale locale di addestramento sono associate ciascuna ad un?istruzione di invio, ai dispositivi di misurazione 10, di rispettivamente una pluralit? di primi pacchetti di tempo di addestramento T1?; di una pluralit? di pacchetti di addestramento P?k; e di una pluralit? di secondi pacchetti di tempo di addestramento T2?, come descritto in riferimento al metodo di sincronizzazione 35.
Di nuovo con riferimento alla figura 9, il k?-esimo ciclo di addestramento comprende una prima fase ST1, nella quale l?unit? di controllo 13 del dispositivo centrale 5 esegue l?istruzione di marca temporale centrale di addestramento (blocco INS_T1 di figura 11) e viene quindi determinata una marca temporale di riferimento di addestramento T?MD(k?), nel medesimo modo descritto con riferimento alla marca temporale di riferimento TMD(k) (fase S1 del metodo di sincronizzazione 35).
Segue una seconda fase di addestramento ST2, in cui i dispositivi di misurazione 10 eseguono ciascuno una rispettiva prima istruzione di marca temporale locale di addestramento (blocco INS_T2 di figura 11) e viene quindi determinata una pluralit? di prime marche temporali di addestramento t?i,t1, nel medesimo modo descritto con riferimento alle prime marche temporali di misurazione ti,t1 (fase S2 del metodo di sincronizzazione 35).
Successivamente, in una terza fase di addestramento ST3, il dispositivo principale 5 invia la pluralit? di pacchetti di addestramento P?k?, uno per ciascun dispositivo di misurazione 10, dopo la ricezione, all?istante t?ra1, dei primi pacchetti di conferma AC1 da parte di tutti i dispositivi di misurazione 10, nel medesimo modo descritto con riferimento ai pacchetti di misurazione Pk (fase S3 del metodo di sincronizzazione 35). I pacchetti di addestramento P?k? contengono ciascuno l?istruzione di addestramento, la quale ? un?istruzione funzionalmente equivalente rispetto ad un?istruzione di misurazione discussa in riferimento alla terza fase S3 del metodo di sincronizzazione 35. In dettaglio, detta istruzione funzionalmente equivalente pu? essere un?istruzione di misurazione o un?istruzione tale per cui i dispositivi di misurazione 10 eseguono un numero di cicli macchina uguali a quelli impiegati per l?esecuzione di una tra le summenzionate istruzioni di misurazione. In altre parole, i dispositivi di misurazione 10 eseguono ciascuno detta istruzione funzionalmente equivalente (blocco INST_T3 di figura 11) in una rispettiva finestra di esecuzione di addestramento TEWi, la cui durata approssima la durata delle finestre di esecuzione EWi.
Nella terza fase di addestramento ST3, i pacchetti di addestramento P?k? sono inviati contemporaneamente ai dispositivi di misurazione 10.
Successivamente, in una quarta fase di addestramento ST4, i dispositivi di misurazione 10 eseguono ciascuno una rispettiva seconda istruzione di marca temporale locale di addestramento (blocco INS_T4 di figura 11) e viene quindi determinata una pluralit? di seconde marche temporali di addestramento t?i,t2, nel medesimo modo descritto con riferimento alle seconde marche temporali di misurazione ti,t2 (fase S4 del metodo di sincronizzazione 35).
In una quinta fase di addestramento ST5, l?unit? di sincronizzazione 17 determina, a partire dalle prime marche temporali di addestramento t?i,t1 e dalle seconde marche temporali di addestramento t?i,t2, una pluralit? di parametri temporali di addestramento I?i(k?), uno per ciascun dispositivo di misurazione 10. I parametri temporali di addestramento I?i(k?) sono calcolati nello stesso modo, descritto precedentemente, in cui sono calcolati i parametri temporali Ii(k).
La rete neurale 38 viene successivamente addestrata, fase ST6, utilizzando un algoritmo di addestramento noto, ad esempio un algoritmo di retropropagazione (?backpropagation?), di discesa stocastica del gradiente (?Stochastic Gradient Descent?, SGD), di propagazione di media quadratica (?Root Mean Square Propagation?, RMSProp), di gradiente adattivo (?Adaptive Gradient?, AdaGrad), di stima adattiva di momento (?Adaptive moment estimation?, Adam), di tasso di apprendimento adattivo (?Adaptive Learning Rate?, AdaDelta), di massimo adattivo (?Adaptive Max?, AdaMax), di stima adattiva del momento ad accelerazione di Nesterov (?Nesterovaccelerated Adaptive Moment Estimation?, Nadam), o di inseguimento di leader regolarizzato (?Follow the Regularized Leader?, FTRL).
In particolare, il metodo di addestramento 40 ? di tipo supervisionato e all?algoritmo di addestramento sono forniti in ingresso sia i parametri temporali di addestramento I?i(k?), che sono utilizzati come ingressi della rete neurale 38, sia il valore della marca temporale di riferimento di addestramento T?MD(k), la quale viene imposta su tutte le uscite della rete neurale 38. Inoltre, l?algoritmo di addestramento riceve in ingresso anche una pluralit? di pesi temporanei Wk?-1, i quali sono calcolati dall?algoritmo di addestramento nel k?-1-esimo ciclo di addestramento e memorizzati nella memoria 22.
Come noto, e come descritto sopra, i pesi temporanei collegano gli ingressi e le uscite della rete neurale 38, attraverso la pluralit? di strati nascosti.
Alla prima iterazione del metodo di addestramento 40, ovvero per k? = 1, i pesi temporanei W1 possono assumere un valore di default, ad esempio scelto da un utente.
Ancora con riferimento al generico k?-esimo ciclo di addestramento, l?algoritmo di addestramento genera in uscita una pluralit? di corrispondenti pesi temporanei Wk? della rete neurale 38, i quali sono memorizzati nella memoria 22 del dispositivo principale 5.
Superato un intervallo di ciclo di addestramento ?T?c, il quale pu? essere scelto da un utente in base alla specifica applicazione, viene eseguito il successivo k?+1-esimo ciclo di addestramento, nel quale viene nuovamente eseguito quanto descritto per le fasi ST1-ST6 del k?-esimo ciclo di addestramento. L?esecuzione del k?+1-esimo ciclo di addestramento consente di determinare una nuova pluralit? di corrispondenti pesi temporanei Wk?+1, i quali vengono quindi memorizzati nella memoria 22 del dispositivo principale 5, sostituendo i pesi temporanei Wk? calcolati nel precedente k?-esimo ciclo di addestramento. L?algoritmo di addestramento ? tale per cui l?errore di stima dei valori di uscita della rete neurale 38 che si ottiene utilizzando i pesi temporanei Wk?+1 determinati nel k?+1-esimo ciclo di addestramento ? minore dell?errore di stima dei valori di uscita della rete neurale 38 che si ottiene utilizzando i pesi temporanei Wk? determinati nel precedente k?-esimo ciclo di addestramento.
L?intervallo di ciclo di addestramento ?T?c e il numero di cicli di addestramento possono variare a seconda della specifica applicazione. Ad esempio, l?intervallo di ciclo di addestramento ?T?c pu? assumere un valore compreso tra 5 s e 20 s, o anche maggiore. Ad esempio il numero di cicli di addestramento pu? essere compreso tra 100 e 500.
Considerando il caso in cui il metodo di addestramento 40 comprende un numero N di cicli di addestramento, i pesi temporanei WN determinati dall?algoritmo di addestramento nell?N-esimo ciclo di addestramento e memorizzati nella memoria 22 in sostituzione dei pesi temporanei WN-1 nell?N-1-esimo ciclo di addestramento, costituiscono i pesi W utilizzati dal metodo di sincronizzazione 35.
Al fine di ottenere una pluralit? di pesi W affidabili, il metodo di addestramento 40 pu? essere eseguito in diverse condizioni operative del sistema di misurazione 1. Ad esempio, un primo numero di cicli di addestramento pu? essere eseguito variando la temperatura operativa dei dispositivi di misurazione 10 e del dispositivi principale 5. In aggiunta, un secondo numero di cicli di addestramento pu? essere eseguito variando la distanza e la qualit? del canale di collegamento senza fili tra il dispositivo principale 5 e i dispositivi di misurazione 10. In aggiunta o in alternativa, ulteriori cicli di addestramento possono essere eseguiti variando il livello di una batteria dei dispositivi periferici 10, in presenza di ulteriori dispositivi dotati di dispositivi di connessione ad una rete senza fili, mentre il dispositivo principale 5 esegue in parallelo altre funzionalit? o mentre il dispositivo principale 5 ? connesso anche ad altre periferiche.
In altre parole, la rete neurale 38 permette di implementare una funzione non lineare che approssima, ad ogni ciclo di misurazione, la relazione temporale corrente che sussiste tra il sistema di riferimento temporale del dispositivo principale 5 e i sistemi di riferimento temporali dei dispositivi di misurazione 10. Come discusso precedentemente, una discrepanza tra il valore stimato della marca temporale di riferimento t*MD,i(k) e il valore effettivo della marca temporale di riferimento TMD(k) misurata all?inizio del rispettivo k-esimo ciclo di misurazione, ? indicativo di una variazione temporale riguardante i dispositivi di misurazione 10 rispetto al k-1-esimo ciclo di misurazione, dovuta ad esempio ad un cambiamento nel canale di collegamento senza fili o internamente ai dispositivi di misurazione, ad esempio un offset o deriva del rispettivo temporizzatore 31.
In dettaglio, il fatto che i parametri temporali di addestramento I?i(k?) utilizzati per addestrare la rete neurale 38 siano funzione sia della prima marca temporale di addestramento t?i,t1(k?) che della seconda marca temporale di addestramento t?i,t2(k?) fa s? che i parametri temporali di addestramento I?i(k?) siano influenzati dai fattori che causano le asincronie tra i dispositivi di misurazione 10 precedentemente citati. Infatti, una funzione della prima marca temporale di addestramento t?i,t1(k?) e della seconda marca temporale di addestramento t?i,t2(k?) ? anche funzione del tempo impiegato per la propagazione, ricezione ed elaborazione del primo e del secondo pacchetto di tempo T1?, T2? e del pacchetto di addestramento P?k?, e quindi funzione delle variazioni di funzionamento dei rispettivi temporizzatori 31 e del canale di collegamento senza fili.
Emerge quindi che l?unit? di sincronizzazione 17 del dispositivo principale 5 ? in grado, in uso, utilizzando il metodo di sincronizzazione 35, di stimare le differenze temporali che si instaurano nel sistema di misurazione 1, e correggerle, utilizzando i ritardi ?i, in modo che i dispositivi di misurazione 10 eseguano sostanzialmente in modo contemporaneo le istruzioni di misurazione; ovvero, che le rispettive finestre di esecuzione EWi siano tra loro allineate. Di conseguenza, in uso, i dati acquisiti dalle unit? di rilevamento 28 dei dispositivi di misurazione 10 tra l?esecuzione di due istruzioni di misurazione successive, ad esempio tra le istruzioni di inizio e fine rilevamento o tra due istruzioni di posizionamento di contrassegno temporale successive, sono sincronizzati tra loro.
Ci? risulta particolarmente utile in applicazioni in cui ? richiesta una elevata frequenza operativa dei dispositivi di misurazione 10 nell?acquisizione di dati, ad esempio superiori a 50 Hz, in particolare fino a 200 Hz, o anche maggiore di 200 Hz, e in cui, quindi, anche bassi livelli di asincronia nell?esecuzione delle istruzioni di misurazione, ad esempio inferiori a 1 ms, possono causare un disallineamento temporale significativo nei dati acquisiti, che ne comprometterebbero una corretta elaborazione successiva da parte del dispositivo principale 5.
Emerge inoltre che il presente metodo di sincronizzazione 35 ha una elevata versatilit? di adattamento a sistemi di misurazione comprendenti differenti tipi di dispositivi di misurazione, ad esempio aventi diverse specifiche tecniche. Inoltre, le operazioni richieste dal metodo di sincronizzazione 35 ai dispositivi di misurazione 10 richiedono basse risorse computazionali.
Risulta infine chiaro che al sistema di misurazione 1, al metodo di sincronizzazione 35 e al metodo di addestramento 40 qui descritti ed illustrati possono essere apportate modifiche e varianti senza per questo uscire dall?ambito protettivo della presente invenzione, come definito nelle rivendicazioni allegate.
Ad esempio, il sistema di misurazione 1 pu? comprendere un numero diverso di dispositivi di misurazione 10 e/o i dispositivi di misurazione 10 possono essere diversi l?uno dall?altro. Ad esempio, i dispositivi di misurazione 10 possono essere configurati, per costruzione, per operare ad una frequenza nativa nominale differente l?uno dall?altro. Tuttavia, appositi circuiti e/o algoritmi, ad esempio tramite sottocampionamento dei dispositivi di misurazione 10 aventi frequenze natie nominali maggiori, possono essere utilizzati per far s? che tutti i dispositivi di misurazione 10 operino alla stessa frequenza operativa nominale, pari alla frequenza nativa nominale pi? bassa o a sue frazioni.
Ad esempio, le istruzioni da sincronizzare possono essere istruzioni di tipo diverso rispetto alle summenzionate istruzioni di misurazione.
Ad esempio, l?unit? di sincronizzazione 17 pu? essere incorporata nell?unit? di controllo 13 e la rete neurale 38 pu? essere implementata in una unit? di elaborazione dedicata.
Inoltre, il metodo di sincronizzazione 35 pu? essere configurato in modo tale da utilizzare un numero inferiore di dispositivi di misurazione rispetto al numero di dispositivi di misurazione 10 che formano il sistema di misurazione 1.
Ad esempio, la rete neurale 38 pu? essere addestrata utilizzando, come valori di uscita supervisionati, una marca temporale di riferimento differente da quanto sopra descritto. Ad esempio, la marca temporale di riferimento di addestramento (e di conseguenza anche la marca temporale di riferimento del presente metodo di sincronizzazione) pu? essere determinata in risposta alla ricezione dei terzi pacchetti di conferma AC3, ovvero l?istruzione di marca temporale centrale di addestramento pu? essere eseguita (blocco INS_T1 di figura 11) all?istante temporale t?ra3. Oppure, la marca temporale di riferimento di addestramento (e di conseguenza anche la marca temporale di riferimento del presente metodo di sincronizzazione) pu? essere calcolata come combinazione lineare o non lineare di una prima marca temporale di riferimento, determinata all?inizio del k?-esimo ciclo di addestramento come descritto per la fase ST1 del metodo di addestramento 40, e di una seconda marca temporale di riferimento, determinata alla fine del k?-esimo ciclo di addestramento, ad esempio successivamente alla ricezione dei terzi pacchetti di conferma AC3, ovvero all?istante temporale t?ra3. In altre parole, l?istruzione di marca temporale centrale di addestramento (e quindi anche l?istruzione di marca temporale centrale) pu? comprendere eseguire una prima istruzione, per determinare la prima marca temporale di riferimento, e una seconda istruzione, per determinare la seconda marca temporale di riferimento.
Ad esempio, i parametri temporali Ii(k) possono essere determinati dai dispositivi di misurazione 10. In particolare, ciascun dispositivo di misurazione 10 pu? memorizzare temporaneamente nella rispettiva memoria 30, per il k-esimo ciclo di misurazione, la rispettiva prima marca temporale di misurazione ti,t1(k) e la rispettiva seconda marca temporale di misurazione ti,t2(k), determinare il rispettivo parametro temporale Ii(k) e inviare il rispettivo parametro temporale Ii(k) al dispositivo principale 5 inserendolo nel payload del rispettivo terzo pacchetto di conferma AC3.
Ad esempio, il dispositivo principale 5 pu? operare secondo un qualunque sistema operativo.
Claims (13)
1. Metodo per sincronizzare in modo centralizzato l?esecuzione di istruzioni da parte di una pluralit? di dispositivi periferici (10) di una rete senza fili includente un dispositivo centrale (5), detti dispositivi periferici (10) e detto dispositivo centrale (5) comprendendo ciascuno un rispettivo temporizzatore (31, 23), detto metodo comprendendo eseguire una successione di cicli di operazioni, ciascun ciclo di operazioni comprendendo:
- da parte del dispositivo centrale (5), eseguire un numero di istruzioni di riferimento (INS1), determinare istanti di tempo (TMD(k)) relativi alle esecuzioni di dette istruzioni di riferimento e riferiti al temporizzatore del dispositivo centrale (5), determinare una marca temporale di riferimento (TMD(k)) in funzione degli istanti di tempo determinati (TMD(k)) e causare l?esecuzione, da parte di ciascun dispositivo periferico (10), di una prima ed una seconda istruzione locale (INS2, INS4);
- determinare, da parte di ciascun dispositivo periferico (10), una corrispondente prima marca temporale periferica (ti,t1(k)) ed una corrispondente seconda marca temporale periferica (ti,t2(k)), le quali sono relative all?esecuzione rispettivamente della prima e della seconda istruzione locale da parte del dispositivo periferico (10) e sono riferite al temporizzatore (31) del dispositivo periferico (10);
- da parte del dispositivo centrale (5), causare l?esecuzione, da parte di ciascun dispositivo periferico (10), di una istruzione da sincronizzare (INS3), detta fase di causare l?esecuzione di una istruzione da sincronizzare comprendendo inviare a ciascun dispositivo periferico (10), da parte del dispositivo centrale (5), un rispettivo pacchetto di istruzione (Pk) includente l?istruzione da sincronizzare, i pacchetti di istruzione essendo inviati ciascuno con un rispettivo ritardo di invio (?i(k)) rispetto ad un istante di riferimento di invio (tS), in modo tale per cui l?esecuzione, da parte di ciascun dispositivo periferico (10), dell?istruzione da sincronizzare ? ritardata in funzione del rispettivo ritardo di invio, detti ritardi di invio essendo relativi al ciclo di operazioni precedente;
- per ciascun dispositivo periferico (10), determinare, alternativamente da parte del dispositivo centrale (5) o del dispositivo periferico (10), un corrispondente parametro temporale (Ii(k)), il quale ? funzione delle corrispondenti prima e seconda marca temporale periferica (ti,t1(k), ti,t2(k));
ciascun ciclo di operazioni comprendendo inoltre, da parte del dispositivo centrale (5):
- eseguire, a partire dai parametri temporali determinati (Ii(k)), un algoritmo di machine-learning addestrato per determinare, per ciascun dispositivo periferico (10), una corrispondente stima (t*MD,i(k)) della marca temporale di riferimento (TMD(k)); e
- calcolare detti ritardi di invio (?i(k+1)) relativi al ciclo di operazioni in funzione delle stime (t*MD,i(k)) determinate dall?algoritmo di machine-learning e della marca temporale di riferimento (TMD(k)).
2. Metodo secondo la rivendicazione 1, in cui detta fase di causare l?esecuzione, da parte di ciascun dispositivo periferico (10), di una prima ed una seconda istruzione locale (INS2, INS4) comprende:
- inviare a ciascun dispositivo periferico (10), da parte del dispositivo centrale (5), un rispettivo primo pacchetto di tempo (T1) includente la prima istruzione locale; e
- inviare a ciascun dispositivo periferico (10), da parte del dispositivo centrale (5), un rispettivo secondo pacchetto di tempo (T2) includente la seconda istruzione locale;
ed in cui la fase di determinare, da parte di ciascun dispositivo periferico (10), una corrispondente prima marca temporale periferica (ti,t1(k)) viene eseguita in risposta alla ricezione, da parte del dispositivo periferico (10), del rispettivo primo pacchetto di tempo (T1); ed in cui la fase di determinare, da parte di ciascun dispositivo periferico (10), una corrispondente seconda marca temporale periferica (ti,t2(k)) viene eseguita in risposta alla ricezione, da parte del dispositivo periferico (10), del rispettivo secondo pacchetto di tempo (T2); ed in cui la fase di inviare a ciascun dispositivo periferico (10), da parte del dispositivo centrale (5), un rispettivo pacchetto di istruzione (Pk) viene eseguita dopo detta fase di inviare a ciascun dispositivo periferico (10) un rispettivo primo pacchetto di tempo (T1) e prima di detta fase di inviare a ciascun dispositivo periferico (10) un rispettivo secondo pacchetto di tempo (T2).
3. Metodo secondo la rivendicazione 2, comprendente inoltre, da parte di ciascun dispositivo periferico (10), eseguire le fasi di:
- dopo la determinazione della rispettiva prima marca temporale periferica (ti,t1(k)), inviare al dispositivo centrale (5) un corrispondente pacchetto di conferma iniziale (AC1) includente la prima marca temporale periferica (ti,t1(k));
- dopo la determinazione della rispettiva seconda marca temporale periferica (ti,t2(k)), inviare al dispositivo centrale (5) un corrispondente pacchetto di conferma finale (AC3) includente la seconda marca temporale periferica (ti,t2(k));
ed in cui la fase di inviare a ciascun dispositivo periferico (10), da parte del dispositivo centrale (5), un rispettivo pacchetto di istruzione (Pk) viene eseguita dopo che il dispositivo centrale (5) ha ricevuto tutti i pacchetti di conferma iniziali (AC1).
4. Metodo secondo la rivendicazione 3, comprendente inoltre la fase di inviare al dispositivo centrale (5), da parte di ciascun dispositivo periferico (10), un corrispondente pacchetto di conferma intermedio (AC2), dopo la ricezione del rispettivo pacchetto di istruzione (Pk); ed in cui la fase di inviare, da parte del dispositivo centrale (5), un rispettivo secondo pacchetto di tempo (T2) a ciascun dispositivo periferico (10) viene eseguita dopo che il dispositivo centrale (5) ha ricevuto tutti i pacchetti di conferma intermedi (AC2).
5. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui l?algoritmo di machine-learning (38) ? addestrato mediante esecuzione di una successione di cicli di addestramento, ciascun ciclo di addestramento comprendendo:
- da parte del dispositivo centrale (5), eseguire un numero di istruzioni di riferimento di addestramento (INS_T1), determinare istanti di tempo di addestramento (T?MD(k?)) relativi alle esecuzioni di dette istruzioni di riferimento di addestramento e riferiti al temporizzatore del dispositivo centrale (5) e determinare una marca temporale di riferimento di addestramento (T?MD(k?)) in funzione degli istanti di tempo di addestramento determinati (T?MD(k?));
- da parte del dispositivo centrale (5), inviare a ciascun dispositivo periferico (10) un rispettivo primo pacchetto di tempo (T1?) includente una prima istruzione locale di addestramento (INS_T2);
- da parte di ciascun dispositivo periferico (10), eseguire la prima istruzione locale di addestramento e determinare una corrispondente prima marca temporale periferica di addestramento (t?i,t1(k?)), la quale ? relativa all?esecuzione della prima istruzione locale di addestramento da parte del dispositivo periferico (10) ed ? riferita al temporizzatore (31) del dispositivo periferico (10), ed inviare al dispositivo centrale (5) un corrispondente pacchetto di conferma iniziale (AC1?) includente la prima marca temporale periferica di addestramento (t?i,t1(k?));
- da parte del dispositivo centrale (5), inviare a ciascun dispositivo periferico (10) un rispettivo pacchetto di addestramento (P?k?) includente un?istruzione di addestramento, i pacchetti di addestramento (P?k?) essendo inviati contemporaneamente;
- da parte di ciascun dispositivo periferico (10), in seguito alla ricezione del rispettivo pacchetto di addestramento (P?k?), eseguire l?istruzione di addestramento (INS_T3);
- da parte del dispositivo centrale (5), inviare a ciascun dispositivo periferico (10) un rispettivo secondo pacchetto di tempo (T2?) includente la seconda istruzione locale di addestramento;
- da parte di ciascun dispositivo periferico (10), eseguire la seconda istruzione locale di addestramento (INS_T4) e determinare una corrispondente seconda marca temporale periferica di addestramento (t?i,t2(k?)), la quale ? relativa all?esecuzione della seconda istruzione locale di addestramento da parte del dispositivo periferico (10) ed ? riferita al temporizzatore (31) del dispositivo periferico (10), ed inviare al dispositivo centrale (5) un corrispondente pacchetto di conferma finale (AC3?) includente la seconda marca temporale periferica di addestramento (t?i,t2(k?));
- da parte del dispositivo centrale (5), determinare, per ciascun dispositivo periferico (10), un corrispondente parametro temporale di addestramento (I?i(k?)), il quale ? funzione delle corrispondenti prima e seconda marca temporale di addestramento (t?i,t1(k?), t?i,t2(k?)), e addestrare l?algoritmo di machine-learning (38) in modo supervisionato, sulla base dei parametri temporali di addestramento (I?i(k?)) e della marca temporale di riferimento di addestramento (T?MD(k?)).
6. Metodo secondo la rivendicazione 5, in cui l?algoritmo di machine-learning (38) comprende una pluralit? di pesi; ed in cui ciascun ciclo di addestramento comprende acquisire valori iniziali dei pesi relativi al ciclo di addestramento; ed in cui detta fase di addestrare l?algoritmo di machinelearning (38) comprende aggiornare i valori dei pesi in funzione dei parametri temporali di addestramento (I?i(k?)) e della marca temporale di riferimento di addestramento (T?MD(k?)); ed in cui i valori iniziali dei pesi relativi al ciclo di addestramento sono pari ai valori aggiornati dei pesi relativi al precedente ciclo di addestramento.
7. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui detto algoritmo di machine-learning (38) ? una rete neurale (38).
8. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui ciascun dispositivo periferico (10) comprende una rispettiva unit? di rilevamento (28) configurata per rilevare una grandezza fisica associata all?utilizzo del dispositivo periferico (10) da parte di un utente e configurata per eseguire una pluralit? di operazioni controllate da remoto, detta istruzione da sincronizzare comandando, quando eseguita dal dispositivo periferico (10), l?esecuzione di una tra dette operazioni controllate da remoto.
9. Dispositivo elettronico centrale (5) configurato per accoppiarsi senza fili ad una pluralit? di dispositivi elettronici periferici (10) comprendenti ciascuno un rispettivo temporizzatore (31), il dispositivo elettronico centrale comprendendo un rispettivo temporizzatore (23) ed essendo configurato per eseguire una pluralit? di cicli di operazioni, ciascun ciclo di operazioni comprendendo:
- eseguire un numero di istruzioni di riferimento (INS1), determinare istanti di tempo (TMD(k)) relativi alle esecuzioni di dette istruzioni di riferimento e riferiti al rispettivo temporizzatore (23), determinare una marca temporale di riferimento (TMD(k)) in funzione degli istanti di tempo determinati (TMD(k)) e causare l?esecuzione, da parte di ciascun dispositivo elettronico periferico (10), di una prima ed una seconda istruzione locale (INS2, INS4);
- ricevere, da parte di ciascun dispositivo elettronico periferico (10), una corrispondente prima marca temporale periferica (ti,t1(k)) ed una corrispondente seconda marca temporale periferica (ti,t2(k)), le quali sono relative all?esecuzione rispettivamente della prima e della seconda istruzione locale da parte del dispositivo elettronico periferico (10) e sono riferite al temporizzatore (31) del dispositivo elettronico periferico (10);
- causare l?esecuzione, da parte di ciascun dispositivo elettronico periferico (10), di una istruzione da sincronizzare (INS3), detta fase di causare l?esecuzione di una istruzione da sincronizzare comprendendo inviare a ciascun dispositivo elettronico periferico (10) un rispettivo pacchetto di istruzione (Pk) includente l?istruzione da sincronizzare, i pacchetti di istruzione essendo inviati ciascuno con un rispettivo ritardo di invio (?i(k)) rispetto ad un istante di riferimento di invio (tS), in modo tale per cui l?esecuzione, da parte di ciascun dispositivo elettronico periferico (10), dell?istruzione da sincronizzare ? ritardata in funzione del rispettivo ritardo di invio, detti ritardi di invio essendo relativi al ciclo di operazioni precedente; - determinare per ciascun dispositivo elettronico periferico (10), o alternativamente ricevere da ciascun dispositivo elettronico periferico (10), un corrispondente parametro temporale (Ii(k)), il quale ? funzione delle corrispondenti prima e seconda marca temporale periferica (ti,t1(k), ti,t2(k));
- eseguire, a partire dai parametri temporali determinati (Ii(k)), un algoritmo di machine-learning addestrato per determinare, per ciascun dispositivo elettronico periferico (10), una corrispondente stima (t*MD,i(k)) della marca temporale di riferimento (TMD(k)); e
- calcolare detti ritardi di invio (?i(k+1)) relativi al ciclo di operazioni in funzione delle stime (t*MD,i(k)) determinate dall?algoritmo di machine-learning e della marca temporale di riferimento (TMD(k)).
10. Dispositivo elettronico centrale (5) secondo la rivendicazione precedente, il quale ? inoltre configurato per:
- inviare a ciascun dispositivo elettronico periferico (10) un rispettivo primo pacchetto di tempo (T1) includente la prima istruzione locale; e
- inviare a ciascun dispositivo elettronico periferico (10) un rispettivo secondo pacchetto di tempo (T2) includente la seconda istruzione locale;
il dispositivo elettronico centrale (5) essendo inoltre configurato per inviare a ciascun dispositivo elettronico periferico (10) il rispettivo pacchetto di istruzione (Pk) dopo aver inviato a ciascun dispositivo periferico (10) il rispettivo primo pacchetto di tempo (T1) e prima di inviare a ciascun dispositivo periferico (10) il rispettivo secondo pacchetto di tempo (T2).
11. Sistema comprendente un dispositivo elettronico centrale (5) secondo la rivendicazione 10 e detta pluralit? di dispositivi elettronici periferici (10),
in cui ciascun dispositivo elettronico periferico (10) ? configurato per determinare la rispettiva prima marca temporale periferica (ti,t1(k)) e la rispettiva seconda marca temporale periferica (ti,t2(k)) in risposta alla ricezione, rispettivamente, del rispettivo primo pacchetto di tempo (T1) e del rispettivo secondo pacchetto di tempo (T2); ed in cui ciascun dispositivo elettronico periferico (10) ? inoltre configurato per inviare al dispositivo elettronico centrale (5), dopo la determinazione della rispettiva prima marca temporale periferica (ti,t1(k)), un corrispondente pacchetto di conferma iniziale (AC1) includente la rispettiva prima marca temporale periferica (ti,t1(k)); ed in cui ciascun dispositivo elettronico periferico (10) ? inoltre configurato per inviare al dispositivo elettronico centrale (5), dopo la determinazione della rispettiva seconda marca temporale periferica (ti,t2(k)), un corrispondente pacchetto di conferma finale (AC3) includente la rispettiva seconda marca temporale periferica (ti,t2(k)).
12. Programma informatico comprendente istruzioni tali per cui, quando eseguite da un dispositivo elettronico centrale (5) includente un rispettivo temporizzatore (23) ed accoppiabile in modalit? senza fili ad una pluralit? di dispositivi periferici (10) includenti rispettivi temporizzatori (31), fanno s? che il dispositivo elettronico centrale esegua una pluralit? di cicli di operazioni, ciascun ciclo di operazioni comprendendo:
- eseguire un numero di istruzioni di riferimento (INS1), determinare istanti di tempo (TMD(k)) relativi alle esecuzioni di dette istruzioni di riferimento e riferiti al rispettivo temporizzatore (23), determinare una marca temporale di riferimento (TMD(k)) in funzione degli istanti di tempo determinati (TMD(k)) e causare l?esecuzione, da parte di ciascun dispositivo elettronico periferico (10), di una prima ed una seconda istruzione locale (INS2, INS4);
- ricevere, da parte di ciascun dispositivo elettronico periferico (10), una corrispondente prima marca temporale periferica (ti,t1(k)) ed una corrispondente seconda marca temporale periferica (ti,t2(k)), le quali sono relative all?esecuzione rispettivamente della prima e della seconda istruzione locale da parte del dispositivo elettronico periferico (10) e sono riferite al temporizzatore (31) del dispositivo elettronico periferico (10);
- causare l?esecuzione, da parte di ciascun dispositivo elettronico periferico (10), di una istruzione da sincronizzare (INS3), detta fase di causare l?esecuzione di una istruzione da sincronizzare comprendendo inviare a ciascun dispositivo elettronico periferico (10) un rispettivo pacchetto di istruzione (Pk) includente l?istruzione da sincronizzare, i pacchetti di istruzione essendo inviati ciascuno con un rispettivo ritardo di invio (?i(k)) rispetto ad un istante di riferimento di invio (tS), in modo tale per cui l?esecuzione, da parte di ciascun dispositivo elettronico periferico (10), dell?istruzione da sincronizzare ? ritardata in funzione del rispettivo ritardo di invio, detti ritardi di invio essendo relativi al ciclo di operazioni precedente;
- determinare per ciascun dispositivo elettronico periferico (10), o alternativamente ricevere da ciascun dispositivo elettronico periferico (10), un corrispondente parametro temporale (Ii(k)), il quale ? funzione delle corrispondenti prima e seconda marca temporale periferica (ti,t1(k), ti,t2(k));
- eseguire, a partire dai parametri temporali determinati (Ii(k)), un algoritmo di machine-learning addestrato per determinare, per ciascun dispositivo elettronico periferico (10), una corrispondente stima (t*MD,i(k)) della marca temporale di riferimento (TMD(k)); e
- calcolare detti ritardi di invio (?i(k+1)) relativi al ciclo di operazioni in funzione delle stime (t*MD,i(k)) determinate dall?algoritmo di machine-learning e della marca temporale di riferimento (TMD(k)).
13. Supporto informatico che memorizza il programma informatico secondo la rivendicazione 12.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000005234A IT202100005234A1 (it) | 2021-03-05 | 2021-03-05 | Metodo per sincronizzare in modo centralizzato l'esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e sistema che implementa il metodo |
PCT/IB2022/051941 WO2022185277A1 (en) | 2021-03-05 | 2022-03-04 | Method for centrally synchronizing the execution of instructions by peripheral devices of a wireless network and system that implements the method |
EP22708239.3A EP4302485A1 (en) | 2021-03-05 | 2022-03-04 | Method for centrally synchronizing the execution of instructions by peripheral devices of a wireless network and system that implements the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000005234A IT202100005234A1 (it) | 2021-03-05 | 2021-03-05 | Metodo per sincronizzare in modo centralizzato l'esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e sistema che implementa il metodo |
Publications (1)
Publication Number | Publication Date |
---|---|
IT202100005234A1 true IT202100005234A1 (it) | 2022-09-05 |
Family
ID=75937050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT102021000005234A IT202100005234A1 (it) | 2021-03-05 | 2021-03-05 | Metodo per sincronizzare in modo centralizzato l'esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e sistema che implementa il metodo |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4302485A1 (it) |
IT (1) | IT202100005234A1 (it) |
WO (1) | WO2022185277A1 (it) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3573386A1 (en) * | 2018-05-25 | 2019-11-27 | Sword Health, S.A. | Method and device for synchronizing data packets from embedded data sensors monitoring body motion of a patient |
EP3621082A1 (en) * | 2018-09-10 | 2020-03-11 | Polar Electro Oy | Synchronizing physiological measurement data streams |
-
2021
- 2021-03-05 IT IT102021000005234A patent/IT202100005234A1/it unknown
-
2022
- 2022-03-04 EP EP22708239.3A patent/EP4302485A1/en active Pending
- 2022-03-04 WO PCT/IB2022/051941 patent/WO2022185277A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3573386A1 (en) * | 2018-05-25 | 2019-11-27 | Sword Health, S.A. | Method and device for synchronizing data packets from embedded data sensors monitoring body motion of a patient |
EP3621082A1 (en) * | 2018-09-10 | 2020-03-11 | Polar Electro Oy | Synchronizing physiological measurement data streams |
Also Published As
Publication number | Publication date |
---|---|
EP4302485A1 (en) | 2024-01-10 |
WO2022185277A1 (en) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10739814B2 (en) | Time-synchronizing a group of nodes | |
JP4185926B2 (ja) | ロボット協調制御方法及びシステム | |
CN103141039B (zh) | 用于在通讯网络中的时间同步的方法 | |
CN104884902B (zh) | 用于三轴磁力计和三轴加速度计的数据融合的方法和装置 | |
US9374214B2 (en) | Communication apparatus, communication system, and communication method | |
US20180231941A1 (en) | Correction parameter calculation device, system, correction parameter calculation method, and computer program | |
CN102859941A (zh) | 对分组在分组交换通信网络中的累计驻留时间的更新 | |
US20080152046A1 (en) | Synchronization system and method for wireless communicating nodes | |
US10505652B2 (en) | Methods and systems for estimating offset skew and drift | |
IT202100005234A1 (it) | Metodo per sincronizzare in modo centralizzato l'esecuzione di istruzioni da parte di dispositivi periferici di una rete senza fili e sistema che implementa il metodo | |
US9689708B2 (en) | Measuring method for a measured variable dependent on auxiliary measured variables | |
TWI551084B (zh) | 距離計測裝置及距離計測方法 | |
EP3070926B1 (en) | Synchronous camera | |
JP6400553B2 (ja) | ユニット間での同期制御機能を有する数値制御システム | |
CN103945522A (zh) | 一种基于电压感知的无线传感器网络时间同步方法 | |
JP2015004649A (ja) | スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 | |
CN109818700A (zh) | 广域系统保护装置的同步方法、装置、厂站及拓扑架构 | |
JP6312588B2 (ja) | 通信機器の時刻同期システム | |
KR101212468B1 (ko) | 시간 동기화 방법 및 장치 | |
CN109286461A (zh) | 用于匹配在检测传感器数据时的时间戳的方法 | |
JP2020031334A (ja) | クロック同期システム及びクロック同期方法 | |
CN108400827A (zh) | 基于模型预测控制的时钟同步方法 | |
EP3732806B1 (en) | Method, device and system for estimating offset skew and drift | |
CN110098971A (zh) | 一种网络链路不对称测量方法和网络节点 | |
JP7094452B2 (ja) | 情報処理装置、プログラム及び情報処理方法 |