bonsoir,
je n'arrive à trouver un code pour diviser un signal en 10 portions et de les appliquer chacun à part une FFT.
merci pour votre aide.
Version imprimable
bonsoir,
je n'arrive à trouver un code pour diviser un signal en 10 portions et de les appliquer chacun à part une FFT.
merci pour votre aide.
Salut,
as-tu essayé de faire quelque chose?
Ce n'est pas très compliqué et plusieurs méthodes s'offrent à toi
- tu peux diviser la longueur de ton signal par 10 puis créer autant de variables que de portions.
- tu peux aussi enregistrer ton signal dans une matrice 10 lignes et N colonnes (N étant la longueur de ton signal divisé par 10) en utilisant la commande reshape, puis tu utilises chaque ligne pour les calculs.
Un petit exemple :
Vecteur de départ A de dimension 1*6
B(1 , : ) devient le vecteur composé de la moitié de ACode:
1
2
3
4
5
6
7
8 A=[1 8 4 5 8 4] B=[A(:,[1:3]) ; A(:,[4:end])] B = 1 8 4 5 8 4
B(2 , : ) devient le vecteur composé de l'autre moitié de A
Il y des crochets inutiles :
A noter que c'est une réelle différence en terme de traitement par MATLAB par simplement une simplification de la lisibilité du code.Code:B=[A(:,1:3) ; A(:,4:end)]
Sinon, il est aussi possible ici d'utiliser RESHAPE.
MAis comme bien souvent, la variable temporaire est inutile et le fenêtrage se fait simplement en passant les éléments indicés de la variable initiale à la fonction voulue.
merci à tous
ca marche bi1.