Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Succesvolle realtime akoestische verwerking vereist een zorgvuldige planning

Lage latentie, realtime akoestische verwerking is een sleutelfactor in veel embedded verwerkingstoepassingen, waaronder spraakvoorverwerking, spraakherkenning en actieve ruisonderdrukking (ANC). Aangezien de realtime prestatie-eisen binnen deze toepassingsdomeinen gestaag toenemen, moeten ontwikkelaars een strategische mindset aannemen om op de juiste manier aan deze behoeften te voldoen. Gezien de substantiële prestaties die worden geboden door veel grotere systemen op chips, kan het verleidelijk zijn om deze apparaten gewoon te laden met eventuele extra taken die zich voordoen, maar het is belangrijk om te begrijpen dat latentie en determinisme kritieke elementen zijn die gemakkelijk kunnen leiden tot een groot realtime systeem problemen als ze niet zorgvuldig worden overwogen. In dit artikel worden de problemen besproken waarmee ontwerpers rekening moeten houden bij het kiezen tussen een SoC en speciale audio-DSP om onaangename verrassingen in hun realtime akoestische systemen te voorkomen.

Akoestische systemen met lage latentie dekken een breed scala aan toepassingen af. Alleen al in de auto-industrie is een lage latentie bijvoorbeeld van cruciaal belang voor persoonlijke audiozones, wegruisonderdrukking en communicatiesystemen in de auto, om er maar een paar te noemen.

Met de opkomende trend van voertuigelektrificatie wordt ANC nog belangrijker omdat er geen verbrandingsmotor is die merkbaar geluid produceert. Daarom worden de geluiden die horen bij de auto-naar-weg-interface veel meer merkbaar en aanstootgevend. Het verminderen van dit geluid zorgt niet alleen voor een comfortabelere rijervaring, maar vermindert ook de vermoeidheid van de bestuurder. Er zijn talloze uitdagingen verbonden aan het implementeren van een akoestisch systeem met lage latentie op een SoC in tegenstelling tot op een speciale audio-DSP. Deze omvatten problemen met latentie, schaalbaarheid, upgradebaarheid, algoritme-overwegingen, hardwareversnelling en klantenondersteuning. Laten we elk van deze achtereenvolgens bekijken.

Latentie

De kwestie van latentie in realtime akoestische verwerkingssystemen is een belangrijke. Als de processor de realtime gegevensbeweging en rekenkundige eisen van het systeem niet kan bijhouden, kan dit leiden tot onaanvaardbare audiodalingen.

SoC's hebben doorgaans kleine SRAM's op de chip en moeten daarom vertrouwen op cache voor de meeste lokale geheugentoegangen. Dit introduceert niet-deterministische beschikbaarheid van code en gegevens, en het verhoogt ook de verwerkingslatentie. Voor een realtime applicatie zoals ANC kan dit alleen al een dealbreaker zijn. Er is echter ook het feit dat SoC's niet-realtime besturingssystemen uitvoeren die zware multitasking-belastingen beheren. Dit versterkt de niet-deterministische werkingskarakteristiek van het systeem, waardoor het erg moeilijk is om relatief complexe akoestische verwerking te ondersteunen in een multitasking-omgeving.

Afbeelding 1 toont een concreet voorbeeld van een SoC die een realtime audioverwerkingsbelasting uitvoert, waarbij CPU-belastingspieken worden uitgevoerd als SoC-taken met een hogere prioriteit worden uitgevoerd. Deze pieken kunnen bijvoorbeeld optreden als gevolg van SoC-gerichte activiteiten zoals het renderen van media, browsen of het uitvoeren van apps op het systeem. Telkens wanneer de pieken de 100% CPU-belasting overschrijden, werkt de SoC niet langer in realtime, en dit zal resulteren in audio-uitval.

klik voor afbeelding op volledige grootte

Afbeelding 1:Onmiddellijke CPU-belasting voor een representatieve SoC die naast andere taken ook veel audiogeheugen verwerkt [1]. (Bron:Analoge apparaten)

Audio-DSP's daarentegen zijn ontworpen voor lage latentie door het hele signaalverwerkingspad, van gesamplede audio-invoer tot composiet (bijvoorbeeld audio + anti-ruis) luidsprekeruitvoer. L1-instructies en data SRAM, het single-cycle geheugen dat zich het dichtst bij de processorkern bevindt, is ruim genoeg om veel verwerkingsalgoritmen te ondersteunen zonder tussentijdse data naar off-chip geheugen te verplaatsen. Bovendien helpt on-chip L2-geheugen (verder van de kern maar nog steeds veel snellere toegang dan off-chip DRAM) een buffer te bieden voor tussentijdse gegevensbewerkingen wanneer L1 SRAM-opslag wordt overschreden. Ten slotte gebruiken audio-DSP's gewoonlijk een realtime besturingssysteem (RTOS) dat ervoor zorgt dat inkomende gegevens kunnen worden verwerkt en naar de doelbestemming kunnen worden verzonden voordat nieuwe invoergegevens arriveren, waardoor wordt gewaarborgd dat gegevensbuffers niet overlopen tijdens realtimewerking.

