Malmö University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Optimising IIR Filters Using ARM NEON
Malmö högskola, Faculty of Technology and Society (TS).
2012 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Abstract [sv]

ARMs processorserie Cortex-A9 har stöd för SIMD-instruktioner med hjälp av NEON MPE. Detta innebär att processorn kan använda sig av vektor-instruktioner som kan utföra operationer på ett flertal element med varje instruktion. Målet med bruk av NEON MPE är att öka prestandan, men då man försöker optimera en speciell IIR-filtertyp som kallas för "biquads" kan man stöta på problem. Problemen med NEON-optimering av "biquads" beror på att endast fem operationer krävs för varje iteration och att behandling av IIR-filter kräver att man behandlar en sampel i taget eftersom varje behandlat sampels värde beror på tidigare behandlade samplar. Rapporten ger en kort beskrivning och genomgång av hur IIR-filter och NEON-optimering fungerar. För att analysera NEON-optimering av biquad-filter skapas fyra olika implementationer av en audioeffekt. De fyra implementationerna jämför prestandan hos flyttalsaritmetik, fixpunkts-aritmetik och NEON-optimering samt en version som implementerar både fixpunktsaritmetik och NEON-optimering. Problemen med optimering av biquad-filter med hjälp av NEON-instruktioner löses genom parallell behandling av ljudkanalerna. Eftersom kanalerna är självständiga kan man fördubbla prestanda genom att utföra varje operation på såväl höger- som vänsterkanal. Vidare prestandaförbättring ges även då effektiviteten hos minnesoperationer förbättras och med hjälp av fixpunkts-behandling. Resultaten visar att fixpunktsversionen som använder sig av NEON-instruktioner är snabbast, men flyttalsversionen med NEON-instruktioner är bara marginellt långsammare och dessutom enklare att implementera. Användandet av NEON-instruktioner förbättrar prestandan med mellan 1,7-2,8 gånger i de fall som testas.

Abstract [en]

The ARM Cortex-A9 CPU has a SIMD extension called NEON MPE. It allows for vector instructions that can perform operations on multiple elements in a single instruction. Whilst this usually improves performance, certain IIR filters called biquads pose problems as only five operations are necessary per sample and every iteration is dependent on the result of the previous result. A brief overview is given for IIR filters, the NEON extension and fixed-point processing. In order to analyse optimisation of biquad filters, an audio effect with four different implementations is produced, comparing results with/without fixed-point processing and with/without NEON optimisation. The problems introduced by the use of biquad filters are solved by running multiple channels in parallel. As the audio channels are independent, two samples can be calculated in parallel, which approximately doubles peformance. Further performance improvement is provided by improved memory operation efficiency and the use of fixed-point processing. The results show that the fixed-point NEON implementation is the fastest, however the floating-point NEON implementation is marginally slower but simpler to write. The use of NEON MPE improves performance by between 1.7 to 2.8 times in this case.

Place, publisher, year, edition, pages
Malmö högskola/Teknik och samhälle , 2012. , p. 21
Keywords [en]
ARM, NEON, SIMD, IIR, biquad
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:mau:diva-20110Local ID: 13691OAI: oai:DiVA.org:mau-20110DiVA, id: diva2:1479978
Educational program
TS Högskoleingenjörsutbildning i data och telekom - Teknik, ekonomi och ledarskap, TELMah
Available from: 2020-10-27 Created: 2020-10-27 Last updated: 2022-06-27Bibliographically approved

Open Access in DiVA

fulltext(407 kB)594 downloads
File information
File name FULLTEXT01.pdfFile size 407 kBChecksum SHA-512
fee69f4c5cfac506b76cd2d4c1d2544bb655bd384085bae1aabbf142214acd90ee7661a66dd2d68da6dadcace50d32ceb108dcd6a4d192f407e80bbcf2d9d101
Type fulltextMimetype application/pdf

By organisation
Faculty of Technology and Society (TS)
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar
Total: 606 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 1232 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf