Comment utiliser un codec audio pour optimiser plus facilement les performances audio dans les systèmes embarqués

Par Jacob Beningo

Avec la contribution de Rédacteurs nord-américains de DigiKey

De nombreux concepteurs intègrent des codecs audio dans leurs systèmes embarqués basés sur des microcontrôleurs afin d'ajouter un son haute-fidélité. Ce faisant, ils doivent trouver comment accorder le codec audio pour leur application. Sans accord, l'application peut présenter un son plat ou de mauvaise qualité, même avec un bon codec et un bon haut-parleur. Le problème est que chaque haut-parleur a sa propre réponse en fréquence et que le codec doit donc être accordé en fonction des caractéristiques du haut-parleur, en tenant compte du type de son à reproduire et de la réponse requise.

La solution pour accorder le système de lecture audio n'est pas d'utiliser un filtrage matériel mais plutôt d'exploiter les propres blocs de filtrage numérique du codec audio. Chaque codec possède ce bloc pour permettre à un développeur de filtrer la sortie en utilisant des filtres passe-haut, passe-bas et passe-bande. Cela permet d'accorder avec soin la réponse du haut-parleur et même de l'ajuster, si nécessaire.

Cet article traite des blocs audio numériques internes inclus dans les codecs, en utilisant un codec d'AKM Semiconductor comme exemple. Il aborde également plusieurs conseils et astuces sur la manière d'accorder le codec, pour aider les développeurs à accélérer le développement de la lecture audio tout en améliorant la qualité sonore d'un système.

Comprendre les caractéristiques de réponse en fréquence d'un haut-parleur

L'article Comment sélectionner et utiliser un codec audio et un microcontrôleur pour les fichiers de retour audio incorporés a abordé les principes fondamentaux de sélection et d'ajout d'un codec à un système. L'étape suivante consiste à utiliser ce codec pour obtenir la meilleure sortie audio possible.

Plusieurs facteurs différents influent sur la manière dont le son sortant d'un système est perçu. Ces facteurs incluent :

  • Boîtier du haut-parleur
  • Montage du haut-parleur
  • Fréquences audio reproduites
  • Réponse en fréquence du haut-parleur

Après avoir soigneusement examiné ces facteurs, un développeur se rendra vite compte que l'accord d'un système audio n'est utile que lorsqu'il est dans son état de production final. Bien sûr, le système peut être accordé avec un circuit imprimé et le haut-parleur à l'extérieur d'un boîtier, mais il ne faut pas s'attendre à ce que ces mêmes paramètres d'accord s'appliquent lorsque le haut-parleur est monté et dans son boîtier.

Si l'équipe mécanique a bien conçu le boîtier et le montage du système, la principale caractéristique que le développeur doit surveiller de près est la réponse en fréquence du haut-parleur. Chaque haut-parleur a des caractéristiques et des courbes de réponse différentes. Même les haut-parleurs portant la même référence présentent souvent de légères variations de réponse en fréquence, mais le fabricant fournit généralement une courbe de réponse en fréquence typique. Par exemple, la Figure 1 montre la courbe de réponse en fréquence pour un haut-parleur de 8 ohms (Ω), 1 watt (W) GC0401K de CUI Devices. Le GC0401K est répertorié pour des fréquences entre 390 Hertz (Hz) et 20 kilohertz (kHz).

