Utskrift från Malmö högskola - mah.se
Utskrift från Malmö högskola - mah.se
| Projekt Regnbåge |
|
| Andersson, Henrik; Olsson, Carl-Philip : Malmö högskola/Teknik och samhälle (2012) |
bachelor STUDENT ESSAY |
| English abstract: | In this thesis we further develop an existing prototype. The prototype is an interactive art project where two plates with water nozzles in the middle are placed at each end of an arc. These two plates can be controlled directly with a joystick. The plates are following the motion of the joystick using servo motors. Our main goal is to allow spectators of the art project to remotely control the plates and the water flow by using their own mobile phone. Our goal has been achieved by creating an Android application that the user can download and install directly on their mobile phone. The application automatically sends information about the angular position of the phone to a server. Then the server forwards this information to a Wifi-module connected to an Arduino board which is moving the servo motors, attached to the plates, in the correct position. This thesis describes the technique used within the project and also illustrates how the design and functionality of the prototype has been changed to make a more striking impression on the audience. |
| Swedish abstract: | Det här examensarbetet bygger vidare på en tidigare konstruerad prototyp, ett interaktivt konstprojekt där två plattor, placerade på en båge, med vattenmunstycken i mitten styrs med en joystick. Plattorna följer joystickens rörelse med hjälp av servomotorer. Målet i detta examensarbete var att koppla åskådarens smarta mobiltelefon till konstprojektet. Åskådaren ska kunna styra konstprojektet genom att vinkla sin mobiltelefon. Även vattenflödet ska kunna kontrolleras och all interaktion ska ske via trådlös kommunikation. Målet har uppnåtts genom att användaren installerar en applikation som skapats för operativsystemet Android. Applikationen skickar information om mobiltelefonens aktuella vinkelposition till en server via ett trådlöst nätverk. Servern skickar i sin tur vidare denna information till en Wifi-modul kopplad på ett arduinokort som ställer in plattornas servomotorer i rätt läge. Rapporten beskriver hur tekniken för att nå målet fungerar och illustrerar även hur prototypens design och funktionalitet har förändrats för att få ett mer effektfullt intryck. |
Examensarbete Project Rainbow.pdf
(2.475Mb)
| Optimising IIR Filters Using ARM NEON |
|
| Bentmar Holgersson, Sebastian : Malmö högskola/Teknik och samhälle (2012) |
bachelor STUDENT ESSAY |
| English abstract: | 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. |
| Swedish abstract: | 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. |