내장형 시스템에서 더욱 간편하게 오디오 성능을 최적화하기 위해 오디오 코덱을 사용하는 방법

작성자: Jacob Beningo

DigiKey 북미 편집자 제공

많은 설계자들이 마이크로 컨트롤러 기반 내장형 시스템 설계 시 고품질 오디오를 위한 오디오 코덱을 사용하고 있습니다. 이를 위해서는 해당 응용 제품을 위해 오디오 코덱을 조정하는 방법을 알아야 합니다. 오디오 코덱을 조정하지 않으면, 좋은 품질의 코덱과 스피커가 있다 해도 응용 제품의 음색에 아무런 특징이 없게 되거나 음질이 저하될 수 있습니다. 문제는 각 스피커가 고유의 주파수 응답을 가지고 있어 스피커 특징에 맞추어 코덱이 조정되어야 하며, 재생될 오디오의 종류 및 요구되는 응답까지도 함께 고려해야 한다는 점입니다.

오디오 재생 시스템 조정을 위한 솔루션은 하드웨어 필터링이 아닌 오디오 코덱 자체의 디지털 필터링 블록을 활용하는 것입니다. 모든 코덱은 설계자가 고역 통과, 저역 통과, 대역 통과 필터를 사용하여 출력을 필터링할 수 있는 블록을 갖추고 있습니다. 이 블록을 통해 필요에 따라 스피커 응답을 신중하게 조정하고 맞출 수도 있습니다.

이 기사에서는 AKM Semiconductor의 코덱을 예시로 활용하여 코덱에 포함된 내장형 디지털 오디오 블록에 대해 알아봅니다. 또한 개발자가 시스템의 음질을 향상시키면서 동시에 오디오 재생 개발을 가속화하는 데 도움이 되는 코덱 조정 방법에 대한 여러 유용한 정보에 대해서도 다룹니다.

스피커 주파수 응답의 특성 이해

내장형 오디오 피드백 파일을 위한 오디오 코덱 및 마이크로 컨트롤러를 선택하고 사용하는 방법” 기사에서는 코덱을 선택하고 이를 시스템에 추가하는 기본적인 방법에 대해 알아보았습니다. 그 다음 단계는 가능한 한 최상의 오디오 출력을 얻기 위해 이 코덱을 사용하는 것입니다.

시스템에서 출력되는 오디오의 음향을 결정짓는 요인은 다양하며, 그 중 몇몇 요인은 다음과 같습니다.

  • 스피커의 인클로저
  • 스피커 실장 방식
  • 재생되고 있는 오디오 주파수
  • 스피커의 주파수 응답

이러한 요인을 세심하게 살펴본다면 개발자는 오디오 시스템을 조정하는 작업이 해당 시스템이 최종 제품 상태일 경우에만 유용하다는 사실을 곧바로 깨닫게 됩니다. 물론 오디오 시스템은 인쇄 회로 기판(pc 기판)과 하우징 외부의 스피커로 조정할 수 있지만, 스피커가 실장된 경우 및 인클로저 내부에서 동일한 조정 파라미터가 적용될 것으로 기대해서는 안 됩니다.

기계 팀이 시스템 인클로저 및 실장을 올바르게 설계했다면 개발자가 자세히 살펴야 하는 주요 특성은 스피커 주파수 응답입니다. 모든 스피커는 각기 다른 특성 및 응답 곡선을 지닙니다. 동일한 부품 번호의 스피커들도 보통 미세하게 서로 다른 주파수 응답을 지니지만, 제조업체는 일반적으로 통상 주파수 응답 곡선을 제공합니다. 예를 들어, 그림 1은 CUI Devices GC0401K 8Ω 1W 스피커의 주파수 응답 곡선을 보여줍니다. GC0401K는 390Hz ~ 20kHz의 주파수로 정격되었습니다.

CUI Devices의 GC0401K 8Ω, 1W 스피커 그래프그림 1: CUI Devices의 GC0401K 8Ω, 1W 스피커는 390Hz ~ 20kHz의 주파수로 정격되었습니다. (이미지 출처: CUI Devices)

