Bonjour à tous,
je cherche à stocker 18 phases et 18 modules assocés à 18 signaux de fréquence différentes.
En gros j'ai V1 et V2 qui sont deux matrices complexe de dimensions 79380*18, f qui est un vecteur représentant mes 18 fréquences en question.
Mon programme est le suivant
Ensuite je récupère mes signaux complexes V1 et V2 qui sont des matrices de dimension 79380x18
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Fs=44100; M=79380; Td=1.8; f=150:50:1000; % 18 valeurs valeurs de fréquences f_sec=0:(Fs-Td+1)/(M-Td):Fs;
lorsque je fais le rapport
Le problème c'est que je ne vois pas comment récupérer seulement mes 18 phases et modules (sous forme vectorielle) correspondant aux fréquences
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 H12=V2./V1; % dimension 79380x18 mod_H12=abs(H12); % dimension 79380x18 arg_H12=angle(H12) % dimension 79380x18
f=[150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000]
(plutot que d'avoir plein de courbes qui se supperposent les unes aux autres lorsque je trace cette matrice en fonction de mon vecteur f_sec)
j'ai essayé de faire une boucle for, mais ça ne me donne pas le bon résultat :
en gros sur mon vecteur f_sec, il faudrait que j'identifie les numéros de point correspondant à f=150; f=200; f=250 .... f=1000
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for i=1:18 for f=150:50:1000 modH12(i)=mod_H12(j+1,i) argH12(i)=arg_H12(j+1,i) end end
soit les point 271--> 150; 361-->200; 451-->250; --> 541-->300 , puis ensuite dans la première colonne du module/ phase aller chercher la valeur correspondant au point 271 pour avoir les modules/phases à 150 Hz; deuxième colonne aller chercher la valeur correspondant au point 361 pour avoir les modules/phases à 200 Hz, ainsi de suite jusqu'à la 18 ème colonne (à ce rythme là on n'a pas fini)
Je me demande si on peut aussi utiliser la fonction find ?
Merci encore pour votre aide, car la j'en ai vraiment besoin
Partager