Difference between revisions of "LU-DSP-b"

From DiLab
Jump to: navigation, search
(17.02.20)
(25.05.20)
(38 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
[[#Resursi | Resursi]] |  
 
[[#Resursi | Resursi]] |  
 
</big>
 
</big>
[[#{{CURRENTDAY2}}.{{CURRENTMONTH}}.{{CURRENTYEAR}}. | Šodiena... (ja ir lekcija)]]
+
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }}]] :
 +
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }}]]
 +
(ja ir lekcija)
  
 
=Digitālā (ciparu) signālu apstrāde=
 
=Digitālā (ciparu) signālu apstrāde=
Line 40: Line 42:
 
=Kalendārs=
 
=Kalendārs=
  
{| border=1 cellspacing=0 cellpadding=4 style = ""border-color: #ddd;""
+
{| border=1 cellspacing=0 cellpadding=4 style = 'border-color: #ddd;'
 
|-
 
|-
 
! Datums
 
! Datums
 
! Tēma, saturs
 
! Tēma, saturs
 
! Uzdevumi
 
! Uzdevumi
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 03.02.20 ====
 
==== 03.02.20 ====
Line 56: Line 58:
 
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.
 
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
[http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa.
+
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa.
  
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 10.02.20 ====
 
==== 10.02.20 ====
Line 73: Line 75:
 
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.).
 
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.).
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
[http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas.
+
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas.
  
 
|
 
|
 
* '''Uzdots [[#MD1 | MD1]]'''
 
* '''Uzdots [[#MD1 | MD1]]'''
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 17.02.20 ====
 
==== 17.02.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Matlab un Octave'''</big>
+
|<big>'''Lineāras sistēmas un signālu klasifikācija'''</big>
 
|}
 
|}
  
  
Svarīgāko Octave komandu apskats (komandu pilna bāze, ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.
+
Signālu klasifikācija 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.).
 +
 
 +
Apskatam sitēmas f(x)=2*x,  g(x)=x+5 un m(x)=x*x. Pārbaudam vai tās ir lineāras sistēmas.
  
* M-valoda darbam ar OCTAVE datu apstrādes sistēmām. Linux instalēšana: <code>sudo apt install octave</code>
+
'''Lasāmviela un resursi''':
* Octave grafiskā redaktora palaišana Ubuntu terminālī: <code>octave</code>  vai  <code>octave-cli</code>
+
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]
  
 
|
 
|
 
* ''' '''Termiņš''' [[#MD1 | MD1]]'''
 
* ''' '''Termiņš''' [[#MD1 | MD1]]'''
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
 
==== 24.02.20 ====
 
==== 24.02.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Lineāras sistēmas un signālu klasifikācija'''</big>
+
|<big>'''Konvolūcija '''</big>
 
|}
 
|}
  
  
Signālu klasifikācija 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.) [http://failiem.lv/g/fjtyjrs Slaidi].
+
Konvolūcija un tās īpašības
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
[http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]
+
* [http://www.dspguide.com/CH6.PDF 6.nodaļa]
 +
* [http://www.dspguide.com/CH7.PDF 7.nodaļa]
  
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 02.03.20 ====
 
==== 02.03.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Konvolūcija '''</big>
+
|<big>'''Matlab un Octave'''</big>
 
|}
 
|}
  
  
Konvolūcija un tās īpašības
+
Svarīgāko Octave komandu apskats (komandu pilna bāze, ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.
  
'''Reading/Reference''':
+
* M-valoda darbam ar OCTAVE datu apstrādes sistēmām: sudo apt install octave
* [http://www.dspguide.com/CH6.PDF 6.nodaļa]
+
* Octave grafiskā redaktora palaišana Ubuntu terminālī: <code>octave</code>  vai  <code>octave-cli</code>
* [http://www.dspguide.com/CH7.PDF 7.nodaļa]
 
  
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 09.03.20 ====
 
==== 09.03.20 ====
Line 141: Line 144:
 
Vidus semestra '''kontroldarbs KD-1'''.   
 
Vidus semestra '''kontroldarbs KD-1'''.   
 
<br>[http://failiem.lv/u/jdshznk Gadījuma skaitļu masīvs 1x2000]
 
<br>[http://failiem.lv/u/jdshznk Gadījuma skaitļu masīvs 1x2000]
 +
 +
'''Lasāmviela un resursi''':
 +
* 1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.
  
 
|
 
|
 
* '''KD1'''
 
* '''KD1'''
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 16.03.20 ====
 
==== 16.03.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Ievads digitālajos filtros'''</big>
+
|<big>'''Ievads digitālajos filtros, ''Moving average'' filtrs'''</big>
 
|}
 
|}
  
 +
 +
'''LEKCIJAS TIEŠSAISTĒ''' (sīkāk estudiju forumā)
  
 
Digitālie filtri, kustīgā vidējā (moving average) filtrs.
 
Digitālie filtri, kustīgā vidējā (moving average) filtrs.
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.
+
* 14.,15. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.
 +
* [https://qr.ae/pNnblQ What does 50dB sound like?]
  
 
|
 
|
 
* '''Uzdots [[#MD2 | MD2]]'''
 
* '''Uzdots [[#MD2 | MD2]]'''
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 23.03.20 ====
 
==== 23.03.20 ====
Line 178: Line 187:
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 30.03.20 ====
 
==== 30.03.20 ====
Line 189: Line 198:
 
Audio uztvere in apstrāde
 
Audio uztvere in apstrāde
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
[http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]
+
* [http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]
  
 
|
 
|
 
* ''' '''Termiņš''' [[#MD2 | MD2]]'''
 
* ''' '''Termiņš''' [[#MD2 | MD2]]'''
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 20.04.20 ====
 
==== 20.04.20 ====
Line 206: Line 215:
 
Attēlu uztvere un apstrāde
 
Attēlu uztvere un apstrāde
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
[http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]
+
* [http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]
  
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 27.04.20 ====
 
==== 27.04.20 ====
Line 222: Line 231:
 
[[#Furjē_transformācija | Video materiāls]]
 
[[#Furjē_transformācija | Video materiāls]]
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
[http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa]
+
* [http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa]
  
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 04.05.20 ====
 
==== 04.05.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''FIR un IIR'''</big>
+
|<big>''''Brīvdiena''''</big>
 
|}
 
|}
  
 
FIR un IIR signālu filtri. Šenona diskretizācijas teorēma. Saskaņotā filtrācija.
 
 
Signālu filtrācija frekvenču apgabalā.
 
 
Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam.
 
  
 
|
 
|
* '''KD2'''
 
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 
==== 11.05.20 ====
 
==== 11.05.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''KD2'''</big>
+
|<big>'''FIR un IIR'''</big>
 
|}
 
|}
  
  
Vidus semestra kontroldarbs
+
Rekursīvie filtri. FIR un IIR signālu filtri.
 +
Signālu filtrācija frekvenču apgabalā.
 +
 
 +
Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam.
 +
 
  
'''Reading/Reference''':
+
'''Lasāmviela un resursi''':
Visas kursā apskatītās nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.
+
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters
 +
* [http://www.dspguide.com/CH19.PDF DSPGuide 19. nodaļa] - Recursive filters
 +
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]
  
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 +
 
==== 18.05.20 ====
 
==== 18.05.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Pārskats un atkārtojums.'''</big>
+
|<big>'''KD2! Pārskats un atkārtojums.'''</big>
 
|}
 
|}
  
 +
 +
'''Lasāmviela un resursi''':
 +
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums]
  
 
|
 
|
 +
* '''KD2
 +
* '''8:30''': Vidus semestra kontroldarbs (tiešsaistē no eStudijām)
 +
* Praktisku uzdevumu risināšana ar Octave.
  
|-
+
|- style='vertical-align: top;'
 
|
 
|
 +
 
==== 25.05.20 ====
 
==== 25.05.20 ====
 +
|
 +
{| width='100%' style='background-color:#ddd;'
 +
|<big>'''Kopsavilkums'''</big>
 +
|}
 +
'''Lasāmviela un resursi''':
 +
* Visas līdz šim kursā apskatītās nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.'''
 +
|
 +
|- style='vertical-align: top;'
 +
|
 +
 +
==== 08.06.20 ====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
Line 281: Line 308:
  
  
:Laiks: xx:xx
+
:Laiks: 08:30
:Vieta: 312. auditorija
+
:Vieta: E-studijas un tiešsaiste.
 
 
'''Reading/Reference''':
 
Eksāmens
 
  
 
|
 
|
  
|-
+
|- style='vertical-align: top;'
 
|}
 
|}
  
== Signāli ==
+
=Uzdevumi=
* '''S-1''': [http://failiem.lv/u/flhglcy 1. audio wav fails]
+
====MD1====
* '''S-2''': [http://failiem.lv/u/ikzoaqi 2. audio wav fails]
+
Analizēt nejaušu skaitļu un to summas histogrammu sekojošiem gadījumiem:
* '''S-3''': [http://failiem.lv/u/pidnxjt 3. audio wav fails]
+
# RND
* '''S-4''': [http://failiem.lv/g/lhnxysu bilde]
+
# RND + RND
* '''S-5''': [https://failiem.lv/u/jzr664nu bilde 2]
+
# RND + RND + RND + RND
 +
Pētījumu veikt vismaz 10000 nejaušiem skaitļiem.
 +
Izdarīt secinājumus.
  
== Prakstiskie uzdevumi ==
+
====MD2====
====MD1====
+
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam.  
Ģ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
 
# pastāv viens gadījuma skaitļu avots (to Octave simulē rand() funkcija),  
 
# gadījuma process ir summa no 2 gadījuma skaitļu avotiem,  
 
# 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ā.  
+
Skaņas faili, piemēram:
 +
* [https://www.dropbox.com/s/34ait9wo4b1j1ld/test1.ogg?dl=1 test1.ogg] [https://www.dropbox.com/s/v8wyoidysq94nsh/test1.wav?dl=1 .wav]
 +
* [https://www.dropbox.com/s/n7k971ppe1zfq9o/test2.ogg?dl=1 test2.ogg] [https://www.dropbox.com/s/vpr9dbd7famcjjk/test2.wav?dl=1 .wav]
  
Vēlamā programmēšanas vide: Octave.
+
Darbības plāns:
Iepazīties ar Octave funkciju rand().
+
# Ielasīt audio failu
 +
# Izveidot filtra kodolu lai nofiltrētu augstfrekvenču troksni, "pīķus" signālā, it īpaši paužu laikā
 +
# pielietot šo filtru izmantojot konvolūciju
 +
# uzlikt slieksni filtrētajam audio signālam: pauzes uz 0, pārējais uz 1.
 +
# kombinējot oriģinālo un filtrēto signālus, konstruēt jaunu signālu bez pauzēm.
  
====MD2====
 
Veikt neliela audio faila (dažas sekundes) konvolūciju ar
 
* gausa funkciju,
 
* moving average filtru MAF (kad MAF koeficientu skaits N = 5 un N = 30).
 
Uzrakstīt secinājumus un  iesniegt kā PDF failu.
 
  
====MD3====
 
  
====Uzdevumi treniņam====
+
=Resursi=
* '''Uzd-2''': Izveidot simulatorus: (A) Monētas krišanai pa sazarotu celiņu (tas sakrīt ar šādu [http://www.cut-the-knot.org/Curriculum/Combinatorics/PascalTriangle2.gif 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, moving average filtru MAF (kad MAF koeficientu skaits N = 5 un N = 30), 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 [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 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.
 
* '''Uzd-9''': Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam.
 
* '''Uzd-10''': Izmantojot Octave, konstruēt algoritmu, kas atrod cilvēku sejas attēlā.
 
* '''Uzd-11''': Izmantojot Octave: 1) ielasīt audio failu S-1, 2) pārrēķināt signāla nolases tā, lai tas būtu kvantēts visā signāla diapazonā ar 4 bitiem, 3) saglabāt un atskaņot jauniegūto signālu.
 
* '''Uzd-12''': Izmantojot Octave: 1) izveidot attēlu, kurā redzams jūsu vārda pirmais burts, 2) no iepriekšējā attēla izveidot jaunu, kam fonā būtu cits attēls S-4.
 
* '''Uzd-13''': Izveidot programmu, kas sintezē sinusoīdas signālu ar parametriem: Amplitūda 1.2, Frekvence 5 Hz, Fāze pi/4. Attēlot to uz ekrāna laikā periodā [0 1] (sek.)
 
* '''Uzd-14''': Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam.
 
* '''Uzd-15''': Signālu S-1 pārdiskretizēt ar 0.8 no esošās diskretizācijas frekvences. Abus signālus attēlot grafiski.
 
* '''Uzd-16''': Veikt signālu filtrāciju frekvenču apgabalā. Ar joslas filtru no S-1 izfiltrēt frekvenču apgabalu 0.1 Fs līdz 0.4 Fs (kur Fs ir S-1 diskretizācijas frekvence). Orģinālo signālu un filtrēto signālu attēlot: 1) frekvenču apgabalā, 2) laika apgabalā.
 
* '''Uzd-17''': Implementēt konvolūciju Octave vidē.
 
* '''Uzd-18''': Mainīt iepriekš ģenerētā signāla amplitūdu tā, lai signāla enerģija laika periodā [0 1] (sek.) būtu 1 un tad 1.2 (Normēt signālu pēc tā enerģijas). Attēlot normētos signālus uz ekrāna.
 
* '''Uzd-19''': OCTAVE piemērs:
 
** Fs = 11025; % Definējam diskretizācijas frekvenci
 
** y  = wavrecord(5*Fs, Fs, 'double'); % Ierakstam 5 sekundes skaņas
 
** Fa = 11025; % Definējam ieraksta atskaņošanas frekvenci
 
** sound(y/max(y),Fa); % Atskaņojam ierakstīto
 
** plot(y); % Attēlojam signālu grafiski
 
** Klausīties ierakstu pie vairākām Fa vērtībām. Izdarīt secinājumus!
 
* '''Uzd-20''': Izrēķināt sinusa funkcijas jaudu pie dažādām signāla diskretizācijas frekvencēm fs laika intervālā [0 1 sek.]. Sinusa amplitūda 1.45, frekvence 4 Hz un fāze pi/2. Izdarīt secinājumus.
 
* '''Uzd-21''': Vai pēc diskretizācijas iespējams precīzi noteikt nepārtraukta signāla maksimālo vērtību, izmantojot tikai signāla diskrētās vērtības un papildus tās neapstrādājot? Pamatot atbildi.
 
* '''Uzd-22''': Ģenerēt attēlu (100x120), kas sastāv tikai no melniem vai baltiem pikseļiem. Melnā pikseļa parādīšanās varbūtība 0.7, bet baltā 0.3 Izvadīt attēlu uz datora ekrāna.
 
* '''Uzd-23''': Ielādēt attēlu (jebkādu) OCTAVE vidē. Izvadīt to uz datora ekrāna. Veikt tam 2D konvolūciju ar sekojošām impulsa reakcijām: h1=[ 0 0 0; 0 1 0; 0 0 0 ] un h2=[ 1 1 1; 1 0 1; 1 1 1 ]. Rezultātus izvadīt uz datora ekrāna
 
* '''Uzd-24''': Doti dati: X ass [0  1  2  3  4  5  6  7], Y ass [0    0.6700    3.9237  11.0340  22.9788  40.5927 64.6190  95.7359]. Izrēķināt vērtības pie sekojošām X vērtībām, pieņemot, ka punkti pieder funkcijai, kas ir nepārtraukta: X ass [0    1.3000    2.6000    3.9000    5.2000    6.5000], Y ass = ???
 
* '''Uzd-25''': Izpildīt Octave kodu: C( : , : , 1 )=[1 0]; C( : , : , 2 )=[1 0]; C( : , : , 3 )=[1 0]; image( C ) un veikt attēla C filtrāciju ar Gausa filtru.
 
  
 
== Kursa materiāli ==
 
== Kursa materiāli ==
 
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē
 
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē
 +
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card]
 +
 +
 
* [http://failiem.lv/u/suipzqt Kompleksie skaitļi DSP]
 
* [http://failiem.lv/u/suipzqt Kompleksie skaitļi DSP]
 
* [http://failiem.lv/u/njjfvyx Kalmana filtrs]
 
* [http://failiem.lv/u/njjfvyx Kalmana filtrs]
<!-- * [http://failiem.lv/down.php?i=xigtwaj&n=dft.m DFT]  -->
+
* [http://failiem.lv/down.php?i=xigtwaj&n=dft.m DFT]
 
 
* [http://folk.ntnu.no/joern/itgk/refcard-a4.pdf Octave reference card]
 
  
== Papildus resursi ==
 
  
 
==== Furjē transformācija ====
 
==== Furjē transformācija ====
Line 373: Line 360:
  
 
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm]
 
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm]
 +
 +
* [https://www.mathworks.com/help/matlab/ref/fft.html FFT pipemērs Matlab sistēmā]
 +
* [https://upload.wikimedia.org/wikiversity/en/d/dd/Octave.DFT.1.B.FFT.20170706.pdf FFT piemērs Octave sistēmā]
 +
 +
==== FIR & IIR ====
 +
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]
  
 
==== Citi resursi ====
 
==== Citi resursi ====
Line 379: Line 372:
 
* [https://brilliant.org/wiki/linear-time-invariant-systems/ Lineāras laika invariantas sistēmas] @Brilliant wiki
 
* [https://brilliant.org/wiki/linear-time-invariant-systems/ Lineāras laika invariantas sistēmas] @Brilliant wiki
 
* [https://youtu.be/zMkXxI63_Og Laika invariantas sistēmas] - videolekcija ar pierādījumu piemēriem.
 
* [https://youtu.be/zMkXxI63_Og Laika invariantas sistēmas] - videolekcija ar pierādījumu piemēriem.
 +
 +
* [https://setosa.io/ev/image-kernels/ Attēlu filtru kodoli] - vizuāls skaidrojums

Revision as of 17:01, 21 May 2020

Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena: 28.03.20 : Rītdiena: 29.03.20 (ja ir lekcija)

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

LU DF bakalauru kurss.

  • Pasniedzējs Leo Seļāvo [vards.uzvards @gmail.com].

Mērķi

  • Iepazīties ar Digitālās Signālu Apstrādes pielietojumiem un principiem. Praktiskas darbības ar signālu apstrādi. Sistēmu Matlab un Octave iepazīšana un programmēšana tajās.

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 darbi un citi iesniedzamie darbi

  • Iesniegšanas termiņa laiks ir 30 minūtes pirms nākamās lekcijas sākuma, ja netiek noteikts cits termiņš.
  • Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, pasniedzējs darbu var nepieņemt.
  • Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids.
  • Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: DSP_MD2_Vards_Uzvards.pdf
  • Ja iesniedzami vairāk par vienu failu, tie 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.

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ā


Kalendārs

Datums Tēma, saturs Uzdevumi

03.02.20

Digitālā signālu apstrāde, ievads.


DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.

Lasāmviela un resursi:

10.02.20

Statistika, varbūtība, trokšņi un gadījumsignāli


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.).

Lasāmviela un resursi:

17.02.20

Lineāras sistēmas un signālu klasifikācija


Signālu klasifikācija 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.).

Apskatam sitēmas f(x)=2*x, g(x)=x+5 un m(x)=x*x. Pārbaudam vai tās ir lineāras sistēmas.

Lasāmviela un resursi:

24.02.20

Konvolūcija


Konvolūcija un tās īpašības

Lasāmviela un resursi:

02.03.20

Matlab un Octave


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

  • M-valoda darbam ar OCTAVE datu apstrādes sistēmām: sudo apt install octave
  • Octave grafiskā redaktora palaišana Ubuntu terminālī: octave vai octave-cli

09.03.20

KD1


Vidus semestra kontroldarbs KD-1.
Gadījuma skaitļu masīvs 1x2000

Lasāmviela un resursi:

  • KD1

16.03.20

Ievads digitālajos filtros, Moving average filtrs


LEKCIJAS TIEŠSAISTĒ (sīkāk estudiju forumā)

Digitālie filtri, kustīgā vidējā (moving average) filtrs.

Lasāmviela un resursi:

23.03.20

Prakse ar Octave


Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam.

30.03.20

Audio signāli


Audio uztvere in apstrāde

Lasāmviela un resursi:

20.04.20

Attēlu signāli


Attēlu uztvere un apstrāde

Lasāmviela un resursi:

27.04.20

Furjē transformācija. Diskrētā Furjē transformācija


Video materiāls

Lasāmviela un resursi:

04.05.20

'Brīvdiena'


11.05.20

FIR un IIR


Rekursīvie filtri. FIR un IIR signālu filtri. Signālu filtrācija frekvenču apgabalā.

Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam.


Lasāmviela un resursi:

18.05.20

KD2! Pārskats un atkārtojums.


Lasāmviela un resursi:

  • KD2
  • 8:30: Vidus semestra kontroldarbs (tiešsaistē no eStudijām)
  • Praktisku uzdevumu risināšana ar Octave.

25.05.20

Kopsavilkums

Lasāmviela un resursi:

08.06.20

Eksāmens


Laiks: 08:30
Vieta: E-studijas un tiešsaiste.

Uzdevumi

MD1

Analizēt nejaušu skaitļu un to summas histogrammu sekojošiem gadījumiem:

  1. RND
  2. RND + RND
  3. RND + RND + RND + RND

Pētījumu veikt vismaz 10000 nejaušiem skaitļiem. Izdarīt secinājumus.

MD2

Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam.

Skaņas faili, piemēram:

Darbības plāns:

  1. Ielasīt audio failu
  2. Izveidot filtra kodolu lai nofiltrētu augstfrekvenču troksni, "pīķus" signālā, it īpaši paužu laikā
  3. pielietot šo filtru izmantojot konvolūciju
  4. uzlikt slieksni filtrētajam audio signālam: pauzes uz 0, pārējais uz 1.
  5. kombinējot oriģinālo un filtrēto signālus, konstruēt jaunu signālu bez pauzēm.


Resursi

Kursa materiāli



Furjē transformācija

FIR & IIR

Citi resursi