Como usar um codec de áudio para otimizar mais facilmente o desempenho de áudio em sistemas incorporados

Atualização: 8 de dezembro de 2023

Muitos designers estão incluindo codecs de áudio em seus designs de sistema integrado baseados em microcontroladores em um esforço para adicionar áudio de alta fidelidade. Ao fazer isso, eles precisam descobrir como ajustar o codec de áudio para seu aplicativo. Sem o ajuste, o aplicativo pode ficar com um som plano ou de baixa qualidade, mesmo com um bom codec e alto-falante. O problema é que cada alto-falante tem sua própria resposta de frequência e, portanto, o codec deve ser ajustado para as características do alto-falante, tendo em mente o tipo de áudio que será reproduzido e a resposta necessária.

A solução para ajustar o sistema de reprodução de áudio não é usar filtragem de hardware, mas, em vez disso, aproveitar os próprios blocos de filtragem digital do codec de áudio. Todo codec tem esse bloco para permitir que um desenvolvedor filtre a saída usando filtros passa-alta, passa-baixa e passa-banda. Isso permite que a resposta do alto-falante seja cuidadosamente sintonizada e até mesmo ajustada, conforme necessário.

Este artigo discutirá os blocos de áudio digital internos incluídos nos codecs, usando um codec da AKM Semicondutores como um exemplo. Ele também discutirá várias dicas e truques sobre como ajustar o codec que ajudará os desenvolvedores a acelerar o desenvolvimento de sua reprodução de áudio enquanto melhora a qualidade de som do sistema.

Compreendendo as características da resposta de frequência do alto-falante

O artigo “Como selecionar e usar um codec de áudio e um microcontrolador para arquivos de feedback de áudio incorporados” discutiu os fundamentos da seleção e adição de um codec a um sistema. A próxima etapa é usar esse codec para obter a melhor saída de áudio possível.

Existem vários fatores diferentes que contribuem para a forma como o áudio que sai de um sistema soará. Esses fatores incluem:

  • Gabinete do locutor
  • Como o alto-falante é montado
  • As frequências de áudio que estão sendo reproduzidas
  • A resposta de frequência do alto-falante

Após consideração cuidadosa desses fatores, um desenvolvedor logo perceberá que ajustar um sistema de áudio é útil apenas quando ele está em seu estado final de produção. Claro, o sistema pode ser ajustado com uma placa de circuito impresso (placa do pc) e o alto-falante fora de uma caixa, mas não se deve esperar que esses mesmos parâmetros de ajuste sejam aplicados quando o alto-falante é montado e dentro de seu gabinete.

Se a equipe mecânica projetou adequadamente o gabinete e a montagem do sistema, a principal característica que o desenvolvedor precisa observar de perto é a resposta de frequência do alto-falante. Cada alto-falante tem características e curvas de resposta diferentes. Mesmo alto-falantes com o mesmo número de peça geralmente apresentam pequenas variações na resposta de frequência, mas o fabricante geralmente fornece uma curva de resposta de frequência típica. Por exemplo, a Figura 1 mostra a curva de resposta de frequência para um alto-falante de 0401 watt de dispositivos CUI GC8K 1 Ohm (Ω). O GC0401K é classificado para frequências entre 390 Hertz (Hz) e 20 kilohertz (kHz).

Figura 1: O alto-falante GC0401K 8 Ω, 1 watt dos dispositivos CUI é classificado para frequências entre 390 Hz e 20 kHz. (Fonte da imagem: Dispositivos CUI)

Os alto-falantes são normalmente avaliados para a região de sua curva de resposta em que a resposta é relativamente plana. Uma olhada mais de perto na Figura 1 mostra que a resposta de frequência para o GC0401K começa a se achatar em ~ 350 Hz e permanece relativamente plana em pelo menos 9 kHz. As frequências de ponta têm alguma queda, mas ainda são estáveis ​​até 20 kHz.

Uma resposta de frequência de alto-falante diferente pode ser vista em GF0668 dos dispositivos CUI (Figura 2). Este alto-falante é um pouco maior e pode produzir 3 watts. A classificação de resposta de frequência está entre 240 Hz e 20 kHz. Este alto-falante pode atingir frequências ligeiramente mais baixas do que o GC0401K, mas observe novamente que dentro da faixa especificada, a curva é relativamente plana com alguns pontos baixos e picos.

