Bonjour à toutes et à tous.
Durant mon étude sur un réseau linéaire d'antennes, j'ai commencé par utiliser une simple routine matlab pour obtenir les phi(n) nécessaires à l'obtention des diagrammes voulus. (La fonctionne se trouve dans l'image jointe à ce poste). Théta varie de 0 à 180°, k, d, et N sont fixés. L'optimisation se fait uniquement sur les phi(n), qui étaient recherchés entre 0 et 360°.
J'en arrive à l'utilisation d'un algorithme plus sophistiqué. En effet, Pour un réseau ayant un nombre d'éléments supérieur à 4 éléments (N>4), avec les boucles for je pouvais toujours m'accrocher, sachant qu'il y a N-1 boucles, avec des indices variant de 0 à 360 par pas de 1. En lisant quelques publications je suis donc tombé sur les algorithmes PSO (Particle Swarm Optimization) qui ont permis de résoudre ce genre de problème, avec des réseaux de 16 éléments, et avec des précision sur les phi(n) au millième.
Le problème est que je n'arrive pas à utiliser ce genre d'algorithme pour la fonction que j'utilise. Je l'ai testé avec quelques fonctions 'banales', c'était ok. Par contre avec la somme qui intervient, je n'arrive pas à adapter.
L'algorithme que j'utilise est également présent dans les pièces jointes. L'objectif est en fait de minimiser (ou maximiser) la fonction sur un certain (ou plusieurs) secteur angulaire, c'est-à-dire trouver les bons phi(n) pour que le rayonnement du réseau soit nul sur un secteur.
Je me tiens à votre disposition pour d'éventuelles questions. Merci par avance de l'intérêt que vous portez à mon problème.
Bien cordialement,
M57
Partager