2017-07-03 4 views
0

Je suis en train de reproduire le traitement pré signal effectué sur cet ensemble de données: http://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones#Matlab: Mise en œuvre de largeur fixe coulissante technique de fenêtrage sur le signal du capteur

"Les signaux de capteurs (accéléromètre et gyroscope) ont été pré-traitées par application de filtres de bruit, puis échantillonnage dans des fenêtres coulissantes à largeur fixe de 2,56 sec et 50% de chevauchement (128 lectures/fenêtre) "

J'essaie d'effectuer toutes mes fonctionnalités sur Matlab et je suis bloqué en essayant de créer un fixe largeur de la fenêtre coulissante sur mes signaux d'accélération.

Mon domaine principal est la classification AI et n'ai pas de connaissances de base sur le prétraitement du signal, etc. J'essaie de faire des recherches etc depuis longtemps mais je ne peux pas comprendre ce que je dois faire à mon signal.

J'ai des signaux qui sont produits à une fréquence d'échantillonnage de 51,2. Toute aide s'il vous plaît sur la façon dont je peux générer une fenêtre d'échantillonnage comme celle faite sur l'ensemble de données lié?

Répondre

0

Vous devez calculer la longueur de la fenêtre en nombre d'échantillons et étape = fenêtre chevauchement et utilisez:

https://stackoverflow.com/a/44190634/3344428 (vous pouvez effacer le code inutile pour std, dissymétrie etc.)

Vous devez indiquer la longueur de la fenêtre , parce que vous avez mentionné "128 lectures/fenêtre", MAIS si vous utilisez une fenêtre de 2.56 sec sur le signal 51.2 Hz, alors la fenêtre = 2.56 * 51.2 = 131 échantillons.

+0

Un grand merci pour votre réponse! Re fenêtre longueur, y at-il un moyen idéal sur la façon de le calculer? J'ai seulement choisi de suivre le traitement pour cet ensemble de données particulier puisque le mien est très similaire et voulait commencer à tester avec cela. Cependant, dans l'étude précédente, la fenêtre de 2,56 secondes est faite sur un signal de 50 Hz. En ce qui concerne votre code, que devrais-je passer pour les vars: x, window et step? Et ce que vous faites là est qu'au lieu de créer un nouvel ensemble de données avec 128 lectures par fenêtre, vous calculez les caractéristiques pour chaque fenêtre? Merci encore! –

+0

Peut-être que cela ne concerne pas la moyenne glissante, mais le calcul d'un ensemble complet de caractéristiques de chaque fenêtre (c'est-à-dire que la valeur moyenne est une caractéristique unique, mais il existe de nombreuses fonctionnalités différentes). Ensuite, vous devriez chercher la description sur la façon de calculer chaque fonctionnalité. Je suppose que la longueur de la fenêtre est de 2^7 pour le calcul simple 'fft', et vous devriez aussi utiliser 128 lectures (étape = 64). – Sairus

+0

Ok merci beaucoup! Donc, pour x, je devrais passer mon ensemble de données (par exemple les valeurs d'accélération sur l'axe des x) et la fenêtre aurait une valeur de 128? Merci encore! –