스피커는 통상 해당 스피커의 응답 곡선에서 비교적 평탄한 부분의 주파수에 맞추어 정격됩니다. 그림 1을 자세히 살펴보면, GC0401K의 주파수 응답이 ~350Hz에서 평탄해지기 시작하고 적어도 9kHz까지는 비교적 평탄하게 유지됨을 알 수 있습니다. 하이엔드 주파수가 다소 감소하지만 최대 20kHz까지는 여전히 안정적입니다.

CUI Devices의 GF0668에서는 이와는 다른 스피커 주파수 응답을 관찰할 수 있습니다(그림 2). 이 스피커는 크기가 약간 더 크며 3W를 출력할 수 있습니다. 주파수 응답 정격은 240Hz ~ 20kHz입니다. 이 스피커는 GC0401K보다 약간 낮은 주파수를 낼 수 있지만, 특정 범위 이내에서 응답 곡선은 전반적으로 약간의 트로프와 피크를 지니며 비교적 평탄하다는 점을 기억해야 합니다.

CUI Devices의 GF0668 8Ω, 3W 스피커의 주파수 응답 그래프(확대하려면 클릭)그림 2: CUI Devices의 GF0668 8Ω, 3W 스피커의 주파수 응답은 이 스피커가 240Hz ~ 30kHz 범위로 정격된 이유를 보여줍니다. (이미지 출처: CUI Devices)

마지막으로 Soberton Inc.SP-2804Y에 해당하는 스피커 응답을 살펴보도록 하겠습니다(그림 3). SP-2804Y는 500mW 스피커로 600Hz ~ 8kHz의 주파수 응답 범위를 지닙니다. 물리학의 법칙에 의하면 스피커가 작을수록 더 낮은 주파수에 응답하기가 더 어렵습니다. 즉, 개발자가 더 낮은 주파수를 필터링하지 않고 대신 그에 해당하는 주파수에서 스피커를 구동하려고 시도하는 경우, 매우 깨끗할 수 있는 소리 대신 음질이 좋지 않은 오디오 또는 톤의 결함이라는 결과가 초래될 수 있습니다.

또한 10kHz 근처에서 주파수 응답이 확실히 갑자기 낮아지는 것도 볼 수 있습니다. 따라서 일부 응용 제품에서는 최대 20kHz까지 사용될 수 있음에도 불구하고, 이 스피커는 8kHz로만 정격됩니다.

Soberton Inc.의 SP-2804Y 8Ω, 0.5W 스피커의 주파수 응답 그래프(확대하려면 클릭)그림 3: Soberton Inc.의 SP-2804Y 8Ω, 0.5W 스피커는 600Hz ~ 8kHz 사이의 주파수에 정격되었음을 보여줍니다. 10kHz 이후에 갑자기 낮아지는 구간이 있긴 하지만 일부 응용 제품에서는 20kHz까지 사용 가능합니다. (이미지 출처: CUI Devices)

각 스피커의 주파수 응답을 살펴볼 때, 스피커를 구동해서는 안되는 일부 주파수가 존재하기 때문에 모종의 필터링 및 조정이 반드시 필요함을 알 수 있습니다. 예를 들어 이러한 스피커에서 4Hz베이스 톤을 구동하려고 하면, 더 높은 주파수가 주입되는 오래 지속되는 진동이 발생하여 소리에 많은 왜곡이 발생할 수 있습니다.

오디오 디지털 필터 블록 분석

이전에 원하지 않는 주파수를 조정하기 위해 사용했던 방법 중 하나는 스피커 쪽에 하드웨어 필터를 장착하는 것입니다. 예를 들어 500Hz에 고역 통과 필터를 장착하면 500Hz 미만의 주파수는 스피커에 도달하지 못합니다. 이와 반대로, 저역 통과 필터는 15 kHz가 넘는 오디오 톤을 제거하기 위해 사용됩니다. 개인적인 경험으로, 여성의 목소리가 더 높은 주파수에서 효율적인 작은 스피커에서 사용되는 경우에는 스피커가 고음의 울리는 소리를 낼 수도 있습니다. 주파수를 신중하게 선택하면 이러한 왜곡을 제거하고 깨끗한 음질의 오디오를 얻을 수 있습니다.

외부의 하드웨어 필터가 해당 작업을 수행하도록 하려면 비용이 들며 추가적인 공간도 필요합니다. 그렇기 때문에 더 실용적이고 효과적인 방법은 오디오 코덱 안에 내장된 디지털 필터 블록을 사용하여 오디오를 조정하는 것입니다.

