Kurs PM HT19

Spektrala Transformer

Mycket av den mediateknologi som vi omger oss med dagligen existerar tack vare de senaste decenniernas snabba elektronikutveckling, som gjort det möjligt att utföra olika typer av avancerad signalbehandling i realtid - inte bara i datorer, men även inbyggt i konsumentprodukter. Exempel på detta är olika kompressions- och överföringsstandarder för ljud, bilder och video - JPEG, MPEG, MP3, GSM. Andra områden av mediateknologin där signalbehandling spelar en viktig roll är inom talteknologi (vid igenkänning och syntes av tal), musikteknologi (ljudsyntes och ljudbearbetning), samt inom bildbehandling.

Kursmål

Efter genomgången kurs ska deltagarna kunna

  • analysera ljudsignaler med hjälp av spektrum/spektrogram och redogöra för samband mellan spektrum, analysfönsterlängd och upplösning i tid- och frekvensdomän.
  • förklara och beräkna konsekvenserna av sampling och kvantisering av analoga signaler.
    \item beskriva signaler matematiskt i termer av komplexa svängningar/fasvektorer, samt utnyttja fourierserier för att dela upp periodiska signaler.
  • analysera enkla linjära system, samt beräkna olika egenskaper hos dessa såsom filterekvation, överförinsgsfunktion, pol- och nollställeskonfigurationer, amplitudsvar och impulssvar (samt för tvåpolsresonatorer även centrumfrekvens och bandbredd), och relatera dessa till varandra.
  • redogöra för och tillämpa faltning av signaler i en och två dimensioner.
  • redogöra för funktion och användningsområde hos den diskreta fouriertransformen, och numeriskt beräkna denna, samt redogöra för FFT-algoritmens princip och dess beräkningsegenskaper.
  • redogöra för grundläggande principer och algoritmer vid filtrering och spektralbaserad komprimering av bilder.
  • implementera filtrering och spektral behandling av verkliga signaler (ljud/bilder) 
  • behärska Python/Nympy för allmänna beräkningar och visualisering, och speciellt filtrering och spektral behandling av ljud och bilder.

Kursinformation och adminisration

Löpande kursinformation & resultatrapportering sker på  Canvas. Här bokar man även tid för redovisningar mm, och ställer frågor om labbar, räkneuppgifter eller allmänt om kursen. Lärarna försöker svara så fort de kan.

Statisk kursinformation finns på KTH Social. Här finns länkar till kursmaterial, extentor, demonstrationer & föreläsnings-slides.

Kursupplägg

Aktiviteterna i kursen består av föreläsningar, övningar, laborationer, en programmeringsuppgift samt tentamen. De betygsgrundande momenten är laborationer, programmeringsuppgift och tentamen.

Föreläsningar

Åtta föreläsningstillfällen (á 2 x 45 min.) syftar till att ge teoretiska grundkunskaper. Föreläsningarna ges av kursansvarig om inte annat anges. Se separat schema på kurshemsidan för föreläsningsinnehåll.

Räkneövningar med hemtal

Sex räkneövningar (2 x 45 min.) ska ge praktisk träning och handledning i problemlösning. Inför räkneövning 2-6 kommer ett hemtal att delas ut, som studenten ska lösa egenhändigt efter bästa förmåga. Övningen inleds sedan med att lösningarna samlas in och delas ut till andra studenter, som får i uppgift att rätta. Fyra lösta hemtal ger en (1) bonuspoäng på tentan.  

Labintro

En förberedande övning i datorsal syftar till att ge en introduktion till den miljö som kommer används i laborationerna (Colab Python/Numpy). Övningen är frivillig.

Laborationer och labpoäng

Alla laborationer sker i grupper om två. Viktigt att båda i gruppen har ungefär samma ambitionsnivå när det gäller betyg (se nedan). I tid redovisade laborationer ger bonuspoäng på tentan, se nedan. Labpek och övrigt material till laborationerna hämtas från kurshemsidan.

Det finns tre laborationer. Labbarna ger betyg utifrån uppnådda labpoäng, som beräknas enligt följande: Varje laboration har en obligatorsk del och en frivillig del - de ger en labpoäng styck. Maximalt kan man alltså få sex labpoäng. För godkänt krävs att man gör minst den obligatoriska delen av tre laborationer (tre labpoäng). Labpoängen motsvarar ett betyg på labkursen enligt följande skala: 3 poäng = D, 4 poäng C, 5 poäng B, 6 poäng A. Slutbetyget ges genom sammanvägning av labbetyg och tentabetyg (i förhållandet lab 3: ten 4,5).

Programmeringsuppgift

För godkänt på labkursen krävs även en programmeringsuppgift. Denna uppgift utföres i grupp om två och redovisas vid ett seminarium genom en muntlig presentation i slutet av kursen. Uppgiften väljs fritt ur den problembuffé som finns tillgänglig på kurshemsidan. Egna förslag på programmeringsuppgift kan också godtas efter diskussion med kursledningen.

Labtider och redovisning

Laborationerna görs en per vecka enligt nedan. Redovisning senast på fredagen repsektive vecka. Det finns två schemalagda 3-timmars labpass varje vecka, som är bemannade med assistenter: ett i början av veckan och ett på fredagen. Fredagen är huvudsakligen för redovisning (men det går att redovisa även i början av veckan). Innan redovisning ska laborationen laddas upp via Canvas (spara som ipynb). Observera att man kan behöva arbeta med labbarna även utanför schemalagd tid.

Redovisning av alla labbar senast sista dagen i resp. labvecka ger en bonuspoäng till tentamen. 

Sista labveckan är vikt åt hjälp programmeringsuppgiften. 

v 46: Lab A

v 47: Lab B

v 48: Lab C

v 49: Programmeringsuppgift

 

Tentamen och bonuspoäng

Den skriftliga tentamen innehåller fem uppgifter, där varje uppgift kan ge 4 poäng, dvs. maximalt 20 poäng (+ 3 bonuspoäng, se nedan). Tillåtna hjälpmedel är formelblad (bifogas med tentan) samt räknare.

Genom att utföra hemtal och redovisa sina laborationer i tid finns möjlighet till totalt 3 bonuspoäng på tentan enligt följande:

  • 4 av 5 hemtal räknade till respektive övninstillfälle: 1 p
  • tre laborationer redovisade under resp. labvecka: 1 p
  • programmeringsuppgift redovisad senast sista redovisningseminarium före tentan: 1 p

Bonuspoängen är giltig t.o.m. första omtentan.

Anmälan till tentamen

Enligt KTH's tentamensregler råder obligatorisk föranmälan till tentamen. Man anmäler sig till tentan via ''Mina Sidor'' på kth.se senast en vecka före tentamen.

Kursutvärderingsenkät

Efter tenamen kommer alla ombedas att fylla i en kursutvärderingsenkät. Länk till denna kommer att postas på kurshemsidan samt även meddelas i samband med tentan.

Komplettering

Den som hamnar under men tillräckligt nära gränsen för godkänt på tentan ges möjlighet att komplettera. Kursledaren avgör gränsen för komplettering liksom hur och när kompletteringsuppgifter ska redovisas. Komplettering kan endast göras för att uppnå godkänt, ej högre betyg.

Kursfordringar

För godkänt på kurs DT1130 krävs

  1. Godkänd laborationskurs (3 hp) (inkluderar programmeringsuppgift) redovisad enligt ovan. Ger betyg A-F.
  2. Godkänd tentamen (4,5 hp). Ger betyg A-F.