De werkelijke latentie bij het opstarten van het systeem - vaak gemeten aan de hand van de tijd tot audiobeschikbaarheid - kan ook een belangrijke maatstaf zijn, vooral in autosystemen waar binnen een bepaald venster vanaf het opstarten hoorbare waarschuwingen moeten worden uitgezonden. In de SoC-wereld, waar het gebruikelijk is om een ​​lange opstartvolgorde te hebben waarbij het besturingssysteem voor het hele apparaat moet worden geopend, kan het moeilijk of onmogelijk zijn om aan deze opstartvereiste te voldoen. Aan de andere kant kan een standalone audio-DSP met zijn eigen RTOS die niet wordt beïnvloed door andere externe systeemprioriteiten, worden geoptimaliseerd voor snel opstarten dat ruimschoots voldoet aan de time-to-audio-vereiste.

Schaalbaarheid

Hoewel zorgen over latentie problematisch zijn voor SoC's in toepassingen zoals ruiscontrole, is schaalbaarheid een andere belangrijke tekortkoming voor SoC's die akoestische verwerking willen uitvoeren. Met andere woorden, SoC's die grote systemen besturen (zoals head-end units en clusters voor auto's) met veel ongelijksoortige subsystemen, kunnen niet gemakkelijk worden geschaald van low-end naar high-end audiobehoeften, omdat er een constant conflict is tussen de schaalbaarheidsbehoeften van elk onderdeel van het subsysteem, waardoor afwegingen in het algehele SoC-gebruik. Als een head-end SoC bijvoorbeeld verbinding maakt met een externe tuner en die tuner bij automodellen moet worden geschaald van een paar kanalen naar veel kanalen, zal elke kanaalconfiguratie de eerder genoemde realtime-problemen versterken. Dit komt doordat elke extra functie onder de controle van de SoC het realtime gedrag van de SoC en de beschikbaarheid van bronnen van belangrijke architecturale componenten die door meerdere functies worden gebruikt, verandert. Deze bronnen omvatten aspecten zoals geheugenbandbreedte, processorkerncycli en arbitrageslots voor systeembusfabrics.

Afgezien van de bezorgdheid over andere subsystemen die verbinding maken met de multitasking-SoC, heeft het akoestische subsysteem zelf zijn eigen schaalbaarheidsproblemen. Er is een low-end tot high-end schaling (bijvoorbeeld het verhogen van het aantal microfoon- en luidsprekerkanalen in een ANC-toepassing), en er is ook de schaling van de audio-ervaring, van eenvoudige audiodecodering en stereoweergave tot 3D-virtualisatie en andere premiumfuncties. Hoewel deze vereisten niet de realtimebeperkingen van ANC-systemen delen, hebben ze toch rechtstreeks betrekking op de keuze van de audioprocessor voor een systeem.

Het gebruik van een afzonderlijke audio-DSP als coprocessor voor een SoC helpt bij het oplossen van het audioschaalbaarheidsprobleem, maakt modulair systeemontwerp mogelijk en optimaliseert de kosten (zie afbeelding 2). De SoC kan zich veel minder richten op de realtime akoestische verwerkingsbehoeften van het grotere systeem, in plaats daarvan die verwerking over te hevelen naar de audio-DSP met lage latentie. Bovendien bieden audio-DSP's die verschillende prijs-/prestatie-/geheugenniveaus bieden via een uitgebreide code-compatibele en pin-compatibele roadmap maximale flexibiliteit voor systeemontwerpers om het audioprestatie-aanbod voor een bepaald productniveau op de juiste maat te maken.

klik voor afbeelding op volledige grootte

Figuur 2:illustratief voor een zeer schaalbare audioprocessor. Het gebruik van een aparte audioprocessor, zoals de ADSP-2156x DSP die hier wordt getoond, helpt bij het oplossen van het audioschaalbaarheidsprobleem, maakt een modulair systeemontwerp mogelijk en optimaliseert de kosten. (Bron:Analog Devices)

Upgradebaarheid

