Difference between revisions of "LU-DSP-b16"

From DiLab
Jump to: navigation, search
(Prakstiskie uzdevumi)
(Prakstiskie uzdevumi)
Line 149: Line 149:
** Izmantojot signālu y, atdalīt no tā troksni, izmantojot (a) Moving Average, (b) Gausa un (c) Kalmana filtrus. Salīdzināt visu filtru rezultātus, izmantojot vidējās kvadrātiskās kļūdas kritēriju (ja tiek izmantots cits kritērijs, tad pamatot tā izvēli). Izdarīt secinājumus.
** Izmantojot signālu y, atdalīt no tā troksni, izmantojot (a) Moving Average, (b) Gausa un (c) Kalmana filtrus. Salīdzināt visu filtru rezultātus, izmantojot vidējās kvadrātiskās kļūdas kritēriju (ja tiek izmantots cits kritērijs, tad pamatot tā izvēli). Izdarīt secinājumus.
* '''Uzd-7''': Izveidot ADC (analog-to-digital signālu pārveidotājs) Octave modeli. Ieejas analogais testa signāls [http://failiem.lv/g/lhnxysu šāds]. Grafiski attēlot ADC ieejas un izejas signālus vienā attēlā pie parametriem: (a) diskretizācijas frekvence (sampling frequency) Fs = 5 Hz un 4 bitu kvantēšana (ADC kvantēšanas diapazons ir -2 līdz 2 ), (b) Fs = 25 Hz, 10 bitu kvantēšana. Iesūtīt grafikus, aprakstu un secinājumus pdf dokumentā.
* '''Uzd-7''': Izveidot ADC (analog-to-digital signālu pārveidotājs) Octave modeli. Ieejas analogais testa signāls [http://failiem.lv/g/lhnxysu šāds]. Grafiski attēlot ADC ieejas un izejas signālus vienā attēlā pie parametriem: (a) diskretizācijas frekvence (sampling frequency) Fs = 5 Hz un 4 bitu kvantēšana (ADC kvantēšanas diapazons ir -2 līdz 2 ), (b) Fs = 25 Hz, 10 bitu kvantēšana. Iesūtīt grafikus, aprakstu un secinājumus pdf dokumentā.
* '''Uzd-8''': 1) Doti punkti, izrēķināt punktu vērtības starp šiem punktiem, 2) veikt filtrāciju ar dažādām impulsa reakcijām h[n], kad tā ir 1, [-1 1], Gausa funkcija, 1-Gausa funkcija tml.
* '''Uzd-8''': 1) Doti punkti x=[1 2 3 4 5 6 7] un y=[0.341627 0.662821 0.534425 0.270544 0.026933 0.937675 0.183618], izrēķināt/interpolēt punktu vērtības starp šiem punktiem, 2) veikt filtrāciju ar dažādām impulsa reakcijām h[n], kad tā ir 1, [-1 1], Gausa funkcija, 1-Gausa funkcija tml.


== Kursa materiāli ==
== Kursa materiāli ==

Revision as of 14:33, 4 February 2016

Digitālā (ciparu) signālu apstrāde

LU DF bakalauru kurss.

  • Pasniedzējs Kaspars Sudars [mansuzvārds@edi.lv].

SVARĪGI

Ar šo semestri LU DF nebūs iespējams izlikt kursā atzīmi, ja nebūs aizpildīta kursa vērtējuma aptauja, kas pieejama LUIS sistēmā. Tāpēc visiem studentiem lūdzu to savlaicīgi izdarīt.

Mērķi

  • Iepazīties ar Digitālās Signālu Apstrādes pielietojumiem un principiem

Motivācija

"Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!" - Steve Smith, autors "DSP Guide"

Mājas un citi iesniedzamie darbi

  • Iesniegšanas termiņa laiks ir 30 minūtes pirms nākamās lekcijas sākumam, ja netiek noteikts cits termiņš.
  • Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50% pirmo septiņu dienu laikā pēc termiņa, un vēl par 50% plus 10% par katru nokavēto dienu septiņas vai vairāk dienas pēc termiņa.
  • Darbi iesniedzami elektroniski, pa epastu pasniedzējam.
  • E-pasta Subj. ir sekojošs: "DSP MD1 Vards Uzvards" - piemērs pirmajam mājasdarbam. Vārds uzvārds rakstāmi latīņu burtiem - bez garumzīmēm un tml. (failu sistēmu saderībai).
  • Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: DSP_MD2_Vards_Uzvards.pdf
  • Iesniedzamie projektu faili arhivējami ZIP formātā, sekojoši: DSP_MD2_Vards_Uzvards.zip Atspiežot šo failu tam jārada direktorija ar tādu pašu nosaukumu, kur atrodas visi faili.
  • Lūdzu reģistrēties man ēpastā uz lekciju.

