Fast Spectrograph Corrections on Programmable Logic
Abstract
Denne masteroppgaven er skrevet som en del av HYPer-spectral Smallsat for ocean Observation(HYPSO) prosjektet på NTNU. Målet til HYPSO prosjektet er å sende opp flere såkalte CubeSatstil jordas omløpsbane. CubeSat’ene blir så brukt for oseanografisk observasjon. CubeSat’enehar dimensjonene 10 cm x 20 cm x 30 cm. Den lille formfaktoren gjør at maskinvaren somkan plasseres i satellittene er begrenset. Dermed må all program og maskinvare som brukes påsatellittene være tilpasset disse begrensningene.
Problemstillingen denne masteroppgaven tar for seg er korreksjon av feilregistrering og avvik somblir tatt opp av den hyperspektrale imageren som er på satellittene. Det er spesifikt korreksjonenav de såkalte smile og keystone effektene som blir fokusert på. I forkant av denne masteroppgavenble det gjennomført en gjennomførbarhetsstudie, der en programvareløsning for korreksjonene bleutviklet. Dessverre ble korreksjonene ved hjelp av denne løsningen ikke utført raskt nok. Noe somledet til denne masteroppgaven, som har som mål å implementere en løsning på programmerbarlogikk.
Korreksjonene er delt inn i to hovedfunksjoner. Denne første funksjonen generer korreksjonsmatrisen,noe som blir gjort i programvare som ble utviklet i gjennomførbarhetsstudien. Dennedelen vil dermed ikke være en del av arbeidet gjort i masteroppgaven. Den andre funksjonengjør de faktiske korrigeringene. Korrigeringen er gjort ved å multiplisere korreksjonsmatrisenmed en ukorrigert hyperspektralramme.
Korreksjonene på programmerbar logikk er gjort ved å sende data, som trengs for korreksjonene,fra systemminne til programmerbar logikk. Dette blir gjort ved hjelp av en AXI DMA. På denprogrammerbare logikken blir så selve korreksjonen utført og sendt tilbake til systemminne, viaAXI DMA’en. Den endelige løsningen har kun en tråd, og er tregere enn programvareløsningen.Grunnen for dette er begrenset data overføringshastighet. This master thesis if written as part of the larger project that is the HYPer-spectral Smallsat forocean Observation (HYPSO) mission at NTNU. The goal of the Hypso mission is to eventuallylaunch several CubeSats into earths orbit. The CubeSats are then used for oceanographicobservation. The CubeSats in question have the dimensions 10 cm x 20 cm x 30 cm. Thissmall form factor limits the amount of hardware which can be put onto these satellites. Meaningsoftware and hardware used on these CubeSats has to be designed around these limitations.
The problem this thesis focuses on is the correction of misregistrations and aberrations recordedby the hyperspectral imager, that is on-board the CubeSats. Specifically the correction of thesmile and keystone effects are focused on. Prior to this thesis a feasibility study was conducted,in which a software solution for corrections was developed. This software solution however wasnot able to do the corrections as fast as desired, thus leading to this thesis, which aims to dothe corrections on programmable logic.
The corrections are separated into two main functions. The first one is the generation of thecorrection matrix. This is done in software developed during the feasibility study, and will notbe part of the work done in this thesis. The second function does the actual corrections. Thecorrections are done by multiplying the correction matrix with an uncorrected hyperspectralframe.
The corrections on programmable logic are done by transferring the correction data from theon-board memory, with the help of the AXI DMA, to the programmable logic. Which thendoes the corrections and sends the corrected data back to memory, via the AXI DMA. The finalsolution contains only one thread and performance worse than the software solution. The worseperformance is a result of data transfer speeds.