Étape 10 : méthode des moindres carrés ajustement
Dans cette étape que nous décrire la méthode que nous utiliserons le logiciel nous utiliserons à l’avenir les étapes. Nous nous situons par méthode des moindres carrés, et nous résumons ci dessous, pour les lecteurs curieux :
Nous voulons régler les gains sur chaque bande, tel que notre paire d’entrée doit ressembler à notre paire de cible. Nous pouvons essayer d’en supposant que la réponse en fréquence de tout notre système est une fonction linéaire du gain sur chaque bande et la bande passante des stades individuellement. Voilà, nous supposons que c’est de la forme y = Ax, où y est un vecteur avec notre fréquence de sortie de taille n, où n est le nombre de mesures que nous avons fait en caractérisant le casque. A est une matrice dont les colonnes représentent la réponse en fréquence de chaque bande (n x 6), et x est vecteur de taille 6, qui représente le gain à chaque étape.
Nous voulons résoudre pour X. A est une matrice de maigre, donc il ne peut pas être inversé, mais nous pouvons prendre c' est pseudo inverse, (A ^ T A) ^ 1 bis ^ T et multipliez par notre réponse en fréquence cible. Cela nous donnera un x tel que Ax est aussi proche que possible de notre cible. Notez que x peut-être avoir des valeurs qui sont soit négatif, soit supérieur au gain maximum, que nous pouvons réaliser. Nous allons tout simplement définir ce dernier à 0 et l’ancien à notre gain max. Dans MATLAB, tout cela est fait « un \ x ". Nous avons également eu à gérer certaines incohérences de données telles que l’interpolation pour s’assurer que tous les échantillons ont la même longueur. Voir notre code pour plus de détails.
Notez que nous devons faire une mesure avec aucune lecture du son pour obtenir une ligne de base et il en soustraire toutes les mesures futures pour notre hypothèse de linéarité puisse éventuellement être valide.
Nous croyons que leur peuvent être des méthodes qui donnent un ajustement plus serré, comme la descente stochastique de gradient, qui n’assume pas de modèle linéaire. Cependant, descente stochastique de gradient exigerait nous à plusieurs reprises, re-qualifier notre casque d’entrée, ce qui serait beaucoup plus lent, mais peut-être avoir un meilleur ajustement.