Bonjour
Je poste habituellement sur le forum Matlab, mais pour ce problème je me suis dit (et surtout lisant une remarque du modérateur du forum Matlab) qu'il serait peut-être mieux de poster sur un forum ayant directement à voir avec les algorithmes et les mathématiques. Merci d'avance de l'attention que vous porterez à mon problème.
Contexte : je suis élève en école d'ingénieur, actuellement en stage, où je fais de l'acoustique, de la détection de sources sonores pour être exact. Depuis quelques jours, j'utilise un algorithme dit de Capon, du nom de son créateur. Il n'est pas tout nouveau et à déjà fait ses preuves, néanmoins on m'a demandé de faire des tests dessus, pour aider un doctorant travaillant sur les algorithmes de détection. Je me suis donc lancé dans les tests.
Il marche plutôt en pratique, c'est à dire avec des échantillons acquis via des microphones (j'ai une antenne linéaire constituée d'un certain nombre de microphones), mais quand j'ai essayé de l'utiliser avec un signal théorique (imitant l'expérience), que je crée à partir de formules sous Matlab, ça s'est un peu gâté. En effet, j'ai tout plein de warnings de sa part concernant des problèmes de conditionnement.
Problème : j'ai dans les 2 cas (expérience ou théorie) une matrice signal dont le nombre de lignes correspond aux différents instants d'échantillonnage, chaque colonne représente un microphone donné. Typiquement, 1024 lignes / échantillons et 6 colonnes / microphones. Je dispose également d'un vecteur a, dépendant d'un angle theta, qui décrit les retards temporels de réception de l'antenne (je ne pense pas que cela soit très important pour vous de comprendre cela )
Je dois calculer la matrice de covariance de cette matrice signal, et ensuite inverser cette matrice de covariance (je noterai IR cette matrice de covariance inversée). Et là surgit le problème de conditionnement.
La question que vous posez à plusieurs personnes sur ce forum, quand elles parlent d'inversion de matrice, est "pourquoi inversez la matrice?" Et bien tout simplement car je dois trouver les minimums de la fonction P = ah*IR*a, où ah désigne la transposée conjuguée de a, lorsque la variable theta varie.
Ma question : le problème de conditionnement est-il vraiment dérangeant ? En effet, j'ai appris que le conditionnement intervient lors de la résolution de systèmes linéaires, mais je n'ai pas ici l'impression de résoudre un système linéaire. De façon cachée, j'en résoudrais un ?
Merci d'avance de vos réponses, en fonction de ce que vous me direz, je poserai d'autres questions
Bonne journée.
Partager