IT201900016136A1 - Dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e relativo metodo - Google Patents

Dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e relativo metodo Download PDF

Info

Publication number
IT201900016136A1
IT201900016136A1 IT102019000016136A IT201900016136A IT201900016136A1 IT 201900016136 A1 IT201900016136 A1 IT 201900016136A1 IT 102019000016136 A IT102019000016136 A IT 102019000016136A IT 201900016136 A IT201900016136 A IT 201900016136A IT 201900016136 A1 IT201900016136 A1 IT 201900016136A1
Authority
IT
Italy
Prior art keywords
data
context
electronic device
unit
environmental
Prior art date
Application number
IT102019000016136A
Other languages
English (en)
Inventor
Marco Castellano
Marco Leo
Original Assignee
St Microelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT102019000016136A priority Critical patent/IT201900016136A1/it
Priority to US17/012,495 priority patent/US11587378B2/en
Publication of IT201900016136A1 publication Critical patent/IT201900016136A1/it

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3079Context modeling
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Description

DESCRIZIONE
del brevetto per invenzione industriale dal titolo: “DISPOSITIVO ELETTRONICO DI SALVATAGGIO EFFICIENTE DI DATI STORICI DI SENSORI AMBIENTALI E RELATIVO METODO”
La presente invenzione è relativa ad un dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e al relativo metodo.
Specificamente, l'invenzione si riferisce ad un dispositivo elettronico mobile o trasportabile dotato di o associato a sensori ambientali quali sensori inerziali, sensori di posizione (e loro derivati) e simili, ad esempio di tipo MEMS (dall'inglese Micro-Electro-Mechanical System) e avente o associato ad un elemento di memoria destinato al salvataggio dei dati forniti dai sensori ed eventualmente di dati ricavati da questi.
Come noto, gli attuali apparecchi mobili, quali telefoni cellulari, tablet, palmari, smartwatch, apparecchi elettronici portatili o indossabili, apparecchi di navigazione inerziale, sistemi automotive, sistemi robotici, ecc., consentono di raccogliere elevate quantità di dati ambientali che vengono utilizzati in un numero sempre crescente di applicazioni e programmi. In particolare, tali dispositivi comprendono sensori di grandezze fisiche, quali sensori inerziali, che rilevano dati di accelerazione, velocità angolare; sensori di posizione, quali magnetometri e sensori di prossimità; sensori di segnali derivati, quali quaternioni (dati rappresentativi di rotazioni e direzioni nello spazio tridimensionale), segnali di gravità; rilevatori di moto, quali contatori di passi, di corsa, di salita, di piani, ecc.; e segnali di grandezze ambientali, che rilevano grandezze quali pressione, temperatura, umidità, illuminazione, utilizzati nelle diverse applicazioni.
In generale, i dati acquisiti dai sensori vengono salvati in una memoria dati apposita che, in ciascun momento, contiene una "storia" degli ultimi valori dei dati salvati, la cui lunghezza è legata agli spazi di memoria disponibili.
D'altra parte, le attuali applicazioni che utilizzano i dati indicati prevedono l'acquisizione e il salvataggio di un sempre crescente numero di dati, anche in condizioni di riposo dei sensori di rilevamento dei dati. In particolare, le nuove applicazioni richiedono sia un aumento di segnali e grandezze fisiche acquisite (aumento del "tipo" di dati), sia un aumento della "storia" dei dati, come numero di campioni precedenti salvati riferiti allo stesso segnale acquisito. Di conseguenza è desiderato avere capacità di memoria sempre maggiori, desiderio che contrasta con il desiderio di contenimento o addirittura riduzione delle dimensioni e dei costi degli apparecchi mobili nel loro complesso e quindi dei dispositivi di memoria associati.
Inoltre, i dati acquisiti presentano variabilità differente nel tempo a seconda del contesto in cui si trovano i relativi sensori; ad esempio, uno stesso segnale fornito da un accelerometro o altro sensore può presentare variabilità elevata in certi momenti e variabilità molto ridotta in altri momenti. In questo secondo caso, i campioni di tale segnale (e i relativi dati da memorizzare) possono essere sostanzialmente costanti o poco variabili anche per lunghi periodi. Ad esempio, i dati di posizione sono normalmente sostanzialmente costanti quando l'apparecchio mobile è in posizione fissa, ad esempio è posato su una superficie, anche se il loro salvataggio richiede uguale spazio di salvataggio dei dati variabili rapidamente, ad esempio durante una sessione di corsa.
Infatti, gli apparecchi attuali, e le relative memorie, incorporate ("embedded") o meno, non effettuano alcun controllo sul valore dei dati e questi occupano stessi spazi in memoria, anche se di valore, almeno in parte, uguale o molto simile.
Il brevetto italiano 102015000046888 (corrispondente al brevetto statunitense 10,162,551) descrive un apparecchio ed un metodo di salvataggio in cui, qualora venga rilevata una ridondanza nei dati acquisiti, viene eseguita una fase di compressione dei dati; ai dati compressi viene associato un riferimento (“tag”) e i dati compressi vengono salvati in memoria. In particolare, in questa soluzione nota, viene verificato se nei dati acquisiti esistono particolari condizioni di elevata ripetizione (ad esempio, viene verificato se, almeno in alcune condizioni di lavoro, esiste un certo grado di ripetitività o di limitata variabilità rispetto ai dati precedentemente acquisiti o a dati standard salvati), i dati ripetitivi sono compressi e i dati a bassa ripetibilità sono mantenuti in modo non compresso.
Tale soluzione permette un buon risparmio di spazio, ma è suscettibile di miglioramento.
Scopo della presente invenzione è quindi realizzare un dispositivo elettronico di acquisizione e di salvataggio di dati di sensori ambientali e un relativo metodo aventi prestazioni migliorate rispetto alla tecnica nota.
Secondo la presente invenzione vengono realizzati un dispositivo elettronico ed un relativo metodo, come definiti nelle rivendicazioni allegate.
In particolare, il presente dispositivo elettronico e il presente metodo di salvataggio di dati massimizzano il livello di compressione tenendo conto del contesto in cui il dispositivo viene utilizzato. A tale scopo, il dispositivo valuta e classifica il tipo di attività associata ai dati acquisiti. Infatti, a ciascun tipo di attività può essere associato un modello di compressione più efficiente di altri.
Secondo una forma di realizzazione, quindi, il dispositivo elabora i dati acquisiti tramite un algoritmo ottenuto per apprendimento tramite macchina (″machine learning″) allo scopo di determinare il contesto in cui si trova il dispositivo. Ad esempio possono essere previste i seguenti contesti:
dispositivo fermo, definito ″Fermo su tavolo″ - ″Still on table″;
dispositivo portato da un utente fermo, definito ″Fermo su persona″ - ″Still on person″;
dispositivo portato da un utente che cammina, definito ″Camminata - Walking″;
dispositivo portato da un utente che si muove in bicicletta, definito ″Bicicletta″ - ″Bike″; e dispositivo portato da un utente che si muove su veicolo a motore, definito ″Auto″ - ″Car″.
I dati acquisiti dal/i sensore/i vengono compressi usando uno schema di compressione correlato al contesto determinato e vengono associati ad un'informazione sul tipo di compressione effettuata; e i dati così elaborati sono salvati in memoria.
Secondo un'ulteriore possibilità, prima della compressione, i dati acquisiti possono essere filtrati, utilizzando filtri diversi, pure dipendenti dal contesto.
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 di massima di un apparecchio elettronico;
- la figura 2 è mostra un esempio di variabilità di dati e di possibili livelli di compressione;
- la figura 3 è uno schema a blocchi funzionale di un dispositivo elettronico facente parte dell'apparecchio di figura 1, per l'esecuzione di una funzione di compressione e di decompressione basata sul contesto;
- le figure 4 e 5 mostrano intervalli di filtraggio di dati di due diversi filtri utilizzati nel dispositivo elettronico di figura 3, a seconda del contesto;
- la figura 6 mostra uno schema di generazione di un albero decisionale utilizzato nel dispositivo elettronico di figura 3;
- la figura 7 mostra un esempio di pseudo-codice costituente un albero decisionale generato tramite lo schema di figura 6; e
- le figure 8 e 9 sono schemi di flusso relativi a fasi di salvataggio e lettura di dati effettuate dal dispositivo elettronico di figura 3.
La figura 1 mostra un apparecchio elettronico 10, tipicamente un dispositivo mobile quale un telefono cellulare, uno smartphone, un PDA (Personal Digital Assistant), una foto- o video-camera, un apparecchio indossabile, quale ad esempio un orologio intelligente (“smartwatch”) o un bracciale elettronico.
Nella forma di realizzazione mostrata in figura 1, l'apparecchio 10 comprende un processore applicativo 11, un'interfaccia sensori 12 e una pluralità di sensori, includente primi sensori 16, un secondo sensore 17 e un terzo sensore 18.
Nell'apparecchio elettronico 10, il processore applicativo 11 può implementare un sistema operativo dell'apparecchio 10, può essere costituito da un controllore o da un microprocessore che invia comandi all'interfaccia sensori 12 e ai sensori 16-18 e riceve da questi, direttamente o indirettamente, dati relativi ai segnali acquisiti dai sensori. Il processore applicativo 11 è qui collegato direttamente con l'interfaccia sensori 12 e con i primi sensori 16.
I primi sensori 16 sono qui di tipo magnetico e ambientale, realizzati a sé stanti, e possono comprendere uno o più fra i seguenti sensori: un magnetometro, fornente un segnale di campo magnetico MAG[x,y,x]; un sensore di pressione, fornente un segnale di pressione P; un sensore di temperatura, fornente un segnale di temperatura T; e un sensore di umidità, fornente un segnale di umidità H. I primi sensori 16 sono qui accoppiati direttamente al processore applicativo 11.
Il secondo sensore 17 è ad esempio un accelerometro di tipo triassiale, che fornisce un segnale accelerometrico XL[x,y,z] indicativo delle accelerazioni agenti nell'apparecchio elettronico 10 lungo i tre assi X,Y,Z di un sistema di riferimento inerziale.
Il terzo sensore 18 è ad esempio un giroscopio, anch’esso di tipo triassiale, che fornisce un segnale giroscopico GY[x,y,z] indicativo delle velocità angolari agenti attorno ai tre assi X,Y,Z.
Nella forma di realizzazione di figura 1, il secondo e il terzo sensore 17, 18 sono formati all'interno della interfaccia sensori 12 e precisamente di un dispositivo sensori 15, che può essere incapsulato e comprendere anche un'unità di controllo 20 ed un'unità di compressione/decompressione 21.
Nella forma di realizzazione mostrata, l'interfaccia sensori 12 comprende anche una memoria dati 22, accoppiata al dispositivo sensori 15, ma esterna, ad esempio portata da una stessa scheda (″board″). Altre soluzioni sono però possibili, con tutti sensori 16, 17, 18 separati ed esterni al dispositivo sensori 15, sulla stessa scheda o su una scheda diversa. In alternativa, tutti i sensori 16, 17, 18 possono essere interni e incapsulati nel dispositivo sensori 15. La memoria dati 22 può essere esterna o interna al dispositivo sensori 15, in questo secondo caso essa può essere incapsulata con almeno alcuni dei componenti 16, 17, 18, 20 e 21.
L'interfaccia sensori 12 ha il compito di acquisire segnali ambientali dal secondo e dal terzo sensore 17, 18 (in seguito anche definiti sensori interni 17, 18) attraverso l'unità di controllo 20; effettuare una pre-elaborazione dei segnali acquisiti attraverso un'unità di compressione/decompressione 21 per generare dati preelaborati; salvare i dati pre-elaborati nella memoria dati 22; e fornire i dati salvati al processore applicativo 11.
In particolare, i segnali generati dai sensori interni 17, 18 e forniti all'unità di controllo 20 sono già in formato digitale, associati a campioni dei segnali acquisiti in tempi (o iterazioni) successivi o a dati elaborati da questi.
In particolare, l'unità di controllo 20 ha qui il compito di pilotare e controllare il funzionamento dei sensori interni 17, 18, nonché di acquisire i dati forniti da tali sensori. L'unità di controllo 20 può essere ad esempio un ASIC (″Application Specific Integrated Circuit″) e può comprendere un buffer (non mostrato) di memorizzazione temporanea dei dati acquisiti.
L'unità di compressione/decompressione 21 ha il compito di elaborare i dati forniti dall'unità di controllo 20, per verificare se e in che misura essi siano comprimibili, tenendo conto del contesto, prima della loro memorizzazione nella memoria dati 22. In particolare, l'unità di compressione/decompressione 21 utilizza una funzione del tipo
f(x(i)) = a·x(i) b·x(i-1) c·x(i-2) d·x(i-3) e·x(i-4), in cui a, b, c, d, e sono parametri, ad esempio numeri interi, positivi, negativi o nulli, dipendenti dal contesto, come discusso sotto, e x(i-j), con j = 1 … 4, è un dato acquisito in una j-esima iterazione precedente.
Inoltre, l'unità di compressione/decompressione 21 ha il compito di leggere i dati memorizzati nella memoria dati 22 ed eventualmente decomprimerli, prima di fornirli al processore applicativo 11, ad esempio tramite un bus 23. Ad esempio, l'unità di compressione/decompressione 21 può comprendere un microcontrollore (μC), un microprocessore, un DSP (Digital Signal Processor), una FPGA (Field Gate Programmable Array), un ASIC o simile unità di calcolo.
La memoria dati 22, generalmente di tipo volatile, quale una RAM, memorizza i dati acquisiti dai sensori interni 17, 18. Ad esempio, la memoria dati 22 può essere di tipo FIFO (First In First Out), LIFO (Last In First Out) o comprendere registri di altro tipo.
In modo noto e non descritto in dettaglio, i dati da memorizzare nella memoria dati 22 possono essere associati ad un byte specificante il tipo di dato (dato acquisito da un accelerometro, da un giroscopio, da un altro sensore, o dato derivato); time slot o priorità temporale del dato acquisito dal sensore, bit di parità per la verifica di integrità del dato. Inoltre, come meglio spiegato sotto, i dati da memorizzare nella memoria dati 22, qualora compressi, vengono associati ad un'etichetta ″tag″ che specifica il contesto associato.
Con il dispositivo sensori 15 qui descritto, la compressione viene eseguita tenendo conto del contenuto spettrale dei dati, in modo da massimizzare il contenuto informativo e il loro livello (″rate″) di compressione in base al contesto.
Infatti, studi della Richiedente hanno mostrato che, durante alcuni tipi di attività da parte di una persona portante l'apparecchio elettronico 10, alcuni schemi di compressione sono più efficaci di altri. Inoltre, è stato verificato che il contesto può essere rilevato senza eseguire lunghe e complesse (e quindi costose) analisi di frequenza, ma nel dominio del tempo, usando tecniche di apprendimento tramite macchina (″machine learning″), e quindi all'interno dell'apparecchio elettronico 10 e precisamente all'interno del dispositivo sensori 15. In particolare, gli algoritmi di compressione di tipo delta e delta quadrato (″deltasquare″), in cui, partendo da un dato avente un valore di riferimento, i dati successivi vengono salvati come differenza dal valore precedente, si sono dimostrati particolarmente efficaci. Con tale tecnica, in modo di per sé noto, può essere compresso qualunque dato avente variazione, o delta, rispetto al dato precedente, di un valore inferiore ad una soglia; salvando il valore della variazione. In questo modo, si riduce il numero di bit da salvare. Inoltre, se il delta presenta a sua volta una variazione rispetto al delta precedente, o delta quadro, inferiore ad una soglia, può essere salvata tale ulteriore variazione, riducendo ulteriormente il numero di bit utilizzati per la memorizzazione.
La figura 2 mostra un esempio di segnale (indicato con S) rilevato da un sensore inerziale (ad esempio un accelerometro o un altro sensore sopra indicato) e che ha intervalli di variabilità differenti e che quindi può essere memorizzato usando una tecnica delta o delta quadro. In figura 2, si è presupposto che il segnale S possa essere digitalizzato, per la sua possibile escursione totale, tramite 64 kbit; inoltre, in figura sono rappresentati quattro diversi intervalli di variabilità del segnale S, associati a eventuali, differenti possibilità di compressione. In particolare:
NO indica un intervallo in cui non è possibile una compressione senza perdita di informazioni;
L indica un intervallo in cui è possibile una bassa compressione senza perdita di informazioni;
M indica un intervallo in cui è possibile una media compressione senza perdita di informazioni; e
H indica un intervallo in cui è possibile una elevata compressione senza perdita di informazioni.
Studi della Richiedente hanno inoltre evidenziato che la variabilità del segnale rilevato dai sensori inerziali può essere identificata e classificata considerando ad esempio cinque contesti: apparecchio fermo su tavolo, apparecchio fermo su persona; apparecchio portato da persona che cammina; apparecchio portato da persona in bicicletta; e apparecchio portato da persona che si muove su veicolo a motore (es. macchina).
Utilizzando tale classificazione di contesto, l'unità di compressione/ decompressione 21 può essere rappresentata funzionalmente come mostrato in figura 3 e comprende:
un blocco di rilevamento del contesto 30, ricevente i dati digitalizzati D, digitalizzati ed eventualmente preelaborati, dall'unità di controllo 20 e ne determina il contesto (segnale di contesto C);
un blocco di filtraggio 31, che esegue il filtraggio dei dati digitalizzati D sulla base del segnale di contesto C, generando dati filtrati DF1; e
un blocco di compressione e associazione tag 32, che comprime i dati filtrati DF1 forniti dal blocco di filtraggio 31, se possibile; il blocco di compressione e associazione tag 32, che può comprendere dei buffer dati per la memorizzazione temporanea dei dati durante la loro elaborazione, riceve il segnale di contesto C dal blocco di rilevamento del contesto 30 e comprime i dati filtrati DF1 in base al contesto utilizzando una funzione di compressione dipendente dal contesto (come meglio spiegato sotto); inoltre, il blocco di compressione e associazione tag 32 associa ai dati compressi un tag T indicativo del tipo di filtraggio e di compressione eseguito, generando dati elaborati E forniti alla memoria dati 22 per il loro salvataggio.
L'unità di compressione/ decompressione 21 comprende inoltre:
un blocco di lettura 35 che, quando attivato ad esempio dal processore applicativo 11, legge un dato memorizzato M dalla memoria dati 22 e ne ricava il tag T;
un blocco di decompressione 36, che riceve il dato memorizzato M e il tag T ed esegue la decompressione sulla base del contesto, come spiegato più in dettaglio sotto, generando un dato decompresso DF2;
un blocco di filtraggio inverso 37, che filtra in modo inverso il dato decompresso DF2 tenendo conto del contesto dei dati, come specificato dal tag T, generando un dato letto L; e
un blocco di uscita 38, che riceve il dato letto L dal blocco di filtraggio inverso 37 o il dato memorizzato M dal blocco di lettura 35 (qualora il dato non fosse stato compresso) e lo fornisce al processore applicativo 11 attraverso il bus 23.
Come indicato sopra, il filtraggio e la compressione dei dati vengono eseguiti tenendo conto del contenuto energetico spettrale e dipendono dal contesto.
Ad esempio, la figura 4 mostra l'andamento del contenuto energetico spettrale M dei dati digitalizzati D e il relativo filtro applicato nel caso di contesto ″Camminata″ in funzione della frequenza normalizzata. In questo contesto, il contenuto informativo è compreso nell'intervallo di frequenze 2-4 Hz. Di conseguenza, i dati forniti dai sensori interni 17, 18 di figura 1 possono essere filtrati in modo da sopprimere le componenti di segnale esterne a tale intervallo. Ad esempio, in questo caso, i dati digitalizzati D possono essere filtrati mediante un filtro F1 di tipo freqz avente funzione di trasferimento H1:
H1 = freqz([-1,1,-1],3)
(si veda ad esempio https://www.mathworks.com/help/ signal/ref/freqz.html).
Nell'esempio considerato di contesto ″Camminata″, il dato filtrato DF1 viene quindi elaborato dal blocco di compressione e associazione tag 32 per verificare la possibilità di compressione. In particolare il blocco di compressione e associazione tag 32 calcola la seguente funzione di compressione:
f1(x(i)) = -x(i) x(i-1) x(i-2) (1) in cui x(i) è un campione presente del dato filtrato DF1, x(i-1) è il campione precedente a quello presente e x(i-2) è il campione precedente a x(i-1).
Inoltre, il blocco di compressione e associazione tag 32 calcola (o acquisisce il risultato di una elaborazione precedente) anche la funzione f1(x(i-1)):
f1(x(i-1)) = -x(i-1) x(i-2) x(i-3) (2) Il blocco di compressione 32 quindi verifica che sia soddifatta la regola:
F1(x(i)) < THS AND f1(x(i-1)) < THS (3) in cui THS è una soglia, determinata dall'algoritmo di apprendimento tramite macchina, come discusso in seguito.
Se la condizione (3) è verificata, il dato compresso CD1 = [f1(x(i))] viene inviato alla memoria dati 22, dopo essere stato associato al tag T che specifica il contesto come ″Camminata″, insieme ad eventualmente ulteriori informazioni, ad esempio per controllo di parità o utili per la decompressione. Il dato compresso CD1 = [f1(x(i))] può essere inoltre memorizzato localmente nel blocco di compressione e associazione tag 32 per poter verificare la condizione (3) per il campione successivo.
Il dato compresso CD1 può essere quindi ricostruito (decompresso) utilizzando la funzione (4) seguente:
x(i) = -[f1(x(i)) f1(x(i-1))] - x(i-3) (4)
che si ottiene combinando la (1) con la (2).
In questo caso, quindi, il blocco di decompressione 36, sulla base del tag T letto dal blocco di lettura tag 35, ricostruisce il dato filtrato DF1 sulla base della (4).
In alternativa a quanto sopra, la compressione dei dati può essere ancora più spinta. Ad esempio, nel caso che la regola (3) sia verificata, le funzioni (1) e (2) possono essere applicate ulteriormente sui risultati, calcolando ad esempio f1(f1(x(i))) e f1(f1(x(i-1))) e verificando che il risultato sia inferiore alla soglia THS (o altra soglia determinata dall'algoritmo di machine learning. In questo caso, il dato bi-compresso f1(f1(x(i))) viene inviato alla memoria dati 22 come dato compresso CD1 e il tag T può avere un valore codificante tale ulteriore compressione.
Nel caso di contesto ″Bicicletta″ o ″Auto″, il contenuto di energia spettrale è compreso nell'intervallo 1-2 HZ, come mostrato in figura 5. In questo caso, è possibile utilizzare un filtro di soppressione di tipo passa-banda, che sopprime le componenti di segnale a frequenze esterne a tale intervallo.
In questo caso, i dati digitalizzati D possono essere filtrati mediante un filtro F2 avente funzione di trasferimento H2:
H2 = freqz([1,0,-1],3)
per ottenere il dato filtrato DF1.
Analogamente a quanto sopra, il dato filtrato DF1 viene quindi elaborato dal blocco di compressione e associazione tag 32 per verificare la possibilità di compressione. In particolare il blocco di compressione e associazione tag 32 calcola la seguente funzione:
f2(x(i)) = x(i) - x(i-2) (5) in cui x(i) e x(i-2) sono i campioni definiti sopra (campione presente e campione di due letture precedenti).
Inoltre, il blocco di compressione e associazione tag 32 calcola anche le funzioni f2(x(i-1)) e f2(x(i-2)) (o acquisisce il risultato di elaborazioni precedenti):
f2(x(i-1)) = x(i-1) - x(i-3) (6) f2(x(i-2)) = x(i-2) - x(i-4) (7) Il blocco di compressione 32 quindi verifica che sia soddifatta la seguente regola:
f2(x(i)) < THS AND f2(x(i-2)) < THS (8) In questo caso, analogamente a quanto descritto sopra, il dato compresso CD1 = [f2(x(i] viene inviato alla memoria dati 22, dopo essere stato associato al tag T che specifica il contesto come ″Bicicletta″, nonché eventualmente ad ulteriori informazioni. Inoltre, il dato compresso CD1 = [f2(x(i)] può essere salvato localmente.
In questo caso, scrivendo la (7) come:
x(i-2) = f2(x(i-2)) x(i-4) (9) il campione DF1 può essere ricostruito (decompresso) utilizzando la funzione (10):
x(i) = f2(x(i)) x(i-2) =
f2(x(i)) f2(x(i-2)) x(i-4) (10). Nel caso del contesto Fermo-Still, è possibile effettuare solo una verifica di soglia dei campioni, ad esempio come descritto nella domanda di brevetto italiana 102015000046888 sopra citata.
In pratica, in base ai dati raccolti dalla Richiedente e alle simulazioni effettuate, è stato rilevato che, nel contesto ″Camminata″ si ottenevano dati compressi fino a 1,4 volte; nel contesto ″Bicicletta″, si ottenevano dati compressi fino a 2,6 volte e, nel caso di contesto ″Auto″ si ottenevano dati compressi fino a 1,8 volte, senza perdere informazioni in fase di ricostruzione.
Come accennato sopra, allo scopo di elaborare il contesto di attività dei sensori, viene utilizzato un algoritmo basato su albero decisionale, le cui regole e parametri vengono determinate tramite una tecnica di ″machine learning″ utilizzante basi dati raccolte in fase di progettazione del dispositivo sensori 15 in contesti noti ed eventualmente in fase di utilizzazione del dispositivo sensori 15 stesso.
A tale scopo, viene seguito un flusso mostrato in figura 6 e comprendente:
raccolta dati, passo 40. Vengono raccolti dati per ciascun tipo di attività (contesto) utilizzando sensori analoghi ai sensori interni 17, 18 del dispositivo sensori 15, in contesti e condizioni note;
estrapolazione delle features dei dati, passo 41. Le features possono essere parametri statistici o aritmetici calcolati a partire dai dati, quali media, varianza, energia, attraversamento di zero, valore di picco. In particolare, per ogni attività (contesto); le features vengono calcolate in finestre temporali fisse e viene associato il tag identificante il contesto;
machine learning, passo 42. I dati vengono elaborati attraverso uno strumento di addestramento, ad esempio utilizzando lo strumento Weka (Waikato Environment for Knowledge Analysis), sviluppato dall'Università di Waikato, o altro strumento analogo. Esso fornisce in uscita un albero decisionale (blocco 43) utilizzato dal blocco di rilevamento del contesto 30.
In particolare, l'albero decisionale 43 è una sorta di algoritmo che fornisce uno specifico risultato quando tutte le condizioni e regola identificate sono verificate.
Ad esempio, l'albero decisionale può avere la struttura mostrata in figura 7, in cui le variabili (Feat1, Feat2, Feat5, Feat7) sono le features utilizzate dall'algoritmo di machine learning e indicate sopra, e le soglie (Threshold 1-4) dipendono dal tipo di acquisizione/riconoscimento eseguito dall'algoritmo e sono estrapolate dall'algoritmo di apprendimento tramite macchina in base ai dati utilizzati per l'apprendimento. In figura 7, sono identificati dai risultati ″result″ e identificati tramite un numero (2, 3, 4, 5, 7, 8) .
Ad esempio, nel caso di contesto ″Camminata″ e ″Bicicletta″, a seconda delle features e della finestra temporale i valori delle features possono essere dell'ordine di qualche decina di mg o dei g.
L'albero decisionale 43 è qui caricato nel dispositivo sensori 30 e precisamente nel blocco di rilevamento del contesto 30 in modo che, sulla base dei dati raccolti, durante l'uso, dai sensori inerziali 17, 18, determina periodicamente il contesto.
Sulla base di quanto sopra, il dispositivo sensore 15 opera, in fase di acquisizione dati, secondo il flusso esplicitato in figura 8 e qui sotto descritto, facendo anche riferimento alla struttura a blocchi di figura 3.
In particolare, periodicamente, dopo l'acquisizione di un nuovo pacchetto contenente un numero prefissato di campioni, oppure al rilevamento di una condizione operativa critica, ad esempio il riempimento di un buffer temporaneo dell'unità di controllo 20 di figura 3, il blocco di rilevamento del contesto 30 viene attivato per determinare il contesto, passo 50. A tale scopo, come indicato, esso utilizza l'albero decisionale 43 di figura 7.
Nel caso considerato, vengono distinti tre contesti: apparecchio 10 fermo su tavolo o su persona (contesto still - S); apparecchio 10 portato da un utente che cammina (contesto walking - W); e apparecchio 10 portato da un utente che si muove in bicicletta o su veicolo a motore (contesto biking - B), passo 51. Nel caso di contesto S, viene effettuato un filtraggio passa-alto, passo 52; nel caso di contesto W, viene effettuato un filtraggio passa-banda (come discusso con riferimento alla figura 4), passo 53; e nel caso di contesto B, viene effettuato un filtraggio passabasso(come discusso con riferimento alla figura 5), passo 54.
Quindi, il blocco di compressione e associazione tag 32 (figura 3) verifica se i dati filtrati DF1 sono inferiori alla soglia, passo 60, e, in caso positivo, comprime i dati filtrati DF1, ad esempio tramite una codifica delta o delta quadrato, come spiegato sopra, passo 61.
Al termine della compressione o nel caso che i dati siano non comprimibili (uscita N dal passo 61), i dati vengono salvati nella memoria 22 (figura 3), passo 62. In particolare, nel caso che i dati siano stati compressi, essi vengono salvati in forma filtrata e compressa (dati compressi CD), insieme al relativo tag T che specifica il contesto e la compressione effettuata; nel caso che i dati non vengano compressi, essi vengono salvati in forma non filtrata (dati letti D), senza tag T, eventualmente associati a informazioni di parità.
Quando l'apparecchio 10, attraverso il processore applicativo 11 (figura 1) richiede i dati memorizzati, viene attivata la procedura di recupero dei dati dalla memoria 22, mostrata in figura 9 e qui descritta facendo anche riferimento alla struttura a blocchi di figura 3.
In dettaglio, all'attivazione della procedura di recupero dei dati dalla memoria 22, il blocco di lettura 35 (figura 3) acquisisce i dati memorizzati M dalla memoria 22 fase 65, e verifica se è presente un tag T, passo 66. In caso negativo, i dati letti vengono inviati direttamente al processore applicativo 11, passo 67.
Qualora il blocco di lettura 35 rilevi un tag T, uscita S dal passo 66, esso lo decodifica, per determinare il contesto S, W o B relativo ai dati appena letti, passo 70. In caso di contesto S, il blocco di decompressione 36 esegue la decompressione dei dati letti, passo 71, e il blocco di filtraggio inverso 37 filtra il dato letto con un filtro inverso rispetto a quello utilizzato nel passo di filtraggio 52 di figura 6, passo 72; nel caso di contesto W, il blocco di decompressione 36 esegue la decompressione dei dati letti, ad esempio usando la funzione (4), passo 73, e il blocco di filtraggio inverso 37 filtra il dato letto con un filtro inverso rispetto a quello utilizzato nel passo di filtraggio 53 di figura 6, passo 72; e, nel caso di contesto B, il blocco di decompressione 36 esegue la decompressione dei dati letti, ad esempio usando la funzione (10), passo 75, e il blocco di filtraggio inverso 37 filtra il dato letto con un filtro inverso rispetto a quello utilizzato nel passo di filtraggio 54 di figura 6, passo 76.
I dati decompressi in uscita dai passi 72, 74 e 76 sono inviati al processore applicativo 11, passo 67.
Il dispositivo sensori, l'apparecchio elettronico e il metodo di salvataggio dati qui descritti presentano numerosi vantaggi.
In particolare, grazie alla compressione dei dati acquisiti, il dispositivo è in grado di salvare un elevato numero di dati, maggiore rispetto ai dispositivi noti. Grazie al fatto che la compressione (e l'eventuale precedente filtraggio) sono effettuati sulla base della variabilità dei dati, determinata in base al contesto, ovvero al grado di movimento del dispositivo elettronico, verificata anche sulla base di soglie, la compressione può essere eseguita in modo selettivo e adattato agli specifici dati, quindi con elevato grado di efficienza e senza rischio di perdita di informazioni.
La determinazione del tipo di attività o contesto avviene attraverso un algoritmo precaricato sul dispositivo, e quindi non richiede mezzi di calcolo costosi o lenti, quali algoritmi basati su analisi spettrale nel dominio delle frequenze, quali algoritmi FFT. Il dispositivo quindi presenta un consumo comparabile con quello di dispositivi noti che non comprimono i dati o li comprimono tramite semplici compressioni delta uguali per tutti i dati e/o tutti i contesti.
La riduzione dei dati da salvare periodicamente, la semplicità delle operazioni di calcolo eseguite e l'eventuale attivazione di procedure di compressione solo in condizioni di riempimento critico dei buffer permettono di limitare il consumo del dispositivo nonché del bus dati, anche in presenza di un elevato numero di dati in memoria.
Risulta infine chiaro che al dispositivo di salvataggio e al relativo metodo, 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, le diverse soluzioni descritte possono essere combinate in modo da fornire ulteriori forme di realizzazione.
Inoltre, sebbene la descrizione precedente si riferisca in particolare ad un dispositivo destinato ad essere inserito in un apparecchio elettronico mobile, indossato da un utente nella vita quotidiana e dotato di sensori inerziali, destinato a cooperare una un processore applicativo che esegue applicazioni memorizzate nell'apparecchio elettronico, la stessa soluzione è applicabile ad apparecchi elettronici usualmente non indossabili, ma mobili in talune situazioni in modo che i relativi sensori acquisiscano dati aventi velocità non costante di variabilità e dipendente dal contesto (ad esempio nulla in alcuni contesti, ad esempio in caso di fermo o in contesti di laboratorio, e variabile in altri contesti), per i quali sia desiderato poter aumentare la possibilità di salvataggio mediante una compressione efficiente, variabile a seconda del contesto.
Inoltre, come indicato, i sensori possono essere interni o esterni al dispositivo, così come la memoria di immagazzinamento dei dati sottoposti alle operazioni di compressione selettiva.
Le soglie indicate per la verifica di possibilità di compressione THS possono essere diverse, a seconda del contesto.
I filtri H1 e H2 possono utilizzare anche funzioni di risposta in frequenza per filtri digitali differenti dalla funziona freqz indicata.

Claims (18)

  1. RIVENDICAZIONI 1. Dispositivo elettronico (12) per il salvataggio di una pluralità di dati forniti da almeno un sensore (17, 18) configurato per operare in una pluralità di contesti ambientali, i dati avendo velocità di variazione dipendente dal contesto ambientale, il dispositivo elettronico comprendendo: un'unità di acquisizione di dati (50), configurata per ricevere la pluralità di dati; un'unità di valutazione del contesto (30; 51), configurata per identificare un contesto ambientale fra la pluralità di contesti ambientali dalla velocità di variazione non costante dei dati e generare un'informazione di contesto (T); e un'unità di compressione dei dati (32; 61), configurata per applicare ai dati acquisiti un algoritmo di compressione dipendente dal contesto ambientale identificato e a fornire dati compressi ad un elemento di memoria (22).
  2. 2. Dispositivo elettronico secondo la rivendicazione precedente, in cui l'unità di valutazione del contesto (30; 51; 43) è configurata per estrarre caratteristiche dei dati (Feat1, Feat2, Feat4, Feat5, Feat7) di tipo statistico e/o geometrico, confrontare le caratteristiche dei dati estratte con soglie di caratteristiche (Threshold0-4) e generare l'informazione di contesto (T) sulla base di esiti del confronto fra le caratteristiche dei dati estratte e le soglie di caratteristiche.
  3. 3. Dispositivo elettronico secondo la rivendicazione precedente, in cui le caratteristiche dei dati (Feat1, Feat2, Feat4, Feat5, Feat7) e le soglie di caratteristiche (Threshold0-4) sono determinate da uno strumento di apprendimento tramite macchina (42).
  4. 4. Dispositivo elettronico secondo una qualsiasi delle rivendicazioni precedenti, in cui l'unità di valutazione del contesto (30; 51) è configurata per identificare almeno due contesti ambientali differenti, scelti fra fermo; portato da utente fermo; camminata; bicicletta; e moto su veicolo a motore e le caratteristiche dei dati includono media, varianza, energia, attraversamento di zero e valore di picco.
  5. 5. Dispositivo elettronico secondo una qualsiasi delle rivendicazioni precedenti, in cui l'algoritmo di compressione utilizza una compressione basata su codifica delta e/o delta-quadro.
  6. 6. Dispositivo elettronico secondo una qualsiasi delle rivendicazioni precedenti, in cui l'algoritmo di compressione calcola un dato compresso attuale in base alla seguente funzione di compressione f(x(i)): f(x(i)) = a·x(i) b·x(i-1) c·x(i-2) d·x(i-3) e·x(i-4), in cui a, b, c, d ed e sono parametri dipendenti dal contesto ambientale e x(i-j), con j = 1 … 4, è un dato precedente acquisito in una j-esima iterazione precedente.
  7. 7. Dispositivo elettronico secondo la rivendicazione precedente, in cui l'unità di compressione dei dati (32; 61) verifica che il dato compresso attuale (f(x(i))) ed almeno un dato compresso precedente (f(x(i-j))) siano inferiori a soglie prefissate ed invia il dato compresso attuale all'elemento di memoria (22), insieme all'informazione di contesto.
  8. 8. Dispositivo elettronico secondo una qualsiasi delle rivendicazioni precedenti, comprendente inoltre una unità di filtraggio dipendente dal contesto (52-54) accoppiata all'unità di acquisizione di dati (50) e all'unità di valutazione del contesto (51), l'unità di filtraggio dipendente dal contesto essendo configurata per filtrare i dati forniti dall'unità di acquisizione di dati sulla base dell'informazione di contesto (T) e generare dati filtrati (DF1) forniti alla unità di compressione dei dati.
  9. 9. Dispositivo elettronico secondo la rivendicazione precedente, in cui l'unità di filtraggio dipendente dal contesto (52-54) è un filtro passa-banda, in particolare un filtro di tipo freqz.
  10. 10. Dispositivo elettronico secondo la rivendicazione 8 o 9, comprendente una unità di verifica comprimibilità dati (60), accoppiata all'unità di filtraggio dipendente dal contesto (52-54) e configurata per confrontare i dati filtrati con una soglia di filtraggio dati (THS) e fornire i dati filtrati alla unità di compressione dei dati (61) nel caso che i dati filtrati siano inferiori alla soglia di filtraggio dati (THS).
  11. 11. Dispositivo elettronico secondo una qualsiasi delle rivendicazioni precedenti, comprendente inoltre una unità di acquisizione di dati memorizzati (35); una unità di identificazione di contesto di lettura (66), accoppiata alla unità di acquisizione di dati memorizzati; una unità di decompressione e defiltraggio (36, 37; 71-76), accoppiata alla unità di acquisizione di dati memorizzati (35) e all'unità di identificazione di contesto di lettura (66); e un'unità di uscita (38; 67), accoppiata alla unità di acquisizione di dati memorizzati (35) e all'unità di identificazione di contesto di lettura (66); in cui l'unità di acquisizione di dati memorizzati (35) è configurata per acquisire dati compressi letti (M); l'unità di identificazione di contesto di lettura (66) è configurata per ricercare una etichetta di contesto (T) nei dati memorizzati (CD) ed inviare i dati memorizzati acquisiti e l'etichetta di contesto all'unità di decompressione e defiltraggio (36, 37; 71-76) al rilevamento di etichetta e a inviare i dati memorizzati alla unità di uscita (38; 67), in assenza di etichetta; e l'unità di decompressione e defiltraggio (36, 37; 71-76) è configurata per eseguire una decompressione dei dati memorizzati e un'operazione di filtraggio inverso in base all'etichetta di contesto (T) e fornire dati decompressi e filtrati in inverso all'unità di uscita (38; 67).
  12. 12. Dispositivo elettronico secondo una qualsiasi delle rivendicazioni precedenti, in cui il sensore (17, 18) è integrato nel dispositivo elettronico ed è scelto fra un sensore di grandezze fisiche, quale un sensore inerziale rilevante dati di accelerazione e/o velocità angolare; un sensore di posizione, quale un magnetometro e un sensore di prossimità; un sensore di segnali derivati, quali quaternioni e segnali di gravità; un rilevatore di moto, quali un contatore di passi, di corsa, di salita, di piani e un sensore di grandezze ambientali, quali pressione, temperatura, umidità, illuminazione inerziale, un sensore di tipo MEMS.
  13. 13. Dispositivo elettronico secondo una qualsiasi delle rivendicazioni precedenti, in cui l'elemento di memoria (22) è integrato nel dispositivo elettronico (12).
  14. 14. Apparecchio elettronico (10) comprendente il dispositivo elettronico (12) secondo una qualsiasi delle rivendicazioni precedenti, comprendente un processore applicativo e scelto tra un uno smartphone; uno smartwatch; PDA (Personal Digital Assistant); un computer portatile; un telefono cellulare; un tablet; un riproduttore di audio digitale; una foto- o video-camera, un palmare, un apparecchio elettronico portatile o indossabile, un apparecchio di navigazione inerziale.
  15. 15. Metodo per il salvataggio di una pluralità di dati forniti da almeno un sensore configurato per operare in una pluralità di contesti ambientali, i dati avendo velocità di variazione non costante dipendente dal contesto ambientale, il metodo comprendendo: acquisire la pluralità di dati; identificare un contesto ambientale fra la pluralità di contesti ambientali dalla velocità di variazione non costante dei dati; generare un'informazione di contesto; comprimere la pluralità di dati acquisiti in base ad un algoritmo di compressione dipendente dal contesto ambientale identificato; e fornire dati compressi ad un elemento di memoria.
  16. 16. Metodo secondo la rivendicazione precedente, in cui identificare un contesto ambientale comprende estrarre caratteristiche di tipo statistico e/o geometrico dei dati, confrontare le caratteristiche dei dati estratte con soglie di caratteristiche e generare l'informazione di contesto sulla base di esiti del confronto fra le caratteristiche dei dati estratte e le soglie di caratteristiche.
  17. 17. Metodo secondo la rivendicazione 15 o 16, comprendente acquisire una pluralità di dati di configurazione in contesti ambientali prefissati; e determinare le caratteristiche dei dati di configurazione e soglie di caratteristiche in base al contesto ambientale mediante uno strumento di apprendimento tramite macchina.
  18. 18. Metodo secondo una qualsiasi delle rivendicazioni 15-17, comprendente, prima di comprimere, filtrare i dati acquisiti utilizzando un filtro selezionato fra una pluralità di filtri dipendenti dal contesto, il filtro essendo selezionato sulla base dell'informazione di contesto; generare dati filtrati in base al contesto; confrontare i dati filtrati con soglie di filtraggio; comprimere i dati filtrati solo nel caso che essi siano inferiori alla soglia di filtraggio.
IT102019000016136A 2019-09-12 2019-09-12 Dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e relativo metodo IT201900016136A1 (it)

Priority Applications (2)

Application Number Priority Date Filing Date Title
IT102019000016136A IT201900016136A1 (it) 2019-09-12 2019-09-12 Dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e relativo metodo
US17/012,495 US11587378B2 (en) 2019-09-12 2020-09-04 Electronic device for efficiently saving historic data of ambient sensors and associated method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102019000016136A IT201900016136A1 (it) 2019-09-12 2019-09-12 Dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e relativo metodo

Publications (1)

Publication Number Publication Date
IT201900016136A1 true IT201900016136A1 (it) 2021-03-12

Family

ID=69158268

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102019000016136A IT201900016136A1 (it) 2019-09-12 2019-09-12 Dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e relativo metodo

Country Status (2)

Country Link
US (1) US11587378B2 (it)
IT (1) IT201900016136A1 (it)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233477A1 (en) * 2006-03-30 2007-10-04 Infima Ltd. Lossless Data Compression Using Adaptive Context Modeling
US20120265716A1 (en) * 2011-01-19 2012-10-18 Qualcomm Incorporated Machine learning of known or unknown motion states with sensor fusion
WO2013093173A1 (en) * 2011-12-21 2013-06-27 Nokia Corporation A method, an apparatus and a computer software for context recognition
WO2017114578A1 (en) * 2015-12-30 2017-07-06 Teraki Gmbh Method and system for determining a sampling scheme for sensor data
US20170343577A1 (en) * 2016-05-30 2017-11-30 Orange Determination of a mobility context for a user carrying a device fitted with inertial sensors
US10162551B2 (en) 2015-08-27 2018-12-25 Stmicroelectronics S.R.L. Method of smart saving high-density data and memory device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233477A1 (en) * 2006-03-30 2007-10-04 Infima Ltd. Lossless Data Compression Using Adaptive Context Modeling
US20120265716A1 (en) * 2011-01-19 2012-10-18 Qualcomm Incorporated Machine learning of known or unknown motion states with sensor fusion
WO2013093173A1 (en) * 2011-12-21 2013-06-27 Nokia Corporation A method, an apparatus and a computer software for context recognition
US10162551B2 (en) 2015-08-27 2018-12-25 Stmicroelectronics S.R.L. Method of smart saving high-density data and memory device
WO2017114578A1 (en) * 2015-12-30 2017-07-06 Teraki Gmbh Method and system for determining a sampling scheme for sensor data
US20170343577A1 (en) * 2016-05-30 2017-11-30 Orange Determination of a mobility context for a user carrying a device fitted with inertial sensors

Also Published As

Publication number Publication date
US20210082212A1 (en) 2021-03-18
US11587378B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
US11237184B2 (en) Methods and systems for pattern-based identification of a driver of a vehicle
US11096593B2 (en) Method for generating a personalized classifier for human motion activities of a mobile or wearable device user with unsupervised learning
EP1731996A3 (en) Writing system
US20160325756A1 (en) Methods and systems for sensor-based vehicle acceleration determination
JP6083799B2 (ja) 携帯デバイスの携帯場所判定方法、携帯デバイス、携帯デバイスの携帯場所判定システム、プログラム及び情報記憶媒体
CN103455170A (zh) 一种基于传感器的移动终端运动识别装置及方法
CN106999748B (zh) 与运动数据有关的系统、设备和方法
CN111183460A (zh) 摔倒检测器和摔倒检测的改进
CN108596074A (zh) 一种基于惯性传感器的人体下肢动作识别方法
Shi et al. Fall detection system based on inertial mems sensors: Analysis design and realization
US20170344123A1 (en) Recognition of Pickup and Glance Gestures on Mobile Devices
ITUB20153254A1 (it) Metodo di salvataggio intelligente di dati ad elevata densita&#39; e relativo dispositivo di memoria
Minh et al. Evaluation of smartphone and smartwatch accelerometer data in activity classification
IT201900016136A1 (it) Dispositivo elettronico di salvataggio efficiente di dati storici di sensori ambientali e relativo metodo
CN111603169A (zh) 基于mems惯性传感器的行人步态识别方法
CN114267430A (zh) 基于路线及环境对游客体能及其消耗推算的方法及系统
Shao et al. LightBGM for human activity recognition using wearable sensors
KR101108141B1 (ko) 전자식 가속도 센서를 이용한 보행 검출 방법 및 장치
EP3382570A1 (en) Method for characterizing driving events of a vehicle based on an accelerometer sensor
CN109620241B (zh) 一种可穿戴设备及基于其的动作监测方法
Prasertsung et al. A classification of accelerometer data to differentiate pedestrian state
US9906845B2 (en) Sensing device and corresponding apparatus and method
İsmail et al. Human activity recognition based on smartphone sensor data using cnn
Liu et al. Preimpact fall detection for elderly based on fractional domain
Kusuma et al. Human activity recognition utilizing SVM algorithm with gridsearch