At sætte deltagerne i stand til at implementere DSP algoritme på en digitalsignalprocessor, som virker i realtid.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Beskrive indretning og design af moderne digitale signalprocessorer, RISC og superscalar processorer, samt at angive parametre for valg af et hardware platform til implementering af en given signalbehandlingsalgoritme.
Måle og sammenligne performance af forskellige implementeringer af en digital signalbehandlingsalgoritme (profiling and benchmarking).
Programmere en moderne digital signalbehandlingsprocessor i C og bruge dens ydre hardware enheder som f.eks. serielt interface, direct memory access og timer etc. samt eksterne enheder som f. eks. audio codec.
Optimere implementeringen af FIR og IIR filtre vha. cirkulære buffere, loop unrolling og software pipelining.
Implementere multithreaded (parallelle) applikationer i C vha. hardware og software interrupts, og program threads.
Med egne ord beskrive de mest almindelige mekanismer for kommunikation mellem processer og benytte mutual inclusion objects og semaforer til synkronisering mellem parallelle threads. Forklare farer som deadlocks.
Udregne en algoritmes beregningskompleksitet og bestemme fejlstørrelsen ved afrunding og trunkering til en given bit-størrelse.
Processere streamed data, enten sample for sample eller i blokke gennem double buffering. Udnytte hardware ressourcer til hurtig kommunikation og benytte Fast Fourier Transform til at implementere hurtig foldning
Implementere et system med et adaptivt filter og med egne ord give eksempler på brugen af adaptive filtre til eksempelvis system identifikation, echo cancelling og støjreduktion
Implementere en større signalbehandlingsapplikation i sandtid der benytter flere signalbehandlingsteknikker som eksempelvis en MPEG afspiller, ADPCM optager, channel equalizer eller musik synthesizer.
Planlægge og fuldføre et projekt. Finde og læse videnskabelige artikler og implementere signalbehandlingsalgoritmer beskrevet i disse artikler.
Kursusindhold:
Kursets består af forelæsninger, øvelser og projektarbejde. I starten af semestret vil et antal øvelser introducere de studerende til hardware og software værktøjer og grundlæggende begreber der bruges i kurset. Herefter arbejder de studerende selvstændigt på projekter, som afsluttes ved semesterets afslutning. Opgaverne er baseret på reelle applikationer som, for eksempel, MPEG afspiller og ADPCM lydoptager. Algoritmerne skal først testes i Matlab, og så skal de implementeres på en digitalsignalprocessor. I slutningen af semestret fremlægger hver gruppe sit projekt til de andre studerende og til vejlederne. Præsentationerne sammen med rapporterne bruges til bedømmelse.