UC

Introdução

O objetivo deste trabalho é a análise de dados de sinais de acelerómetros de smartphones, nos domínios do tempo e da frequência, cuja a finalidade é a identificação das atividades realizadas.

Há 12 atividades diferentes:

Neste projeto foram utilizadas essencialmente as seguintes ferramentas matemáticas: Fast Fourier Transform (FFT), a Transformada de Fourier Discreta (DFT) e a Transformada de Fourier em Janelas (STFT).

Implementação & Discussão

1. Obter os sinais dos acelerómetros nos 3 eixos (X, Y e Z) relativos à sua turma PL e desenvolver o código necessário para os importar.

São importados para a memória todos os dados prevenientes de ficheiros relevantes que se encontram na path /dataset, com o nome acc_expX_userY.txt. Apenas a informação necessária contida no ficheiro labels.txt é importada para a memória (expX_userY_actividades) e associada às variáveis que contêm os dados dos acelerómetros (expX_userY).

2. Representar graficamente os sinais importados para cada eixo (X, Y e Z), identificando adequadamente a atividade a que cada segmento do sinal corresponde. Considerar o exemplo representado na figura 2.

Para obter os gráficos, utilizou-se a informação contida nas variáveis expX_userY_actividades, para determinar a posição das legendas e dos pequenos excertos do sinal, correspondente às atividades, para desenhar os gráficos coloridos.

3. Pretende-se calcular a DFT do segmento do sinal associado a cada atividade, para os vários utilizadores, e identificar as características principais de cada atividade.

3.1. Calcular a DFT de cada segmento do sinal para as várias atividades e para os vários utilizadores. Organizar os resultados por atividade.

São criadas as variáveis expX_userY_coefsDFT com o valor da DFT (um vetor) por sensor e por índice de atividade.

3.2. Identificar as características mais relevantes, nomeadamente espectrais, para cada atividade, analisando e apresentando os resultados obtidos por atividade.

Ao contrário das atividades de transição, as atividades estáticas não são fáceis de determinar as frequências mais relevantes, uma vez que nao há nenhuma que se destaca mais que as restantes. Nas atividades dinâmicas percebe-se uma sazonalidade.

3.3. Para cada atividade dinâmica, identificar estatisticamente o número de passos por minuto para cada utilizador. Criar uma tabela com os resultados obtidos e calcular o valor médio e o desvio padrão por atividade.

UC

Focando no eixo ACC X, considera-se que 1 passo corresponde a 1 período fundamental da componente mais relevante em magnitude do sinal, uma vez que se pode considerar a atividade walking como um moviemnto periódico. O número de passos é igual ao intervalo de tempo a multiplicar pela frequência fundamental.

3.4. Identificar as características, por exemplo espectrais, que permitam distinguir as atividades estáticas, de transição e dinâmicas. Apresentar os resultados graficamente. Avaliar os resultados obtidos em termos de sensibilidade e especificidade.

Seguindo a sugestão em [2], para distinguir as atividades estáticas das atividades dinâmicas e de transição, calcula-se o vetor de magnitude do sinal.

Verifica-se que as atividades estáticas têm os valores mais baixos e constantes. As atividades dinâmicas possuem valores elevados e com muita variação ao longo do tempo. As atividades de transição têm um comportamento intermédio.

3.5. Identificar as características, por exemplo espectrais, que permitam distinguir cada tipo de atividade. Apresentar os resultados graficamente. Avaliar os resultados obtidos em termos de sensibilidade e especificidade.

Seguindo a sugestão em [2], para distinguir as diferentes atividades, mede-se o ângulo entre o vetor do eixo ACC X, que corresponde a um utilizador a estar de pé (imobilizado), com o vetor que represente uma determinada atividade no tempo.

A partir dos gráficos verifica-se que atividades com ângulos estáveis inferiores a 20 graus são do tipo stand, com ângulos estáveis entre os 20 e os 60 graus são do tipo sit, e as atividades com ângulos estáveis superiores 60 graus são do tipo lay. As atividade de transição identificam-se pela transição entre o ângulo inicial e o ângulo final. Dentro das atividades dinâmicas, todas possuem muita instabilidade, mas, empiricamente, o valor médio do ângulo durante o período da atividade é mais elevado em atividades do tipo walking upstairs e mais baixo em atividades do tipo walking downstairs.

4. Obter computacionalmente as distribuições tempo-frequência para o sinal do acelerómetro no “eixo Z” para um ficheiro de dados à sua escolha. Usar a Short-Time Fourier Transform (STFT).

4.1. Escolher, justificadamente, a janela a considerar na aplicação da STFT. Para isso, selecionar uma atividade dinâmica e usar diferentes tipos de janela para segmentar o sinal associado a essa atividade. Calcular a DFT do segmento com as diferentes janelas e comparar os resultados obtidos, procurando evidenciar o efeito das diferentes janelas.

Para evitar o efeito Spectral Leakage, é aplicada uma função (hamming ou guassiana) à janela. Nesta fase, com a ajuda dos gráficos, é possível perceber a variação e a suavidade na transição das frequências mais relevantes numa janela ao longo do tempo. Também é possível escolher o intervalo de tempo corrrespondente à largura da janela e à sobreposição de janelas.

De facto, a aplicação das funções (hamming ou guassiana) à janela, permitem focar nos valores do centro da janela, e consequentemente resultar em menos transições abruptas entre janelas. Além disso, produz uma atenuação dos valores da magnitude das frequências.

Alterar o intervalo de tempo corrrespondente à largura da janela e à sobreposição de janelas tem impacto na resolução espectral e na resolução temporal. São inversamente proporcionais, quando se aumenta uma, a outra parde resolução.

4.2. Desenvolver a sua própria função para o cálculo da STFT.

4.3. Aplicar a STFT ao sinal com a janela deslizante selecionada, usando os parâmetros corretos para visualizar de forma conveniente as diferentes atividades, não descorando a visualização apropriada da “assinatura” espectral de cada uma delas. Avaliar os resultados obtidos em termos de sensibilidade e especificidade.

Ao contrário das atividades estáticas, as atividades dinâmicas apresentam várias frequências relevantes (com magnitude alta).

Numa análise ao sinal como um todo, é possível verificar na assinatura espectral a diferenciação entre actividade.

Referências

[1] Material de apoio da disciplina;
[2] Faculdade de Engenharia da Universidade do Porto, sobre "Smartphone Based Human Activity Prediction", pág. 28, consultado em maio de 2022, disponivel em https://repositorio-aberto.up.pt/bitstream/10216/72620/1/000157899.pdf.