Naarmate over-the-air firmware-updates steeds gebruikelijker worden in de voertuigen van vandaag, wordt upgradebaarheid om kritieke patches uit te geven of nieuwe functionaliteit te bieden steeds belangrijker. Dit kan grote problemen veroorzaken voor een SoC vanwege de toegenomen afhankelijkheden tussen de verschillende subsystemen. Ten eerste strijden op SoC's meerdere threads voor verwerking en gegevensverplaatsing om bronnen. Dit verhoogt de concurrentie voor processor-MIPS en geheugen wanneer nieuwe functies worden toegevoegd, vooral tijdens pieken van activiteit. Vanuit het audioperspectief kunnen functietoevoegingen in andere SoC-besturingsdomeinen een onvoorspelbaar effect hebben op de realtime akoestische prestaties. Een neveneffect van deze situatie is dat nieuwe functionaliteit op alle operationele vlakken moet worden getest, wat resulteert in talloze permutaties tussen verschillende bedieningsmodi van de concurrerende subsystemen. De softwareverificatie neemt dus exponentieel toe voor elk upgradepakket.

Vanuit een andere hoek bekeken, zou kunnen worden gezegd dat verbeteringen aan SoC-audioprestaties afhankelijk zijn van beschikbare SoC MIPS, naast de functie-roadmaps voor de andere subsystemen die door de SoC worden bestuurd.

Ontwikkeling en prestaties van algoritmen

Het moet duidelijk zijn dat, als het gaat om het ontwikkelen van realtime akoestische algoritmen, audio-DSP's speciaal voor deze taak zijn gebouwd. Als een belangrijke onderscheidende factor voor SoC's, kunnen standalone audio-DSP's grafische ontwikkelomgevingen bieden waarmee technici met minimale DSP-coderingservaring hoogwaardige akoestische verwerking aan hun ontwerpen kunnen toevoegen. Dit type tool kan de ontwikkelingskosten verlagen door de ontwikkelingstijd te verkorten zonder in te boeten aan kwaliteit of prestatie.

De grafische audio-ontwikkelomgeving SigmaStudio van ADI biedt bijvoorbeeld een breed scala aan signaalverwerkingsalgoritmen die zijn geïntegreerd in een intuïtieve grafische gebruikersinterface (GUI), waardoor gecompliceerde audiosignaalstromen kunnen worden gecreëerd (zie afbeelding 3). Het ondersteunt ook grafische A2B-configuratie voor audiotransport, wat enorm helpt bij het katalyseren van de real-time ontwikkeling van akoestische systemen.

klik voor afbeelding op volledige grootte

Afbeelding 3:Grafische audio-ontwikkelingsomgevingen zoals SigmaStudio van Analog Devices bieden toegang tot een breed scala aan signaalverwerkingsalgoritmen die zijn geïntegreerd in een intuïtieve grafische gebruikersinterface (GUI), waardoor het creëren van gecompliceerde audiosignaalstromen wordt vereenvoudigd. (Bron:Analoge apparaten)

Audiovriendelijke hardwarefuncties

Naast een processorkernarchitectuur die specifiek is ontworpen voor efficiënte parallelle berekeningen met drijvende komma en gegevenstoegang, hebben audio-DSP's vaak speciale meerkanaalsversnellers voor algemene audioprimitieven zoals snelle Fourier-transformaties (FFT's), eindige en oneindige impulsrespons (FIR en IIR ) filteren en asynchrone sample rate conversie (ASRC). Deze maken realtime audiofiltering, bemonstering en frequentiedomeinconversie buiten de kern-CPU mogelijk, waardoor de effectieve kernprestaties worden verbeterd. Bovendien kunnen ze een flexibel en gebruiksvriendelijk programmeermodel mogelijk maken dankzij hun geoptimaliseerde architectuur en mogelijkheden voor gegevensstroombeheer.

Vanwege de toename van het aantal audiokanalen, filterstreams, bemonsteringsfrequenties en dergelijke, is het belangrijk om een ​​maximaal configureerbare pin-interface te hebben die in-line bemonsteringsfrequentieconversie, precisieklokken en synchrone snelle seriële poorten mogelijk maakt om gegevens efficiënt te routeren en vermijd toegevoegde latentie of externe interfacelogica. De digitale audio-interconnect (DAI) van ADI's SHARC-familieprocessors illustreert deze mogelijkheid, zoals weergegeven in afbeelding 4.

klik voor afbeelding op volledige grootte

Afbeelding 4:Een digitale audio-interconnect (DAI) is een maximaal configureerbare pin-interface die in-line samplefrequentieconversie, precisieklokken en synchrone snelle seriële poorten mogelijk maakt om gegevens efficiënt te routeren en extra latentie of externe interface-logica. (Bron:Analoge apparaten)

Klantenondersteuning

Een aspect dat vaak over het hoofd wordt gezien bij het ontwikkelen met een ingebouwde processor is de klantenondersteuning voor het apparaat.