Graphique du haut-parleur 8 Ω, 1 W GC0401K de CUI DevicesFigure 1 : Le haut-parleur 8 Ω, 1 W GC0401K de CUI Devices est répertorié pour des fréquences entre 390 Hz et 20 kHz. (Source de l'image : CUI Devices)

Les haut-parleurs sont généralement répertoriés pour la zone de leur courbe de réponse où la réponse est relativement plate. Un examen attentif de la Figure 1 montre que la réponse en fréquence du GC0401K commence à s'aplatir à ~350 Hz et reste relativement plate au moins jusqu'à 9 kHz. Les hautes fréquences affichent une certaine baisse mais restent stables jusqu'à 20 kHz.

Une réponse en fréquence différente du haut-parleur peut être observée dans le GF0668 de CUI Devices (Figure 2). Ce haut-parleur est un peu plus grand et peut produire 3 W. La caractéristique de réponse en fréquence se situe entre 240 Hz et 20 kHz. Ce haut-parleur peut atteindre des fréquences légèrement plus basses que le GC0401K, mais notez à nouveau que dans la gamme spécifiée, la courbe est relativement plate avec quelques creux et pics tout au long.

Graphique de la réponse en fréquence pour le haut-parleur 8 Ω, 3 W GF0668 de CUI Devices (cliquez pour agrandir)Figure 2 : La réponse en fréquence pour le haut-parleur 8 Ω, 3 W GF0668 de CUI Devices montre pourquoi il est répertorié pour la gamme de 240 Hz à 20 kHz. (Source de l'image : CUI Devices)

Une dernière réponse de haut-parleur qui mérite d'être examinée est celle du SP-2804Y de Soberton Inc. (Figure 3). Le SP-2804Y est un haut-parleur de 500 milliwatts (mW) avec une réponse en fréquence de 600 Hz à 8 kHz. Les lois de la physique impliquent que plus le haut-parleur est petit, plus il a de mal à répondre aux basses fréquences. Cela signifie que si les développeurs ne filtrent pas les plus basses fréquences et essaient plutôt de commander le haut-parleur à ces fréquences, il peut en résulter un son de mauvaise qualité ou des défauts dans les sons qui seraient autrement cristallins.

Notez qu'il y a également une baisse significative de la réponse en fréquence autour de 10 kHz. Par conséquent, le haut-parleur n'est répertorié qu'à 8 kHz, même s'il pourrait probablement être utilisé jusqu'à 20 kHz pour certaines applications.

Graphique de la réponse en fréquence pour le haut-parleur 8 Ω, 0,5 W SP-2804Y de Soberton Inc. (cliquez pour agrandir)Figure 3 : La réponse en fréquence pour le haut-parleur 8 Ω, 0,5 W SP-2804Y de Soberton Inc. montre qu'il est adapté aux fréquences de 600 Hz à 8 kHz. On constate une baisse après 10 kHz, mais il est encore utilisable jusqu'à 20 kHz pour certaines applications. (Source de l'image : CUI Devices)

En examinant la réponse en fréquence de chaque haut-parleur, il est clair qu'une sorte de filtrage et d'accord doit avoir lieu car il y a certaines fréquences auxquelles un haut-parleur ne doit pas être commandé. Par exemple, essayer de générer un son de basse de 4 Hz sur ces haut-parleurs pourrait entraîner des vibrations de longue durée où des fréquences plus hautes sont injectées, résultant en une grande distorsion sonore.

Dissection d'un bloc de filtre audio numérique

Une méthode, autrefois utilisée pour éliminer les fréquences indésirables, consiste à construire des filtres matériels menant au haut-parleur. Par exemple, un filtre passe-haut à 500 Hz peut empêcher les fréquences inférieures à 500 Hz d'atteindre le haut-parleur. À l'autre extrémité, un filtre passe-bas peut être utilisé pour supprimer les sons au-dessus de 15 kHz. L'expérience personnelle a montré que parfois, si une voix de femme est utilisée avec un petit haut-parleur qui est efficace à plus hautes fréquences, le haut-parleur peut présenter une vibration aiguë. En sélectionnant soigneusement les fréquences, on peut éliminer ces distorsions et créer un son plus propre.

Des filtres matériels externes peuvent être utilisés, mais ils impliquent des coûts et de l'espace supplémentaires. Pour ces raisons, il est plus pratique et plus efficace d'accorder l'audio en utilisant le bloc de filtre numérique intégré dans un codec audio.

Par exemple, le schéma fonctionnel du codec audio 24 bits AK4637 d'AKM Semiconductor met en évidence le bloc de filtre numérique (Figure 4).

Schéma du codec audio AK4637 d'AKM Semiconductor avec une sortie de haut-parleur mono (cliquez pour agrandir)Figure 4 : L'AK4637 est un codec audio avec une sortie de haut-parleur mono offrant des capacités de lecture et d'enregistrement audio. Il contient également un bloc audio interne qui peut être utilisé pour filtrer les signaux audio entrants et sortants afin d'améliorer la fidélité audio. (Source de l'image : AKM Semiconductor)

Dans ce cas, le bloc de filtre numérique contient plusieurs capacités de filtrage différentes, notamment :

  • Un filtre passe-haut (HPF2)
  • Un filtre passe-bas (LPF)
  • Un égaliseur à quatre bandes (4-Band EQ)
  • Contrôle automatique de niveau (ALC)
  • Un égaliseur à une bande (1-Band EQ)

Ces fonctionnalités n'ont pas toutes besoin d'être activées. Les développeurs peuvent sélectionner les fonctionnalités dont ils ont besoin et activer ou désactiver le bloc ou router le microphone ou lire le son via le bloc. La vraie question à ce stade est de savoir comment calculer et programmer le codec audio.

Comment calculer et programmer les paramètres des filtres numériques

Dans la plupart des applications audio, un filtre passe-haut est utilisé pour éliminer les plus basses fréquences et un filtre passe-bas est utilisé pour exclure les plus hautes fréquences. Un égaliseur peut être utilisé pour lisser la courbe de réponse en fréquence ou pour accentuer certains sons. La manière dont ces paramètres doivent être sélectionnés dépasse le cadre de cet article. Nous allons plutôt examiner comment calculer et programmer les valeurs qui sont associées à ces paramètres en utilisant l'AK4637 d'AKM comme exemple.

Tout d'abord, il est toujours judicieux de consulter la fiche technique. Dans notre exemple, les pages 7 et 8 présentent la liste des registres importants du codec. On peut être impressionné au premier abord étant donné que ce dispositif compte 63 registres. Cependant, beaucoup de ces registres contrôlent le bloc audio numérique. Par exemple, les registres 0x22 à 0x3F contrôlent l'égaliseur. Les registres 0x19 à 0x1C contrôlent le filtre passe-haut, tandis que les registres 0x1D à 0x20 contrôlent le filtre passe-bas.

Les développeurs ne peuvent généralement pas se contenter de spécifier une fréquence à entrer dans le codec. Au lieu de cela, il existe une équation de filtre qui est utilisée pour calculer les coefficients de filtrage, qui sont ensuite programmés dans les registres du codec pour créer le filtre à la fréquence souhaitée. Par exemple, pour utiliser le bloc de filtre numérique afin de créer un filtre passe-haut à 600 Hz, utilisez l'équation 1 :

Image des équations requises pour calculer les coefficients d'un filtre passe-hautFigure 5 : Équations requises pour calculer les coefficients d'un filtre passe-haut pour le bloc de filtre numérique AK4637. (Source de l'image : AKM Semiconductor)

Un développeur peut identifier la fréquence de coupure souhaitée, fc, dans ce cas, 600 Hz. La fréquence d'échantillonnage audio, fs, est typiquement de 48 kHz, mais elle peut varier en fonction de l'application. Ces valeurs peuvent ensuite être placées dans les équations pour calculer les coefficients A et B. Ces valeurs sont ensuite écrites dans les registres du codec via I2C lors du démarrage. Le même processus peut être utilisé pour les filtres passe-bas et d'autres fonctionnalités du bloc numérique, bien que les fonctions de transfert soient souvent différentes, nécessitant l'utilisation de leur propre ensemble d'équations (voir la fiche technique).

Conseils et astuces pour accorder un codec audio

Les blocs de filtres numériques inclus dans un codec audio sont souvent assez flexibles et puissants. Même un codec audio peu coûteux fournit aux développeurs les outils nécessaires pour générer un son haute-fidélité. Mais en fin de compte, le codec audio n'est que l'une des pièces du puzzle. Pour accorder correctement un codec audio, il existe plusieurs conseils et astuces que les développeurs doivent prendre en compte, notamment :

  • Assurez-vous que le haut-parleur est monté dans un boîtier adapté à l'application. Un boîtier de haut-parleur mal conçu peut facilement anéantir un système de lecture par ailleurs parfait.
  • N'accordez pas les blocs de filtres audio du codec avant que le système ne soit complètement assemblé dans sa configuration de production prévue. Sinon, les paramètres d'accord pourraient changer.
  • Sélectionnez la gamme de fréquences en fonction de l'audio à reproduire. Par exemple, les paramètres de fréquence pour une guitare, un piano ou une personne qui parle seront tous différents.
  • Utilisez le bloc d'équilibrage numérique pour compenser la réponse en fréquence du haut-parleur. Certaines fréquences seront naturellement plus fortes et plus claires et devront peut-être être atténuées, tandis que d'autres devront être amplifiées.
  • Utilisez des sons de test pour évaluer la réponse en fréquence du système. Une simple recherche sur Internet permet d'obtenir des fichiers mp3 pour un large éventail de sons audio qui peuvent être utilisés pour comprendre la réponse en fréquence du système de lecture audio et le fonctionnement du bloc de filtre numérique.
  • Stockez les paramètres de configuration du bloc de filtre en mémoire Flash ou EEPROM afin de pouvoir les régler en cours de fabrication pour tenir compte des variations d'un système à l'autre (si cela est un problème).

Les développeurs qui suivent ces conseils et astuces constateront qu'ils peuvent économiser beaucoup de temps et d'efforts lorsqu'ils tentent d'accorder leur système de lecture audio, et garantir la commercialisation avec les caractéristiques audio prévues.

Conclusion

L'ajout d'un codec audio à un système embarqué ne garantit pas un bon son à l'utilisateur final. Chaque système de lecture audio doit être accordé avec soin. Il est possible d'utiliser des filtres externes pour réaliser cet accord, mais les codecs audio sont dotés de capacités d'équilibrage et de filtrage numériques intégrées. Comme illustré, ces capacités peuvent être utilisées pour fournir au haut-parleur uniquement les fréquences pour lesquelles il est le mieux adapté. Grâce à l'analyse et à l'application minutieuses des paramètres de filtrage, les développeurs peuvent créer le son propre que les utilisateurs finaux attendent de leurs dispositifs.

DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo est un consultant en logiciels embarqués, et il travaille actuellement avec des clients dans plus d'une douzaine de pays pour transformer radicalement leurs activités en améliorant la qualité, les coûts et les délais de commercialisation des produits. Il a publié plus de 200 articles sur les techniques de développement de logiciels embarqués. Jacob Beningo est un conférencier et un formateur technique recherché, et il est titulaire de trois diplômes, dont un master en ingénierie de l'Université du Michigan. N'hésitez pas à le contacter à l'adresse jacob@beningo.com et sur son site Web www.beningo.com, et abonnez-vous à sa newsletter mensuelle Embedded Bytes.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey