산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

실시간 음향 처리에 성공하려면 신중한 계획이 필요합니다.

낮은 대기 시간, 실시간 음향 처리는 음성 전처리, 음성 인식 및 능동 소음 제거(ANC)와 같은 많은 임베디드 처리 응용 프로그램의 핵심 요소입니다. 이러한 애플리케이션 영역 내에서 실시간 성능 요구 사항이 꾸준히 증가함에 따라 개발자는 이러한 요구 사항을 적절하게 수용하기 위해 전략적 사고 방식을 채택해야 합니다. 많은 대형 시스템 온칩이 제공하는 상당한 성능을 감안할 때 이러한 장치에 발생하는 추가 작업을 단순히 로드하고 싶을 수 있지만 대기 시간과 결정성은 주요 실시간 시스템으로 쉽게 이어질 수 있는 중요한 요소라는 점을 이해하는 것이 중요합니다. 신중하게 고려하지 않으면 문제가 발생합니다. 이 기사에서는 디자이너가 실시간 음향 시스템에서 불쾌한 놀라움을 피하기 위해 SoC와 전용 오디오 DSP 중에서 선택할 때 고려해야 하는 문제를 살펴봅니다.

저지연 음향 시스템은 광범위한 응용 분야를 포괄합니다. 예를 들어, 자동차 공간에서만 개인 오디오 구역, 도로 소음 제거 및 차량 내 통신 시스템에 짧은 지연 시간이 매우 중요합니다.

차량 전기화의 새로운 추세와 함께 눈에 띄는 소음을 생성하는 연소 엔진이 없기 때문에 ANC가 훨씬 더 중요해졌습니다. 따라서 Car-to-Road 인터페이스와 관련된 사운드는 훨씬 더 눈에 띄고 공격적입니다. 이 소음을 줄이면 보다 편안한 라이딩 경험을 제공할 뿐만 아니라 운전자의 피로도 줄어듭니다. 전용 오디오 DSP가 아닌 SoC에서 저지연 음향 시스템을 구현하는 것과 관련된 수많은 문제가 있습니다. 여기에는 대기 시간, 확장성, 업그레이드 가능성, 알고리즘 고려 사항, 하드웨어 가속 및 고객 지원 문제가 포함됩니다. 각 항목을 차례로 살펴보겠습니다.

지연 시간

실시간 음향 처리 시스템에서 지연 문제는 중요한 문제입니다. 프로세서가 시스템의 실시간 데이터 이동 및 계산 요구를 따라가지 못하는 경우 허용할 수 없는 오디오 드롭이 발생할 수 있습니다.

일반적으로 SoC에는 작은 온칩 SRAM이 있으므로 대부분의 로컬 메모리 액세스에 대해 캐시에 의존해야 합니다. 이는 코드 및 데이터의 비결정적 가용성을 도입하고 처리 대기 시간을 증가시킵니다. ANC와 같은 실시간 애플리케이션의 경우 이것만으로도 거래 차단기가 될 수 있습니다. 그러나 SoC가 무거운 멀티태스킹 로드를 관리하는 비실시간 운영 체제를 실행한다는 사실도 있습니다. 이것은 시스템의 비결정적 작동 특성을 증폭시켜 멀티태스킹 환경에서 비교적 복잡한 음향 처리를 지원하기 매우 어렵게 만듭니다.

그림 1은 실시간 오디오 처리 부하를 실행하는 SoC의 구체적인 예를 보여줍니다. 여기서 우선 순위가 더 높은 SoC 작업이 처리될 때 CPU 부하가 급증합니다. 이러한 급증은 예를 들어 시스템에서 미디어 렌더링, 검색 또는 앱 실행과 같은 SoC 중심 활동으로 인해 발생할 수 있습니다. 스파이크가 100% CPU 로드를 초과할 때마다 SoC는 더 이상 실시간으로 작동하지 않으며 이로 인해 오디오가 끊깁니다.

전체 크기 이미지를 보려면 클릭하세요.

그림 1:다른 작업과 함께 높은 오디오 메모리 처리를 실행하는 대표적인 SoC의 순간 CPU 로드[1]. (출처:Analog Devices)

반면에 오디오 DSP는 샘플링된 오디오 입력에서 컴포지트(예:오디오 + 노이즈 방지) 스피커 출력에 이르기까지 신호 처리 경로 전체에서 낮은 대기 시간을 위해 설계되었습니다. 프로세서 코어에 가장 가까운 단일 사이클 메모리인 L1 명령어 및 데이터 SRAM은 중간 데이터를 오프칩 메모리로 오프로드하지 않고도 많은 처리 알고리즘을 지원하기에 충분합니다. 또한 온칩 L2 메모리(코어에서 멀리 떨어져 있지만 오프칩 DRAM보다 훨씬 빠른 액세스)는 L1 SRAM 스토리지를 초과할 때 중간 데이터 작업을 위한 버퍼를 제공하는 데 도움이 됩니다. 마지막으로, 오디오 DSP는 일반적으로 수신 데이터를 처리하고 새로운 입력 데이터가 도착하기 전에 대상 대상으로 보낼 수 있도록 하는 실시간 운영 체제(RTOS)를 실행하여 실시간 작동 중에 데이터 버퍼가 오버플로되지 않도록 합니다.

시스템 부팅의 실제 대기 시간(종종 오디오 사용 가능 시간으로 측정됨)은 특히 시작 시 특정 창 내에서 가청 경고를 브로드캐스트해야 하는 자동차 시스템에서 중요한 메트릭이 될 수 있습니다. 전체 장치에 대한 운영 체제를 불러오는 것과 관련된 긴 부팅 시퀀스를 갖는 것이 일반적인 SoC 세계에서는 이러한 시작 요구 사항을 충족하는 것이 어렵거나 불가능할 수 있습니다. 반면에 다른 외부 시스템 우선 순위의 영향을 받지 않고 자체 RTOS를 실행하는 독립형 오디오 DSP는 오디오 시간 요구 사항을 편안하게 충족하는 빠른 부팅에 최적화될 수 있습니다.

확장성

지연 문제는 소음 제어와 같은 애플리케이션의 SoC에 문제가 되는 반면 음향 처리를 수행하려는 SoC의 또 다른 주요 단점은 확장성입니다. 다시 말해, 다양한 하위 시스템이 있는 대형 시스템(예:자동차 헤드엔드 장치 및 클러스터)을 제어하는 ​​SoC는 각 하위 시스템 구성 요소의 확장성 요구 사항 간에 지속적인 충돌이 있기 때문에 로우엔드에서 하이엔드 오디오 요구 사항으로 쉽게 확장할 수 없습니다. 전체 SoC 활용의 절충점. 예를 들어 헤드 엔드 SoC가 원격 튜너에 연결되고 자동차 모델 전반에 걸쳐 해당 튜너가 몇 개의 채널에서 많은 채널로 확장되어야 하는 경우 각 채널 구성은 앞에서 언급한 실시간 문제를 증폭시킵니다. 이는 SoC의 제어 하에 있는 각 추가 기능이 SoC의 실시간 동작을 변경하고 여러 기능에서 사용하는 주요 아키텍처 구성 요소의 리소스 가용성을 변경하기 때문입니다. 이러한 리소스에는 메모리 대역폭, 프로세서 코어 주기 및 시스템 버스 패브릭 중재 슬롯과 같은 측면이 포함됩니다.

멀티태스킹 SoC에 연결하는 다른 하위 시스템에 대한 우려와는 별도로 음향 하위 시스템 자체에는 자체 확장성 문제가 있습니다. 로우 엔드에서 하이 엔드로의 확장(예:ANC 애플리케이션에서 마이크 및 스피커 채널 수 증가)이 있으며 기본 오디오 디코딩 및 스테레오 재생에서 3D 가상화 및 기타 프리미엄 기능에 이르기까지 오디오 경험 확장도 있습니다. 이러한 요구 사항은 ANC 시스템의 실시간 제약을 공유하지 않지만 그럼에도 불구하고 시스템에 대한 오디오 프로세서 선택과 직접 관련이 있습니다.

SoC에 대한 보조 프로세서로 별도의 오디오 DSP를 활용하면 오디오 확장성 문제를 해결하고 모듈식 시스템 설계를 가능하게 하며 비용을 최적화할 수 있습니다(그림 2 참조). SoC는 더 큰 시스템의 실시간 음향 처리 요구 사항에 훨씬 덜 집중할 수 있으며 대신 해당 처리를 저지연 오디오 DSP로 분담할 수 있습니다. 또한 포괄적인 코드 호환 및 핀 호환 로드맵에서 다양한 가격/성능/메모리 수준을 제공하는 오디오 DSP는 시스템 설계자가 주어진 제품 계층에 맞는 오디오 성능을 제공할 수 있는 최대의 유연성을 제공합니다.

전체 크기 이미지를 보려면 클릭하세요.

그림 2:확장성이 뛰어난 오디오 프로세서를 보여줍니다. 여기에 표시된 ADSP-2156x DSP와 같은 별도의 오디오 프로세서를 활용하면 오디오 확장성 문제를 해결하고 모듈식 시스템 설계를 가능하게 하며 비용을 최적화하는 데 도움이 됩니다. (출처:Analog Devices)

업그레이드 가능성

무선 펌웨어 업데이트가 오늘날의 차량에서 더 보편화됨에 따라 중요한 패치를 발행하거나 새로운 기능을 제공하기 위한 업그레이드 가능성이 점점 더 중요해지고 있습니다. 이는 다양한 하위 시스템 간의 종속성이 증가하기 때문에 SoC에 주요 문제를 일으킬 수 있습니다. 첫째, SoC에서 여러 처리 및 데이터 이동 스레드가 리소스를 놓고 경쟁하고 있습니다. 이것은 새로운 기능이 추가될 때, 특히 피크 활동이 급증하는 동안 프로세서 MIPS 및 메모리에 대한 경쟁을 증가시킵니다. 오디오 관점에서 다른 SoC 제어 영역의 기능 추가는 실시간 음향 성능에 예측할 수 없는 영향을 미칠 수 있습니다. 이 상황의 한 가지 부작용은 새로운 기능이 모든 작동 평면에 걸쳐 교차 테스트되어야 하므로 경쟁 하위 시스템의 다양한 작동 모드 간에 무수히 많은 순열이 발생한다는 것입니다. 따라서 각 업그레이드 패키지에 대해 소프트웨어 검증이 기하급수적으로 증가합니다.

다른 각도에서 보면 SoC 오디오 성능의 개선은 사용 가능한 SoC MIPS와 SoC에서 제어하는 ​​다른 하위 시스템의 기능 로드맵에 따라 달라집니다.

알고리즘 개발 및 성능

실시간 음향 알고리즘을 개발할 때 오디오 DSP는 해당 작업을 위해 특별히 제작되었습니다. SoC의 중요한 차별화 요소인 독립형 오디오 DSP는 최소한의 DSP 코딩 경험을 가진 엔지니어가 설계에 고품질 음향 처리를 추가할 수 있도록 하는 그래픽 개발 환경을 제공할 수 있습니다. 이러한 유형의 도구는 품질이나 성능을 저하시키지 않으면서 개발 시간을 단축하여 개발 비용을 낮출 수 있습니다.

예를 들어, ADI의 SigmaStudio 그래픽 오디오 개발 환경은 직관적인 그래픽 사용자 인터페이스(GUI)에 통합된 다양한 신호 처리 알고리즘을 제공하여 복잡한 오디오 신호 흐름을 생성할 수 있도록 합니다(그림 3 참조). 또한 오디오 전송을 위한 그래픽 A2B 구성을 지원하여 실시간 음향 시스템 개발을 촉진하는 데 크게 도움이 됩니다.

전체 크기 이미지를 보려면 클릭하세요.

그림 3:Analog Devices의 SigmaStudio와 같은 그래픽 오디오 개발 환경은 직관적인 GUI(그래픽 사용자 인터페이스)에 통합된 다양한 신호 처리 알고리즘에 대한 액세스를 제공하여 복잡한 오디오 신호 흐름 생성을 단순화합니다. (출처:Analog Devices)

오디오 친화적인 하드웨어 기능

효율적인 병렬 부동 소수점 계산 및 데이터 액세스를 위해 특별히 설계된 프로세서 코어 아키텍처 외에도 오디오 DSP에는 FFT(고속 푸리에 변환), 유한 및 무한 임펄스 응답(FIR 및 IIR)과 같은 일반적인 오디오 기본 요소를 위한 전용 다중 채널 가속기가 있는 경우가 많습니다. ) 필터링 및 ASRC(비동기 샘플 속도 변환). 이를 통해 코어 CPU 외부에서 실시간 오디오 필터링, 샘플링 및 주파수 도메인 변환이 가능하여 효과적인 코어 성능이 향상됩니다. 또한 최적화된 아키텍처 및 데이터 흐름 관리 기능으로 인해 유연하고 사용자 친화적인 프로그래밍 모델을 촉진할 수 있습니다.

오디오 채널 수, 필터 스트림, 샘플링 속도 등의 확산으로 인해 인라인 샘플링 속도 변환, 정밀 클로킹 및 데이터를 효율적으로 라우팅하는 동기식 고속 직렬 포트를 허용하는 최대 구성 가능한 핀 인터페이스를 갖는 것이 중요합니다. 추가된 대기 시간 또는 외부 인터페이스 논리를 방지합니다. ADI SHARC 제품군 프로세서의 DAI(디지털 오디오 상호 연결)는 그림 4와 같이 이러한 기능을 보여줍니다.

전체 크기 이미지를 보려면 클릭하세요.

그림 4:디지털 오디오 인터커넥트(DAI)는 인라인 샘플 속도 변환, 정밀 클로킹 및 동기식 고속 직렬 포트를 허용하여 데이터를 효율적으로 라우팅하고 추가 대기 시간 또는 외부 인터페이스 논리. (출처:Analog Devices)

고객 지원

임베디드 프로세서로 개발할 때 종종 간과되는 측면 중 하나는 기기에 대한 고객 지원입니다.

SoC 공급업체는 통합 DSP 제품에서 음향 알고리즘 실행을 권장하지만 실제로는 여러 가지 책임이 있습니다. 하나는 음향 전문 지식이 일반적으로 SoC 애플리케이션 개발 영역이 아니기 때문에 벤더 지원이 더 복잡한 경우가 많습니다. 결과적으로 SoC의 온칩 DSP 기술에서 자체 음향 알고리즘을 개발하려는 고객에 대한 지원이 약한 경향이 있습니다. 오히려 공급업체는 표준 알고리즘을 제공하고 음향 알고리즘을 SoC의 하나 이상의 코어에 이식하기 위해 상당한 NRE를 청구할 수 있습니다. 그렇더라도 특히 공급업체가 성숙하고 지연 시간이 짧은 프레임워크 소프트웨어를 제공하지 않는 경우 성공을 보장할 수 없습니다. 마지막으로 SoC 기반 음향 처리를 위한 타사 에코시스템은 SoC의 초점이 아니라 기회에 따라 지원되는 기능이기 때문에 다소 취약한 경향이 있습니다.

특수 제작된 오디오 DSP는 최적화된 알고리즘 라이브러리 및 장치 드라이버에서 실시간 운영 체제 및 사용하기 쉬운 개발 도구에 이르기까지 복잡한 음향 시스템 개발을 위한 훨씬 강력한 에코시스템을 제공합니다. 출시 시간을 단축하는 오디오 중심 참조 플랫폼(예:ADI의 SHARC 오디오 모듈 플랫폼, 그림 5 참조)은 SoC에서는 드물지만 독립형 오디오 DSP 영역에서는 매우 일반적입니다.


그림 5:DSP는 일반적으로 여기에 표시된 SHARC 오디오 모듈(SAM)과 같은 오디오 중심 개발 플랫폼을 제공합니다.(출처:Analog Devices)

실시간 음향 시스템을 설계하려면 시스템 리소스에 대한 신중하고 전략적인 계획이 필요하며 멀티태스킹 SoC에 남은 처리 헤드룸을 할당하는 것으로는 단순히 관리할 수 없습니다. 대신, 저지연 처리에 최적화된 독립형 오디오 DSP는 미래 시스템 요구 사항 및 성능 계층을 수용하기 위해 견고성을 높이고 개발 시간을 단축하며 최적의 확장성을 제공할 수 있습니다.

참조

[1] 폴 베크만. "멀티코어 SOC 프로세서:성능, 분석 및 최적화." 2017 자동차 오디오에 관한 2017 AES 국제 회의, 2017년 8월.


데이비드 카츠 아날로그, 디지털 및 임베디드 시스템 설계 분야에서 30년의 경험을 가지고 있습니다. 그는 Analog Devices, Inc.의 자동차 인포테인먼트 시스템 아키텍처 책임자입니다. 그는 100개에 가까운 임베디드 처리 기사를 국제적으로 출판했으며 현장에서 여러 회의 논문을 발표했습니다. 이전에는 Motorola, Inc.에서 케이블 모뎀 및 공장 자동화 그룹의 수석 설계 엔지니어로 근무했습니다. David는 B.S.를 모두 보유하고 있습니다. 그리고 M.Eng. 코넬대학교에서 전기공학 박사. 그는 [email protected]으로 연락할 수 있습니다.

관련 콘텐츠:

더 많은 Embedded를 보려면 Embedded의 주간 이메일 뉴스레터를 구독하세요.


임베디드

  1. ST:초저전력 실시간 성능을 제공하는 STM32WB 듀얼 코어 무선 MCU
  2. Logic-X, COTS 센서 처리 제품의 새로운 브랜드 출시
  3. Maxim nanoPower 실시간 시계는 웨어러블 POS에서 배터리 수명을 연장합니다.
  4. AI 칩 아키텍처는 그래프 처리를 대상으로 합니다.
  5. 여러 추론 칩을 사용하려면 신중한 계획이 필요합니다
  6. 멀티코어 프로세서 통합 신경 처리 장치
  7. 자동차 실시간 시계는 넓은 온도 범위를 제공합니다.
  8. Seco:Xilinx Zynq Ultrascale+ MPSoC 기반 이기종 처리 시스템
  9. 시뮬레이션된 도시 환경에서 여러 상황에서 자율 주행 자동차를 위한 실시간 모션 계획
  10. 디지털 작업 현장 이니셔티브는 신중한 계획의 이점