Hoewel SoC-leveranciers het gebruik van akoestische algoritmen op hun geïntegreerde DSP-producten promoten, brengt dit in de praktijk verschillende verplichtingen met zich mee. Ten eerste is ondersteuning door leveranciers vaak complexer, aangezien akoestische expertise niet typisch het domein is van de ontwikkeling van SoC-applicaties. Bijgevolg is er meestal een zwakke ondersteuning voor klanten die hun eigen akoestische algoritmen willen ontwikkelen op de on-chip DSP-technologie van de SoC. In plaats daarvan kan de leverancier standaardalgoritmen aanbieden en een aanzienlijke NRE in rekening brengen om akoestische algoritmen naar een of meer kernen van de SoC te porten. Toch is er geen garantie op succes, vooral als de leverancier geen volwassen framework-software met lage latentie aanbiedt. Ten slotte is het ecosysteem van derden voor op SoC gebaseerde akoestische verwerking nogal kwetsbaar, omdat het niet de focus van de SoC is, maar eerder een opportunistisch ondersteunde functie.

Een speciaal gebouwde audio-DSP brengt een veel sterker ecosysteem met zich mee voor de ontwikkeling van complexe akoestische systemen, van geoptimaliseerde algoritmebibliotheken en apparaatstuurprogramma's tot realtime besturingssystemen en gebruiksvriendelijke ontwikkelingstools. Op audio gerichte referentieplatforms (zoals ADI's SHARC-audiomoduleplatform, weergegeven in afbeelding 5) die de time-to-market versnellen, zijn een zeldzaamheid voor SoC's, maar vrij gebruikelijk in het zelfstandige audio-DSP-domein.


Figuur 5:DSP's bieden gewoonlijk een op audio gericht ontwikkelplatform zoals de hier getoonde SHARC-audiomodule (SAM).. (Bron:Analog Devices)

Het ontwerpen van akoestische systemen in real-time omvat een bewuste, strategische planning van systeembronnen en kan niet eenvoudig worden beheerd door overgebleven verwerkingsruimte toe te wijzen aan een multitasking-SoC. In plaats daarvan zal een standalone audio-DSP die is geoptimaliseerd voor verwerking met lage latentie waarschijnlijk leiden tot meer robuustheid, kortere ontwikkeltijd en optimale schaalbaarheid om tegemoet te komen aan toekomstige systeembehoeften en prestatieniveaus.

Referentie

[1] Paul Beckmann. "Multicore SOC-processors:prestaties, analyse en optimalisatie." 2017 AES International Conference on Automotive Audio, augustus 2017.


David Katz heeft 30 jaar ervaring in het ontwerpen van analoge, digitale en embedded systemen. Hij is directeur van systeemarchitectuur voor auto-infotainment bij Analog Devices, Inc. Hij heeft internationaal bijna 100 artikelen over embedded processing gepubliceerd en hij heeft verschillende conferentiepapers in het veld gepresenteerd. Daarvoor werkte hij bij Motorola, Inc. als senior ontwerpingenieur in kabelmodem- en fabrieksautomatiseringsgroepen. David heeft zowel een B.S. en een M.Eng. in elektrotechniek aan de Cornell University. Hij is te bereiken via [email protected].

Verwante inhoud:

  • Hard- en software combineren voor betere audio
  • Hoe audio edge-processors spraakintegratie in IoT-apparaten mogelijk maken
  • AI vindt zijn stem in audioketen
  • Adaptieve ANC-oplossingen zorgen voor verbeterde audiomogelijkheden
  • Ontwerpoverwegingen voor energiezuinige, altijd ingeschakelde spraakopdrachtsystemen

Abonneer u voor meer Embedded op de wekelijkse e-mailnieuwsbrief van Embedded.


Ingebed

  1. ST:STM32WB dual-core draadloze MCU's leveren realtime prestaties met ultralaag vermogen
  2. Logic-X lanceert nieuw merk COTS-sensorverwerkingsproducten
  3. Maxim nanoPower real-time klok verlengt de levensduur van de batterij in wearables, POS
  4. AI-chiparchitectuur richt zich op grafiekverwerking
  5. Het gebruik van meerdere inferentie-chips vereist een zorgvuldige planning
  6. Multicore-processor integreert neurale verwerkingseenheid
  7. Real-time klokken voor auto's hebben een breed temperatuurbereik
  8. Seco:heterogene verwerkingssystemen op basis van Xilinx Zynq Ultrascale+ MPSoC's
  9. Realtime bewegingsplanning voor autonome auto's in meerdere situaties, onder gesimuleerde stedelijke omgeving
  10. Digitale winkelvloerinitiatieven profiteren van zorgvuldige planning
  11. Is uw systeem slim? De waarde van realtime verwerking van gegevens op de fabrieksvloer