예를 들어 AKM Semiconductor AK4637 24비트 오디오 코덱의 제품 구성도에는 디지털 필터 블록이 강조 표시되어 있습니다(그림 4).

모노 스피커 출력을 갖춘 AKM Semiconductor AK4637 오디오 코덱 구성도(확대하려면 클릭)그림 4: AK4637은 오디오 재생 및 녹음 기능이 있는 모노 스피커 출력을 갖춘 오디오 코덱입니다. 이 장치는 또한 오디오 충실도를 향상시키기 위해 들어오고 나가는 오디오를 필터링하는 데 사용할 수 있는 내부 오디오 블록을 포함하고 있습니다. (이미지 출처: AKM Semiconductor)

이 디지털 필터 블록은 다음과 같이 서로 다른 여러 필터링 기능을 갖추고 있습니다.

  • 고역 통과 필터(HPF2)
  • 저역 통과 필터(LPF)
  • 4밴드 이퀄라이저(4밴드 EQ)
  • 자동 레벨링 제어(ALC)
  • 1밴드 이퀄라이저(1밴드 EQ)

이 모든 기능이 활성화되어 있을 필요는 없습니다. 개발자는 블록에서 필요한 기능을 선택하고 특정 기능을 활성화 및 비활성화하거나, 이를 통해 마이크를 라우팅하거나 오디오를 재생할 수 있습니다. 이제부터 주의 깊게 살펴보아야 할 점은 오디오 코덱을 계산하고 프로그래밍하는 방법입니다.

디지털 필터 파라미터의 계산 및 프로그래밍 방법

대부분의 오디오 응용 제품에서 고역 통과 필터는 낮은 주파수를 삭제하기 위해, 저역 통과 필터는 높은 주파수를 제외하기 위해 사용됩니다. 이퀄라이저를 사용하면 주파수 응답 곡선을 좀 더 평탄하게 바꾸거나 특정 톤을 강조할 수 있습니다. 이러한 설정을 정확히 선택하는 방법은 이 기사에서는 다루지 않습니다. 대신 AKM AK4637을 예로 들어, 이러한 파라미터와 관련된 값을 계산하고 프로그래밍하는 방법을 살펴봅니다.

가장 먼저, 항상 규격서를 검토하는 것이 좋습니다. 이 경우에는 7페이지 ~ 8페이지에 해당 코덱과 관련된 모든 중요한 레지스터 맵이 표시되어 있습니다. 해당 부품에는 레지스터가 63개나 있으므로, 처음에는 난해하게 보일 수도 있습니다. 그러나 이 레지스터 중 다수는 디지털 오디오 블록을 제어합니다. 예를 들어, 0x22부터 0x3F까지의 레지스터는 이퀄라이저를 제어합니다. 0x19부터 0x1C까지의 레지스터는 고역 통과 필터를, 0x1D부터 0x20까지의 레지스터는 저역 통과 필터를 제어합니다.

일반적으로 개발자가 코덱으로 입력할 주파수를 지정할 수 있는 방법은 없습니다. 그 대신 필터 계수를 계산하는 데 사용되는 필터 방정식이 있으며, 그 후 코덱 레지스터로 프로그래밍되어 원하는 주파수에서 필터가 생성됩니다. 예를 들어 디지털 필터 블록을 사용하여 600Hz에서 고역 통과 필터를 생성하려면, 방정식 1을 사용합니다.

고역 통과 필터 계수를 계산하기 위해 사용되는 방정식 이미지그림 5: AK4637 디지털 필터 블록에서 고역 통과 필터 계수를 계산하기 위해 사용되는 방정식입니다. (이미지 출처: AKM Semiconductor)

개발자는 원하는 차단 주파수(fc, 이 경우에는 600Hz)를 파악하게 됩니다. 오디오 샘플링 주파수(fs)는 통상 48kHz지만, 응용 제품에 따라 달라질 수 있습니다. 그런 다음 이 값은 계수 A 및 B를 계산하기 위한 방정식에 대입됩니다. 그 후 이 값은 응용 제품이 작동을 시작하는 동안 I2C를 통해 코덱 레지스터에 기록됩니다. 저역 통과 필터 및 기타 디지털 블록 기능에 대해서도 이와 동일한 작업을 수행할 수 있지만, 보통 전송 기능이 다르므로 각각의 경우에 알맞은 고유한 방정식 세트를 사용해야 합니다(규격서 참조).

