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

Mise à jour : 8 décembre 2023

De nombreux concepteurs incluent des codecs audio dans leurs conceptions de systèmes embarqués basés sur des microcontrôleurs dans le but d'ajouter un son haute fidélité. Ce faisant, ils doivent trouver comment régler le codec audio pour leur application. Sans réglage, l'application peut rester plate 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 réglé sur les caractéristiques du haut-parleur tout en gardant à l'esprit le type d'audio qui sera lu et la réponse requise.

La solution pour régler le système de lecture audio n'est pas d'utiliser le filtrage matériel, mais plutôt de tirer parti des propres blocs de filtrage numérique du codec audio. Chaque codec a ce bloc pour permettre à un développeur de filtrer la sortie à l'aide de filtres passe-haut, passe-bas et passe-bande. Cela permet à la réponse du haut-parleur d'être soigneusement réglée et même ajustée, si nécessaire.

Cet article traite des blocs audio numériques internes inclus dans les codecs, à l'aide d'un codec d'AKM Semi-conducteurs par exemple. Il abordera également plusieurs trucs et astuces sur la façon de régler le codec qui aideront 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 des enceintes

L'article «Comment sélectionner et utiliser un codec audio et un microcontrôleur pour les fichiers de rétroaction audio intégrés» présentait les principes de base de la sélection et de l'ajout d'un codec à un système. L'étape suivante consiste à utiliser ce codec pour obtenir la meilleure sortie audio possible.

Il existe plusieurs facteurs différents qui contribuent à la façon dont le son sortant d'un système sonnera. Ces facteurs comprennent:

  • L'enceinte du haut-parleur
  • Comment le haut-parleur est monté
  • Les fréquences audio en cours de lecture
  • La réponse en fréquence du haut-parleur