Vērtējums kursā

Kursa galējais vērtējums sastāv no sekojošām komponentēm:

  • 10% - dalība lekcijās un diskusijās
  • 20% - mājas darbi, praktiskie darbi un testi
  • 20+20% - divi kontroldarbi semestra vidū
  • 30% - rakstisks gala eksāmens
  • Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā
  • Atzīmes uzlabošanai iespējams papildus rakstīt eseju par tēmu, kas jāsaskaņo ar pasniedzēju.

Kalendārs

Nedēļas datumi Kursa saturs
02.02.2016. - 07.02.2016. Reģistrācijas nedēļa
08.02.2016. - 14.02.2016. DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi. DSPGuide grāmatā 1. nodaļa.


M-valoda darbam ar MATLAB un OCTAVE datu apstrādes sistēmām. Matlab programmatūra. Octave programmatūra.
Octave grafiskā redaktora palaišana Ubuntu terminālī: octave --force-gui
Piezīme: man kā pasniedzējam vārdi "Matlab" un "Octave" ir gandrīz kā sinonīmi (ja lekcijās tie tiek jaukti).
Principā: viena no galvenajām rekomendācijām, risinot reālistiskus ar DSP saistītus uzdevumus, ir neaizmirst par OpenCV iespējām.
Principā: mūsdienās signālu atpazīšanas problēmu (objektu atpazīšanu attēlos vai runas/skaņas atpazīšanu) risina ar mākslīgajiem neironu tīkliem (Google keyword: Deep learning)

15.02.2016. - 21.02.2016. Analogais-ciparu pārveidotājs (ADC jeb ACP modelis) jeb signālu mērīšana (ciparu signāls = signālu diskretizācija + kvantēšana).


Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).


Ievads MATLAB un OCTAVE datu apstrādes sistēmās: M-valodas Slaidi 1 M-valodas Slaidi 2
1. wav fails
2. wav fails
DSP uzdevumi