오디오 코덱 조정 관련 유용한 정보

보통 오디오 코덱에 포함된 디지털 필터 블록은 상당히 유연하며 강력합니다. 저가의 오디오 코덱도 고품질 오디오 생성에 필요한 장치를 개발자에게 제공합니다. 결국 오디오 코덱도 여러 필요한 요소 중 하나에 불과합니다. 다음은 개발자가 오디오 코덱을 성공적으로 조정하기 위해 염두에 둘 여러 "유용한 정보"입니다.

  • 스피커는 해당 응용 제품에 알맞은 인클로저에 실장되어 있어야 합니다. 올바로 설계되지 않은 스피커 박스는 완벽한 재생 시스템을 쉽게 망칠 수 있습니다.
  • 시스템이 원래 의도된 구성대로 완벽하게 조립되기 전에 오디오 코덱 필터 블록을 조정하지 마십시오. 조정 파라미터가 변경될 수 있습니다.
  • 재생될 오디오에 따라 주파수 범위를 선택합니다. 예를 들어, 기타나 피아노에서 연주되는 음악을 재생할 것인지 또는 사람의 목소리를 재생할 것인지에 따라 주파수 범위는 모두 달라집니다.
  • 디지털 밸런스 블록을 사용하여 스피커의 주파수 응답을 보정하십시오. 어떤 주파수는 자연적으로 더 크고 깨끗한 사운드를 지니므로 감쇠되어 하고, 또 어떤 주파수는 증폭되어야 할 수 있습니다.
  • 시스템의 주파수 응답을 평가하기 위해 테스트 톤을 사용하십시오. 간단한 인터넷 검색을 통해, 오디오 재생 시스템의 주파수 응답과 디지털 필터 블록의 작동 방식을 이해하기 위해 사용할 수 있는 광범위한 오디오 톤이 담긴 mp3 파일을 찾을 수 있습니다.
  • 제조 중에 시스템 간 변동을 고려하여 설정할 수 있도록, 필터 블록 구성 설정을 플래시 또는 EEPROM에 저장하십시오(해당되는 경우).

개발자가 이 "유용한 정보"를 염두에 둔다면, 오디오 재생 시스템을 조정하려고 할 때 많은 시간을 절약하고 문제를 방지할 수 있을 뿐 아니라 의도했던 오디오 특성 그대로를 지닌 제품을 출시할 수 있게 될 것입니다.

결론

내장형 시스템에 오디오 코덱을 추가한다고 해서 항상 최종 사용자에게 좋은 음질이 제공되는 것은 아닙니다. 모든 오디오 재생 시스템은 세심하게 조정되어야 합니다. 외부 필터를 사용하여 이러한 조정 작업을 수행할 수도 있지만, 오디오 코덱에는 디지털 필터링 및 균형 기능이 내장되어 있습니다. 위에서 살펴보았듯이, 이러한 기능을 통해 스피커에 가장 알맞은 주파수만이 전달될 수 있습니다. 필터 설정과 관련된 세심한 분석 및 적용을 통해, 설계자는 최종 사용자가 사용하는 장치에서 기대할 수 있는 깨끗한 음질의 오디오를 제공할 수 있습니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo는 임베디드 소프트웨어 컨설턴트로서 현재 십여 개국 이상의 국가에 있는 고객들과 협력하여 제품 품질, 비용, 출시 기간을 향상시켜 고객의 비즈니스를 극적으로 변화시키고 있습니다. 그는 인기 있는 강연자이자 기술 교육자이며 임베디드 소프트웨어 개발 기술에 대해 200개 이상의 기사를 발표했습니다. 그는 미시간 대학교 공학 석사 학위를 비롯하여 세 개의 학위를 소지하고 있습니다. 월간 Embedded Bytes 뉴스레터를 수신하려면 jacob@beningo.com 및 Jacob Beningo의 웹 사이트인 www.beningo.com으로 언제든지 문의해 주세요.

게시자 정보

DigiKey 북미 편집자