Après un examen attentif de ces facteurs, un développeur se rendra vite compte que le réglage 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 réglé avec une carte de circuit imprimé (carte de 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 de réglage s'appliquent lorsque le haut-parleur est monté et dans son boîtier.

Si l'équipe mécanique a correctement conçu le boîtier et le support 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 avec le même numéro de pièce 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 CUI Devices GC0401K 8 Ohm (Ω), 1 watt. Le GC0401K est conçu pour des fréquences comprises entre 390 Hertz (Hz) et 20 kilohertz (kHz).

Figure 1: Le haut-parleur GC0401K 8 Ω, 1 watt des appareils CUI est conçu pour des fréquences comprises entre 390 Hz et 20 kHz. (Source de l'image: Périphériques CUI)

Les haut-parleurs sont généralement évalués pour la région 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 fréquences haut de gamme ont une certaine baisse mais sont toujours stables jusqu'à 20 kHz.

Une réponse en fréquence différente du haut-parleur peut être vue dans le GF0668 de CUI Devices (Figure 2). Ce haut-parleur est un peu plus grand et peut produire 3 watts. La réponse en fréquence est comprise entre 240 Hz et 20 kHz. Ce haut-parleur peut atteindre des fréquences légèrement inférieures à celles du GC0401K, mais notez à nouveau que dans la plage spécifiée, la courbe est relativement plate avec des creux et des pics partout.

Figure 2: La réponse en fréquence du haut-parleur GF0668 8 Ω, 3 watts de CUI Devices montre pourquoi il est conçu pour la plage de 240 Hz à 30 kHz. (Source de l'image: Périphériques CUI)

Le SP-2804Y de Soberton Inc. (figure 3) est une dernière réponse qui mérite d'être examinée. Le SP-2804Y est un haut-parleur de 500 milliwatt (mW) avec une plage de réponse en fréquence de 600 Hz à 8 kHz. Les lois de la physique garantissent que plus le haut-parleur est petit, plus le temps dont il dispose pour répondre aux basses fréquences est long. Cela signifie que si les développeurs ne filtrent pas les basses fréquences et essaient à la place de piloter le haut-parleur à ces fréquences, le résultat peut être un son noueux ou des défauts dans les tons qui autrement sembleraient limpides.

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 évalué qu'à 8 kHz, même s'il pourrait probablement être utilisé jusqu'à 20 kHz pour certaines applications.

Figure 3: La réponse en fréquence du haut-parleur SP-2804Y 8 Ω, 0.5 watt de Soberton Inc. montre qu'il est adapté aux fréquences de 600 Hz à 8 kHz. Il a un creux après 10 kHz mais il est toujours utilisable jusqu'à 20 kHz pour certaines applications. (Source de l'image: Périphériques CUI)

En regardant 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 des fréquences auxquelles un haut-parleur ne doit pas être entraîné. Par exemple, essayer de générer un son grave de 4 Hz sur ces enceintes pourrait provoquer des vibrations durables sur lesquelles des fréquences plus élevées sont injectées, entraînant une grande distorsion du son.

Dissection d'un bloc de filtre numérique audio

Une méthode qui a été utilisée dans le passé pour éliminer les fréquences indésirables consiste à créer 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 toutes les tonalités audio supérieures à 15 kHz. L'expérience personnelle a montré que parfois, si la voix d'une femme est utilisée avec un petit haut-parleur qui est efficace à des fréquences plus élevées, le haut-parleur peut présenter un twang aigu. En sélectionnant soigneusement les fréquences, vous pouvez supprimer ces distorsions et créer un son plus net.

Bien que les filtres matériels externes puissent faire le travail, ils ajoutent des coûts et prennent de l'espace supplémentaire. Pour ces raisons, il est plus pratique et efficace de régler l'audio à l'aide du bloc de filtre numérique intégré dans un codec audio.

Par exemple, le schéma fonctionnel de l'AKM Semi-conducteurs Le codec audio AK4637 24 bits a le bloc de filtre numérique mis en surbrillance (Figure 4).

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

Le bloc de filtre numérique dans ce cas contient plusieurs capacités de filtrage différentes qui incluent:

  • Un filtre passe-haut (HPF2)
  • Un filtre passe-bas (LPF)
  • Un égaliseur quatre bandes (égaliseur 4 bandes)
  • Contrôle de nivellement automatique (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 et désactiver le microphone de blocage ou d'acheminement ou la lecture audio à travers eux. La vraie question à ce stade est de savoir comment calculer et programmer le codec audio?

Comment calculer et programmer les paramètres de filtre numérique

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

Tout d'abord, il est toujours judicieux de consulter la fiche technique. Dans ce cas, les pages 7 et 8 montrent la carte de registre très importante pour le codec. Un premier regard peut être intimidant étant donné que la pièce comporte 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 0x1D à 0x20 contrôlent le filtre passe-bas.

Les développeurs ne peuvent généralement pas simplement 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 filtre, qui sont ensuite programmés dans les registres de codec pour créer le filtre à la fréquence souhaitée. Par exemple, pour utiliser le bloc de filtre numérique pour créer un filtre passe-haut à 600 Hz, utilisez l'équation 1:

Figure 5: Les équations nécessaires pour calculer les coefficients d'un filtre passe-haut pour le bloc de filtre numérique AK4637 sont illustrées. (Source de l'image: AKM Semiconductor)

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

Trucs et astuces pour régler 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 à faible coût fournit aux développeurs les outils nécessaires pour générer un son haute fidélité. En fin de compte, le codec audio n'est qu'une pièce du puzzle. Pour régler avec succès un codec audio, il existe plusieurs «trucs et astuces» que les développeurs doivent garder à l'esprit, tels que:

  • 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 ruiner un système de lecture par ailleurs parfait.
  • Ne réglez pas les blocs de filtre audio du codec tant que le système n'est pas entièrement assemblé dans sa configuration d'intention de production. Sinon, les paramètres de réglage pourraient changer.
  • Sélectionnez la plage de fréquences en fonction de l'audio qui sera lu. Par exemple, les réglages de fréquence pour la musique d'une guitare, d'un piano ou d'une personne qui parle seront tous différents.
  • Utilisez le bloc de balance numérique pour compenser la réponse en fréquence du haut-parleur. Certaines fréquences auront naturellement un son plus fort et plus clair et devront peut-être être atténuées, tandis que d'autres devront peut-être être amplifiées.
  • Utilisez des tonalités de test pour évaluer la réponse en fréquence du système. Une simple recherche sur Internet fournira des fichiers mp3 pour une large gamme de tonalités audio qui peuvent être utilisées 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 dans la mémoire flash ou EEPROM afin qu'ils puissent être définis pendant la fabrication pour tenir compte des variations de système à système (si cela est préoccupant).

Les développeurs qui suivent ces «trucs et astuces» constateront qu'ils gagnent un peu de temps et de peine lorsqu'ils tentent de régler leur système de lecture audio, et s'assurent qu'il arrive sur le marché avec les caractéristiques audio prévues.

Conclusion

L'ajout d'un codec audio à un système embarqué ne garantit pas qu'il sonnera bien pour l'utilisateur final. Chaque système de lecture audio doit être soigneusement réglé. Il est possible d'utiliser des filtres externes pour obtenir ce réglage, mais les codecs audio sont dotés de capacités de filtrage numérique et d'équilibrage intégrées. Comme illustré, ceux-ci peuvent être utilisés pour alimenter le haut-parleur uniquement sur les fréquences pour lesquelles il est le mieux adapté. Grâce à une analyse et à une application soigneuses des paramètres de filtre, les développeurs peuvent créer le son clair que les utilisateurs finaux attendent de leurs appareils.