22.02.2016. - 28.02.2016. Svarīgāko Octave komandu apskats (komandu pilna bāze, ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.

ADC darbības modelis Octave vidē. Slaidi.

Statistika, varbūtība, trokšņi un gadījumsignāli. DSPGuide grāmatā 1-3. nodaļa.

29.02.2016. - 06.03.2016. Konvolūcija step-by-step 1, Octave implementācija


Sintēze un dekompozīcija 1
Sintēze un dekompozīcija 2
Pietiekama diskretizācijas frekvence, uzklāšanās.



07.03.2016. - 13.03.2016. Konvolūcija step-by-step 2, Octave implementācija
14.03.2016. - 20.03.2016. Uzd. "Doti punkti, izrēķināt punktu vērtības starp šiem punktiem", veikt filtrāciju ar dažādām impulsa reakcijām h[n], kad tā ir 1, [-1 1], Gausa funkcija, 1-Gausa funkcija tml.
21.03.2016. - 28.03.2016. Lieldienu brīvdienas
29.03.2016. - 03.04.2016.
04.04.2016. - 10.04.2016. Vidus semestra kontroldarbs. 1. - 7. nodaļas no DSPGuide grāmatas un lekcijām.



Gadījuma skaitļu masīvs 1x2000

11.04.2016. - 17.04.2016. DFT step-by-step. Signālu filtrācija frekvenču apgabalā. Praktiskā implementācija Octave.
18.04.2016. - 24.04.2016. Diskrētā Furjē transformācija DFT step-by-step


Diskretizācija (sampling), Imperial College slaidi Signālu atjaunošana un filtrācija ar sinc(n) funkciju.

25.04.2016. - 01.05.2016. Attēlu apstrāde un atslēgas punktu izvilkšana ar ORB. Praktiskā implementācija Octave.
02.05.2016. - 08.05.2016. Diskrētā Furjē transformācija
09.05.2016. - 15.05.2016. Attēlu apstrāde un atslēgas punktu izvilkšana ar ORB. Praktiskā implementācija Octave.
16.05.2016. - 22.05.2016. Vidus semestra kontroldarbs Nr. 2. Visas nodaļas no DSPGuide grāmatas un lekcijām.


Testa signāls

23.05.2016. - 29.05.2016. Vielas atkārtojums.
30.05.2016. - 05.06.2016. Eksāmens Visu MD termiņš
11.06.2015 14:30 alternatīvs eksāmens tiem, kas nerakstīja iepriekš, ar 80% kā maksimālo rezultātu kavējuma dēļ. Kursa rezultātu paziņošana.

Prakstiskie uzdevumi

  • Uzd-1: Iepazīties ar Octave funkciju rand() un ģenerēt nejaušus gadījuma skaitļus (vismaz 80000) un izveidot tiem histogrammu (gadījuma procesa empīrisko varbūtību sadalījumu) grafikus gadījumos, kad 1) pastāv viens gadījuma skaitļu avots (to Octave simulē rand funkcija), 2) gadījuma process ir summa no 2 gadījuma skaitļu avotiem, 3) gadījuma process ir summa no 4 gadījuma skaitļu avotiem. Iesūtīt prasītos histogrammu grafikus gadījuma skaitļu avotiem un secinājumus pdf dokumentā. Programmēšanas vide Octave. (Vecā versija: Ģenerēt nejaušus skaitļus (vismaz 80000) un histogrammas sekojošām funkcijām: RND, RND+RND, RND+RND+RND+RND. Izdarīt secinājumus par histogrammām. Iesūtīt grafikus un secinājumus pdf dokumentā. Programmēšanas vide Octave.)
  • Uzd-2: Izveidot simulatorus: (A) Monētas krišanai pa sazarotu celiņu (tas sakrīt ar šādu varbūtību trīsstūri ar 5 pakāpēm), kur varbūtība monētai aiziet pa kreiso zaru un pa labo zaru: 1)0.5, 0.5 un 2) 0.3 un 0.7. Secinājumi. (B) Objekta X diskrētai random walk, kur varbūtība iet vienu diskrēto lielumu uz priekšu vai atpakaļ ir 0.5 un 0.5, varbūtība iet vienu diskrēto lielumu pa kreisi, pa labi ir 0.5 un 0.5, attēlot grafiski šādas random walk realizācijas, kad gājienu skaits N=10, 100, 1000. Secinājumi.
  • Uzd-3: Audio faila konvolūcija ar gausa funkciju, secinājumi.
  • Uzd-4: DFT matricu formā, kods, ilustratīvs piemērs, secinājumi.
  • Uzd-5: Implementēt Kalmana filtru Octave vidē. Ģenerēt testa signālu ar troksni. Filtrēt to ar Kalmana filtru. Mainīt Kalman Gain un veikt secinājumus.
  • Uzd-6: Ģenerēt testa signālu y:
    • N=1000;
    • sigmau=1.8;
    • x=linspace(0,1,N)*.5;
    • y=x+sigmau*randn(1,N);
    • Izmantojot signālu y, atdalīt no tā troksni, izmantojot (a) Moving Average, (b) Gausa un (c) Kalmana filtrus. Salīdzināt visu filtru rezultātus, izmantojot vidējās kvadrātiskās kļūdas kritēriju (ja tiek izmantots cits kritērijs, tad pamatot tā izvēli). Izdarīt secinājumus.
  • Uzd-7: Izveidot ADC (analog-to-digital signālu pārveidotājs) Octave modeli. Ieejas analogais testa signāls šāds. Grafiski attēlot ADC ieejas un izejas signālus vienā attēlā pie parametriem: (a) diskretizācijas frekvence (sampling frequency) Fs = 5 Hz un 4 bitu kvantēšana (ADC kvantēšanas diapazons ir -2 līdz 2 ), (b) Fs = 25 Hz, 10 bitu kvantēšana. Iesūtīt grafikus, aprakstu un secinājumus pdf dokumentā.
  • Uzd-8: 1) Doti punkti x=[1 2 3 4 5 6 7] un y=[0.341627 0.662821 0.534425 0.270544 0.026933 0.937675 0.183618], izrēķināt/interpolēt punktu vērtības starp šiem punktiem, 2) veikt filtrāciju ar dažādām impulsa reakcijām h[n], kad tā ir 1, [-1 1], Gausa funkcija, 1-Gausa funkcija tml.

Kursa materiāli