11.07.2015 Views

Audio Processing on ARM Cortex-M4 for Automotive Applications

Audio Processing on ARM Cortex-M4 for Automotive Applications

Audio Processing on ARM Cortex-M4 for Automotive Applications

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ITTIAM Systems – White paper – <strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong><str<strong>on</strong>g>Audio</str<strong>on</strong>g> <str<strong>on</strong>g>Processing</str<strong>on</strong>g> <strong>on</strong> <strong>ARM</strong> ® <strong>Cortex</strong>-<strong>M4</strong><strong>for</strong> <strong>Automotive</strong> Applicati<strong>on</strong>sIntroducti<strong>on</strong>–By Pradeep D, Ittiam Systems Pvt. Ltd.<strong>Automotive</strong> infotainment systems have become an integral part of the in-car experience. Theseinclude an array of features ranging from multimedia playback and telematics to Internet browsing andcomplex human-machine interfaces turning the automobiles into c<strong>on</strong>nectivity and entertainmentdestinati<strong>on</strong>s. Music has been the most preferred <strong>for</strong>m of entertainment in automobiles due to its n<strong>on</strong>intrusive nature. Satellite radio, live news, weather feeds, streaming from mobile devices, rear-seatentertainment and multiple such features have become a necessity <strong>for</strong> automobile manufacturers todifferentiate their offering from their competitors.In this whitepaper, we discuss the automotive audio system, elaborating <strong>on</strong> the functi<strong>on</strong>s andprocessing requirements <strong>for</strong> audio, followed by analysis of the <strong>Cortex</strong>-<strong>M4</strong> core, the newly announced<strong>ARM</strong> core in the <strong>Cortex</strong>-M series <strong>for</strong> automotive audio system.In-Car <str<strong>on</strong>g>Audio</str<strong>on</strong>g><str<strong>on</strong>g>Audio</str<strong>on</strong>g> entertainment undeniably plays a large role in automobiles. Over the years the audiosystems have changed from simple car radio to an integrated entertainment system supportingmultimedia, next generati<strong>on</strong> digital radio, c<strong>on</strong>nectivity to pers<strong>on</strong>al devices like the mobile ph<strong>on</strong>es, andvoice activated or touch based User Interface (UI). The customer’s expectati<strong>on</strong> has also changedsignificantly, demanding pers<strong>on</strong>alized, high fidelity audio.Digital Radio, a necessity - The advent of digital broadcast brings in wider coverage and better qualityradio. Radio has been the preferred <strong>for</strong>m of entertainment in-car as it brings in an unlimited supply ofmusic with ‘the element of surprise’ as well as the latest news. A wide variety of standards such DAB,DAB+, DVB-T, DRM, HD-radio, ISDB-T etc are in use in different parts of the world to transmit digitalradio. Most of these standards use MPEG audio <strong>for</strong>mat <strong>for</strong> encoding and transmissi<strong>on</strong>.Compressi<strong>on</strong> <strong>for</strong>mats involved - The media player needs to support a variety of compressed audio<strong>for</strong>mats like MP3, AAC, WMA and Vorbis in different file/c<strong>on</strong>tainer <strong>for</strong>mats. The media player should becapable of playback from a multitude of storage media ranging from CD/DVD drives, USB sticks, HardDisk, SD card and also from a range of pers<strong>on</strong>al devices like mobile ph<strong>on</strong>es, portable media players likeApple® iPod, Microsoft® Zune etc.<str<strong>on</strong>g>Audio</str<strong>on</strong>g> rendering challenges - The acoustic sound stage, the listening envir<strong>on</strong>ment coupled with thedemand <strong>for</strong> hi-fi sound quality in the car poses a significant challenge in the acoustics design and audioprocessing. Additi<strong>on</strong>ally, the envir<strong>on</strong>ment noise, both due to the engine and the surrounding, results in1 | P a g e


ITTIAM Systems – White paper – <strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong>Processor Requirements <strong>for</strong> <str<strong>on</strong>g>Audio</str<strong>on</strong>g> <str<strong>on</strong>g>Processing</str<strong>on</strong>g>In this secti<strong>on</strong>, we will analyze the processor requirements <strong>for</strong> efficient audio processing. Theaudio processing modules can be broadly classified into 3 categories – MAC (Multiply and accumulate)intensive code, c<strong>on</strong>trol code, mix of MAC and c<strong>on</strong>trol code. Each category has specific traits anddifferent processor capabilities <strong>for</strong> efficient audio processing. The table below lists the traits andprocessor requirements <strong>for</strong> audio processing discussed in the earlier secti<strong>on</strong>.<str<strong>on</strong>g>Audio</str<strong>on</strong>g> <str<strong>on</strong>g>Processing</str<strong>on</strong>g> ModulesCategory Example Traits Processor RequirementSignal <str<strong>on</strong>g>Processing</str<strong>on</strong>g> module High precisi<strong>on</strong> multiply High precisi<strong>on</strong> MACMACintensiveFiltering modules Repetitive operati<strong>on</strong>s SIMD capabilityE.g. FIR, IIR FiltersDifferent bit-widths <strong>for</strong> theinput dataMixed bit-width arithmeticWindowing modules Saturate arithmetic Saturati<strong>on</strong> logicC<strong>on</strong>trolcodeEntropy decoding Code flow data dependent Bit manipulati<strong>on</strong> operati<strong>on</strong>sE.g. Huffman, Run length Input data treated unsigned Unsigned operati<strong>on</strong>sBit stream processing Bit stream operati<strong>on</strong>s Compact code sizeMix ofc<strong>on</strong>trol andMAC3 | P a g eTrans<strong>for</strong>m modules MAC, MSU operati<strong>on</strong>s DSP instructi<strong>on</strong>sE.g. FFT, MLT, Filter bank Operati<strong>on</strong>s <strong>on</strong> twiddles Packed data processingTable 2 – <str<strong>on</strong>g>Audio</str<strong>on</strong>g> processing modules and their processor requirements <strong>for</strong> efficient processingFrom the table, the processor requirements <strong>for</strong> audio processing can be summarized as high precisi<strong>on</strong>MAC, DSP instructi<strong>on</strong>s, SIMD capability, mixed bit-width arithmetic, packed data processing andsaturated arithmetic.<strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong>In this secti<strong>on</strong>, we will explore the features of the <strong>Cortex</strong>-<strong>M4</strong>, the latest processor core from<strong>ARM</strong>. The <strong>Cortex</strong>-<strong>M4</strong> core, in the <strong>Cortex</strong>-M series of microc<strong>on</strong>trollers, is a successor to the muchsuccessful <strong>Cortex</strong>-M3 processor. Inheriting all the features of <strong>Cortex</strong>-M3, like high code densityadvantage due to Thumb®-2, <strong>Cortex</strong>-<strong>M4</strong> scores over other microc<strong>on</strong>trollers with new features additi<strong>on</strong>slike DSP instructi<strong>on</strong> set and floating point unit (FPU). The <strong>Cortex</strong>-<strong>M4</strong> features al<strong>on</strong>g with sampleinstructi<strong>on</strong>s and corresp<strong>on</strong>ding cycles are listed in Table 3.Features: In audio processing, since the bit-width of operands depends <strong>on</strong> factors like filter stabilityand input data precisi<strong>on</strong>, mixed bit-width arithmetic operati<strong>on</strong>s which allow operands of different bit-