Figura 2: A resposta de frequência para o alto-falante GF0668 de 8 G e 3 watts dos dispositivos CUI mostra por que ele é classificado para a faixa de 240 Hz a 30 kHz. (Fonte da imagem: Dispositivos CUI)

Uma última resposta do alto-falante que vale a pena conferir é o SP-2804Y da Soberton Inc. (Figura 3). O SP-2804Y é um alto-falante de 500 miliwatts (mW) com uma faixa de resposta de frequência de 600 Hz a 8 kHz. As leis da física garantem que quanto menor o alto-falante, mais difícil será o tempo que ele tem para responder a frequências mais baixas. Isso significa que se os desenvolvedores não filtrarem as frequências mais baixas e, em vez disso, tentarem acionar o alto-falante nessas frequências, o resultado pode ser um áudio de som desagradável ou defeitos nos tons que, de outra forma, soariam nítidos.

Observe que também há uma queda significativa na resposta de frequência em torno de 10 kHz. Portanto, o alto-falante é classificado apenas para 8 kHz, embora provavelmente pudesse ser usado até 20 kHz para algumas aplicações.

Figura 3: A resposta de frequência para o alto-falante de 2804 8 e 0.5 watts da Soberton Inc. mostra que ele é adequado para frequências de 600 Hz a 8 kHz. Ele tem uma queda após 10 kHz, mas ainda pode ser usado até 20 kHz para algumas aplicações. (Fonte da imagem: Dispositivos CUI)

Olhando para a resposta de frequência de cada alto-falante, fica claro que algum tipo de filtragem e sintonia precisa ocorrer, pois há algumas frequências nas quais um alto-falante não deve ser acionado. Por exemplo, tentar gerar um tom de baixo de 4 Hz nesses alto-falantes pode causar vibrações duradouras nas quais frequências mais altas são injetadas, resultando em muita distorção do som.

Dissecando um bloco de filtro digital de áudio

Um método que foi usado no passado para sintonizar frequências indesejadas é construir filtros de hardware que conduzem até o alto-falante. Por exemplo, um filtro passa-alta a 500 Hz pode evitar que frequências abaixo de 500 Hz cheguem ao alto-falante. Na outra extremidade, um filtro passa-baixa pode ser usado para remover quaisquer tons de áudio acima de 15 kHz. A experiência pessoal mostrou que, às vezes, se a voz de uma mulher está sendo usada com um pequeno alto-falante que é eficiente em frequências mais altas, o alto-falante pode apresentar um som agudo. A seleção cuidadosa das frequências pode remover essas distorções e criar um áudio mais limpo.

Embora os filtros de hardware externos possam fazer o trabalho, eles aumentam os custos e ocupam espaço adicional. Por essas razões, é mais prático e eficiente ajustar o áudio usando o bloco de filtro digital integrado em um codec de áudio.

Por exemplo, o diagrama de blocos do AKM Semicondutores O codec de áudio AK4637 de 24 bits tem o bloco de filtro digital destacado (Figura 4).

Figura 4: O AK4637 é um codec de áudio com saída de alto-falante mono que possui recursos de reprodução e gravação de áudio. Ele também contém um bloco de áudio interno que pode ser usado para filtrar o áudio de entrada e saída para melhorar a fidelidade do áudio. (Fonte da imagem: AKM Semiconductor)

O bloco de filtro digital, neste caso, contém vários recursos de filtragem diferentes, que incluem:

  • Um filtro passa-alta (HPF2)
  • Um filtro passa-baixa (LPF)
  • Um equalizador de quatro bandas (EQ de 4 bandas)
  • Controle de nivelamento automático (ALC)
  • Um equalizador de uma banda (1 Band EQ)

Nem todos esses recursos precisam ser ativados. Os desenvolvedores podem selecionar os recursos de que precisam e ativar e desativar o bloqueio ou rota do microfone ou a reprodução de áudio por meio deles. A verdadeira questão neste momento é como calcular e programar o codec de áudio.

Como calcular e programar os parâmetros do filtro digital

Na maioria das aplicações de áudio, um filtro passa-altas é usado para remover frequências mais baixas e um filtro passa-baixas para excluir frequências mais altas. Um equalizador pode ser usado para suavizar a curva de resposta de freqüência ou para enfatizar certos tons. Como exatamente essas configurações devem ser selecionadas está além do escopo deste artigo. Em vez disso, ele examinará como calcular e programar os valores associados a esses parâmetros usando o AKM AK4637 como exemplo.