ITTIAM Systems – White paper – <strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong>widths become essential. The packed data operati<strong>on</strong>s allow operands to be packed in registersalleviating any register crunch in kernel loops of complex modules like FFT. DSP instructi<strong>on</strong>s with SIMDcapability perfectly exploits the repetitive nature of signal processing modules. The high precisi<strong>on</strong>multiply and accumulate (MAC) unit takes just 1 cycle <strong>for</strong> multiplying up to 32 bit data with another 32bit data giving 64 bit accumulated result. These features of <strong>Cortex</strong>-<strong>M4</strong> are advantageous <strong>for</strong> audioprocessing, where high precisi<strong>on</strong> is required to maintain ‘perceptually transparent’ audio quality.<strong>ARM</strong>® <strong>Cortex</strong>-<strong>M4</strong> Processor featuresProcessor Feature Cycles Instructi<strong>on</strong>s Explanati<strong>on</strong>High precisi<strong>on</strong> MAC unit 1 SMULL, SMLALDSP Instructi<strong>on</strong>s 1 SMUAD, SMLAD64 bit result from 32 bit multiplied with 32bit data, with or without accumulati<strong>on</strong>32 bit result from additi<strong>on</strong> of dual packed 16bit multiply, with or without accumulati<strong>on</strong>Mixed bit-widtharithmetic1SMULWB,SWLAWT32 bit result from 32 bit multiply with packed16 bit data, with or without accumulati<strong>on</strong>Packed data processing 1 SMULBB, SMLATB32 bit result from packed 16 bit multiply, withor without accumulati<strong>on</strong>SIMD capability 1 SHASX, SADD16 Dual 16 bit arithmetic operati<strong>on</strong>sSaturated arithmetic 1 QADD, SSAT Additi<strong>on</strong> with saturati<strong>on</strong>, Signed SaturateTable 3 – <strong>Cortex</strong>-<strong>M4</strong> features and example instructi<strong>on</strong>s and cyclesWith new features like DSP instructi<strong>on</strong>s with SIMD capability, high precisi<strong>on</strong> MAC unit, <strong>Cortex</strong>-<strong>M4</strong> is amicroc<strong>on</strong>troller with DSP capabilities, a Digital Signal C<strong>on</strong>troller (DSC). Traditi<strong>on</strong>ally audio processing isimplemented <strong>on</strong> a Digital Signal Processor (DSP) while General Purpose Processor (GPP) takes care ofthe system features. With the introducti<strong>on</strong> of <strong>M4</strong>, audio processing can be efficiently implemented <strong>on</strong><strong>Cortex</strong>-<strong>M4</strong> since it is ideally suited <strong>for</strong> audio processing applicati<strong>on</strong>, like automotive audio soluti<strong>on</strong>.Ittiam <str<strong>on</strong>g>Audio</str<strong>on</strong>g> Soluti<strong>on</strong> <strong>on</strong> <strong>Cortex</strong>-<strong>M4</strong>Ittiam’s audio soluti<strong>on</strong> <strong>on</strong> <strong>Cortex</strong>-<strong>M4</strong> processor comprises of low power audio codecs and highquality post processing comp<strong>on</strong>ents. The typical per<strong>for</strong>mance <strong>for</strong> few of the audio comp<strong>on</strong>ents <strong>on</strong><strong>Cortex</strong>-<strong>M4</strong> processor is given in Table 4.The audio codecs have been optimized by making the best use of the DSP instructi<strong>on</strong>s and SIMDcapability that <strong>Cortex</strong>-<strong>M4</strong> processor offers. The per<strong>for</strong>mance optimized audio soluti<strong>on</strong> enables efficientuse of processor MHz resulting in a significant amount of free processor time. This would enable theprocessor to be used <strong>for</strong> other applicati<strong>on</strong>s al<strong>on</strong>gside. Similarly, the post processing comp<strong>on</strong>ents achievehigh quality without overhead in per<strong>for</strong>mance by efficiently utilizing the high precisi<strong>on</strong> single cycle MAC4 | P a g e


ITTIAM Systems – White paper – <strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong>unit. These features of <strong>Cortex</strong>-<strong>M4</strong> together with high code density due to Thumb-2, enables Ittiam’saudio soluti<strong>on</strong> to achieve high quality at low power.ITTIAM <str<strong>on</strong>g>Audio</str<strong>on</strong>g> Soluti<strong>on</strong>Typical MHz <strong>on</strong><strong>Cortex</strong>-<strong>M4</strong><str<strong>on</strong>g>Audio</str<strong>on</strong>g> DecodersMP3 DecodeAAC DecodeWMA Decode7 – 10 MHz<str<strong>on</strong>g>Audio</str<strong>on</strong>g> Encoder MP3 Encode 12 – 15 MHzLoudness Compensati<strong>on</strong><str<strong>on</strong>g>Audio</str<strong>on</strong>g> Post <str<strong>on</strong>g>Processing</str<strong>on</strong>g>Parametric Equalizer (5 bands)Dynamic Range C<strong>on</strong>trol4 – 12 MHzChannel FaderTable 4: Processor resource utilizati<strong>on</strong> <strong>for</strong> audio codecs and post processing <strong>on</strong> <strong>Cortex</strong>-<strong>M4</strong>All the above per<strong>for</strong>mance numbers are assuming zero-wait state memory c<strong>on</strong>figurati<strong>on</strong>. Theper<strong>for</strong>mance <strong>on</strong> hardware will vary with actual memory c<strong>on</strong>figurati<strong>on</strong>. These typical per<strong>for</strong>mancenumbers are <strong>for</strong> stereo mode and 44.1 kHz sampling frequency c<strong>on</strong>figurati<strong>on</strong>.SummaryIn this whitepaper, we discussed about a typical In-Car audio infotainment applicati<strong>on</strong>, a few keysystems and their requirements. Later, we analyzed the processor requirements <strong>for</strong> per<strong>for</strong>ming efficientaudio processing. The features and capabilities of <strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong> processor <strong>for</strong> audio processing wereexplored. We saw that <strong>Cortex</strong>-<strong>M4</strong> is well suited <strong>for</strong> audio processing given its low power and superiorper<strong>for</strong>mance.5 | P a g e


ITTIAM Systems – White paper – <strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong>References:1. The Future of <str<strong>on</strong>g>Audio</str<strong>on</strong>g> Entertainment in the Car – part 1, part 22. <strong>ARM</strong> <strong>Cortex</strong>-<strong>M4</strong> datasheet, literature and other marketing collateralsDisclaimer: This white paper is <strong>for</strong> in<strong>for</strong>mati<strong>on</strong>al purposes <strong>on</strong>ly. Ittiam makes no warranties, express, implied orstatutory, as to the in<strong>for</strong>mati<strong>on</strong> in this document. The in<strong>for</strong>mati<strong>on</strong> c<strong>on</strong>tained herein represents the current view ofIttiam Systems <strong>on</strong> the issues discussed as of the date of publicati<strong>on</strong>. It should not be interpreted to be acommitment from Ittiam, and Ittiam cannot guarantee the accuracy of any in<strong>for</strong>mati<strong>on</strong> presented after the date ofpublicati<strong>on</strong>.Complying with all applicable copyright laws is the resp<strong>on</strong>sibility of the user. Without limiting the rights undercopyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, ortransmitted in any <strong>for</strong>m or by any means (electr<strong>on</strong>ic, mechanical, photocopying, recording, or otherwise), or <strong>for</strong>any purpose, without the express written permissi<strong>on</strong> of Ittiam Systems.Ittiam Systems may have patents, patent applicati<strong>on</strong>s, trademarks, copyrights, or other intellectual property rightscovering subject matter in this document. Except as expressly provided in any written license agreement fromIttiam Systems, the furnishing of this document does not give you any license to these patents, trademarks,copyrights, or other intellectual property.© 2010 Ittiam Systems Pvt. Ltd. All rights reserved.All other copyrights, brands, trademarks and product names are the property of their respective holders.6 | P a g e

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!