Primeiro, é sempre uma boa ideia revisar a folha de dados. As páginas 7 e 8, neste caso, mostram o mapa de registro muito importante para o codec. Uma primeira olhada pode ser intimidante, visto que a peça tem 63 registros. No entanto, muitos desses registros controlam o bloco de áudio digital. Por exemplo, os registros 0x22 a 0x3F controlam o equalizador. Os registros 0x19 a 0x1C controlam o filtro passa-alta, enquanto 0x1D a 0x20 controlam o filtro passa-baixa.

Os desenvolvedores geralmente não podem simplesmente especificar uma frequência para inserir no codec. Em vez disso, há uma equação de filtro usada para calcular os coeficientes do filtro, que são então programados nos registradores do codec para criar o filtro na frequência desejada. Por exemplo, para usar o bloco de filtro digital para criar um filtro passa-alta a 600 Hz, use a Equação 1:

Figura 5: São mostradas as equações necessárias para calcular os coeficientes de um filtro passa-alta para o bloco de filtro digital AK4637. (Fonte da imagem: AKM Semiconductor)

Um desenvolvedor identificaria a frequência de corte desejada, fc, que neste caso é 600 Hz. A frequência de amostragem de áudio, fs, é normalmente 48 kHz, mas pode variar de acordo com a aplicação. Esses valores seriam então colocados nas equações para calcular os coeficientes A e B. Esses valores são então gravados nos registradores de codec por I2C durante a inicialização. O mesmo processo seria usado para os filtros passa-baixa e outros recursos do bloco digital, embora as funções de transferência sejam frequentemente diferentes, exigindo o uso de seu próprio conjunto de equações (consulte a ficha técnica).

Dicas e truques para ajustar um codec de áudio

Os blocos de filtro digital incluídos em um codec de áudio costumam ser bastante flexíveis e poderosos. Mesmo um codec de áudio de baixo custo fornece aos desenvolvedores as ferramentas necessárias para gerar áudio de alta fidelidade. No final do dia, porém, o codec de áudio é apenas uma peça do quebra-cabeça. Para ajustar com sucesso um codec de áudio, existem várias “dicas e truques” que os desenvolvedores devem ter em mente, como:

  • Certifique-se de que o alto-falante esteja montado em um gabinete apropriado para a aplicação. Uma caixa de alto-falante mal projetada pode facilmente arruinar um sistema de reprodução perfeito.
  • Não ajuste os blocos de filtro de áudio do codec até que o sistema esteja totalmente montado em sua configuração de intenção de produção. Os parâmetros de ajuste podem mudar de outra forma.
  • Selecione a faixa de frequência com base no áudio que será reproduzido. Por exemplo, as configurações de frequência para música de um violão, piano ou alguém falando serão todas diferentes.
  • Use o bloco de balanço digital para compensar a resposta de frequência do alto-falante. Algumas frequências irão naturalmente soar mais altas e nítidas e podem precisar ser atenuadas, enquanto outras podem precisar ser amplificadas.
  • Use tons de teste para avaliar a resposta de frequência do sistema. Uma simples pesquisa na Internet fornecerá arquivos mp3 para uma ampla gama de tons de áudio que podem ser usados ​​para entender a resposta de frequência do sistema de reprodução de áudio e como o bloco de filtro digital está funcionando.
  • Armazene as definições de configuração do bloco de filtro em flash ou EEPROM para que possam ser definidas durante a fabricação para levar em conta as variações de sistema para sistema (se isso for importante).

Os desenvolvedores que seguirem essas “dicas e truques” descobrirão que economizam um pouco de tempo e sofrimento ao tentar ajustar seu sistema de reprodução de áudio e garantir que ele chegue ao mercado com as características de áudio pretendidas.

Conclusão

Adicionar um codec de áudio a sistemas embarcados não garante que soará bem para o usuário final. Cada sistema de reprodução de áudio precisa ser cuidadosamente ajustado. É possível usar filtros externos para obter essa sintonia, mas os codecs de áudio vêm com filtragem digital e recursos de equilíbrio integrados. Como mostrado, eles podem ser usados ​​para alimentar o alto-falante apenas com as frequências para as quais é mais adequado. Com análise cuidadosa e aplicação de configurações de filtro, os desenvolvedores podem criar o áudio de som limpo que os usuários finais esperam de seus dispositivos.